Keenable SELECT: Trình đại lý AI tìm kiếm web bằng ngôn ngữ SQL
Keenable SELECT là một MCP server cho phép các tác nhân AI thực hiện tìm kiếm web thông qua các câu lệnh SQL, thay vì phải đọc từng trang kết quả. Công cụ này tối ưu hóa chi phí token bằng cách xử lý hàng nghìn trang web với bộ lọc SQL chính xác, chỉ dùng LLM cho các bước trích xuất cần thiết. Bài viết giới thiệu cách hoạt động, kiến trúc và tiềm năng ứng dụng của công cụ này.

Keenable SELECT: Khi AI tìm kiếm web bằng ngôn ngữ SQL
Trong bối cảnh các tác nhân AI (AI agent) ngày càng phổ biến, việc tìm kiếm thông tin trên web vẫn là một bài toán tốn kém về tài nguyên và token. Keenable SELECT — một MCP server mới — đưa ra cách tiếp cận hoàn toàn khác: thay vì để AI đọc từng trang kết quả, công cụ này cho phép thực hiện các truy vấn tìm kiếm trực tiếp bằng câu lệnh SQL trên dữ liệu web trực tiếp.
Với Keenable SELECT, một truy vấn duy nhất có thể quét hơn 1.000 trang web, lọc dữ liệu bằng mệnh đề WHERE mà không tiêu tốn chi phí LLM, sau đó chỉ dùng mô hình ngôn ngữ nhỏ cho bước trích xuất thông tin. Đây là bước tiến đáng chú ý trong việc giảm chi phí vận hành cho các hệ thống AI nghiên cứu và tổng hợp dữ liệu.
Cách hoạt động của Keenable SELECT
Về bản chất, Keenable SELECT là một MCP server (Model Context Protocol) với một công cụ chính duy nhất: select. Công cụ này thực thi một câu lệnh DuckDB SELECT (chỉ đọc) trên dữ liệu web trực tiếp.
Điểm đặc biệt nằm ở kiến trúc xử lý:
- Server chạy các toán tử tìm kiếm web và ngữ nghĩa bên ngoài DuckDB
- Kết quả từ các toán tử này được đưa trở lại vào tập dòng dữ liệu
- Sau đó, câu lệnh SQL cuối cùng mới được thực thi trong DuckDB
Người dùng có thể viết các câu lệnh SQL quen thuộc, chẳng hạn như:
SELECT researcher, lab_from, lab_to, month
FROM WEB_SEARCH('AI researchers moved labs since 2025')
WHERE month > '2025-01'
Các toán tử như WEB_SEARCH hay WEB_FETCH nằm ngay trong cú pháp SQL. Server sẽ tìm chúng trong câu lệnh đã phân tích, thực thi riêng, rồi thay thế bằng các cột dữ liệu thông thường. Điều quan trọng là các bộ lọc SQL chính xác được chạy trước, nên chỉ những dòng dữ liệu sống sót mới được chuyển đến các toán tử LLM — giảm thiểu đáng kể chi phí token.
So sánh với cách tìm kiếm truyền thống
Một tìm kiếm web thông thường cung cấp cho agent khoảng 10 liên kết. Agent phải đọc từng trang và xây dựng câu trả lời từ số token tốn kém. Với SELECT, công việc này được chuyển vào trong câu truy vấn: một lần gọi có thể quét hơn 1.000 trang, lọc chính xác bằng mệnh đề WHERE (không tốn chi phí LLM), trích xuất các trường dữ liệu với một lần gọi LLM nhỏ cho mỗi dòng, rồi nhóm dữ liệu lại.
Đặc biệt, WEB_SEARCH và WEB_FETCH có thể chạy theo từng dòng dữ liệu. Các tham số của chúng có thể sử dụng giá trị từ các cột, ví dụ: WEB_SEARCH(name || ' founding year'). Điều này mở ra khả năng truy vấn dữ liệu động, phức tạp mà vẫn giữ được sự linh hoạt của SQL.
Ứng dụng thực tế trong báo cáo nghiên cứu
Trang giới thiệu của Keenable SELECT trưng bày nhiều báo cáo nghiên cứu được xây dựng hoàn toàn tự động bởi hai tác nhân AI:
- Research agent: Sử dụng MCP server để thu thập dữ liệu, tự viết và chạy truy vấn cho đến khi có câu trả lời. Mỗi bước gọi công cụ, kết quả và câu trả lời đều được phát trực tiếp dưới dạng sự kiện.
- Report agent: Chạy bên trong
generate_html_reporttrên server, nhận thông tin tóm tắt, các tập dữ liệu kết quả và hướng dẫn biên tập. Agent xây dựng trang HTML trong môi trường Python sandbox, nơi dữ liệu được giữ dưới dạng dataframe — đảm bảo số liệu chuyển đến trang mà không cần mô hình gõ lại.
Sau mỗi lần xuất bản thử, server hiển thị bản nháp, trả về ảnh chụp màn hình và số lỗi JavaScript; agent sẽ sửa chữa và xuất bản lại trong một ngân sách cố định. Chỉ bản cuối cùng mới được công khai dưới dạng liên kết.
Minh họa báo cáo nghiên cứu do AI tạo
Một ví dụ điển hình từ bộ sưu tập: báo cáo về những nhà nghiên cứu AI đã chuyển công tác giữa các phòng thí nghiệm lớn từ năm 2025 — bao gồm tên nhà nghiên cứu, phòng thí nghiệm cũ, nơi đến và thời điểm. Toàn bộ dữ liệu được truy vấn, lọc và tổng hợp trong một phiên làm việc duy nhất.
Tiềm năng và hạn chế
Keenable SELECT cho thấy một hướng đi thú vị: kết hợp sức mạnh của SQL với khả năng ngữ nghĩa của LLM. Với các nhà phát triển và nhà nghiên cứu tại Việt Nam đang xây dựng hệ thống AI agent, mô hình này có thể giúp:
- Giảm chi phí vận hành khi phải thu thập dữ liệu quy mô lớn
- Tăng tốc độ phản hồi nhờ giảm số lần gọi LLM
- Có được độ chính xác cao hơn nhờ các bộ lọc SQL có thể kiểm soát
Tuy nhiên, công cụ vẫn ở giai đoạn đầu và được phân phối qua Hacker News với ít bình luận. Người dùng cần tự đánh giá khả năng mở rộng, độ ổn định của các toán tử tìm kiếm web, cũng như cách xử lý các trang web động (JavaScript-heavy) hoặc yêu cầu xác thực.
Kết luận
Keenable SELECT không chỉ là một công cụ kỹ thuật, mà còn là một ví dụ về cách tư duy lại quy trình làm việc của AI: thay vì bắt LLM "đọc" mọi thứ, hãy để cơ sở dữ liệu và ngôn ngữ truy vấn làm phần việc nặng nhọc. Với cộng đồng AI đang phát triển mạnh tại Việt Nam, những ý tưởng như thế này chắc chắn sẽ truyền cảm hứng cho các dự án ứng dụng thực tế trong tương lai.


