Selectools: Khi các framework AI Agent hiện tại không còn đáp ứng nhu cầu thực tế

07 tháng 4, 2026·4 phút đọc

Tác giả đã xây dựng Selectools như một giải pháp thay thế cho các framework AI Agent phức tạp hiện nay như LangChain. Selectools tập trung vào sự đơn giản, khả năng theo dõi (tracing) miễn phí, bảo mật tích hợp sẵn và khả năng triển khai nhanh chóng bằng một dòng lệnh.

Selectools: Khi các framework AI Agent hiện tại không còn đáp ứng nhu cầu thực tế

Mọi framework AI agent hiện nay đều đưa ra một lời hứa giống nhau: "kết nối LLM của bạn với các công cụ và bắt đầu chạy". Nhưng khi bạn thực sự bắt đầu xây dựng, mọi chuyện lại khác biệt.

Bạn sẽ phát hiện ra rằng LangChain cần đến 5 gói thư viện để làm một việc lẽ ra chỉ cần 1. Toán tử | trong LCEL che giấu một giao thức Runnable làm hỏng trình gỡ lỗi (debugger) của bạn. LangSmith lại thu phí để bạn xem chính mã nguồn của mình đang hoạt động ra sao. Hoặc khi đồ thị agent của bạn tạm dừng để nhập liệu từ con người, LangGraph sẽ khởi động lại toàn bộ nút (node) từ đầu.

Tôi đã gặp phải tất cả những vấn đề này trong công việc. Chúng tôi xây dựng các AI agent cho người dùng thực, không phải cho bản demo hay nguyên mẫu, mà là các hệ thống sản xuất xử lý các yêu cầu thực tế từ khách hàng. Các framework hiện tại dường như không được xây dựng cho mục đích này.

Vì vậy, tôi đã xây dựng Selectools.

Những gì thực sự cần thiết

  1. Gọi công cụ (Tool calling) hoạt động trơn tru. Chỉ cần định nghĩa một hàm, LLM sẽ gọi nó. Không cần các lớp adapter, không cần thao tác schema phức tạp. Hoạt động giống nhau trên OpenAI, Anthropic, Gemini và Ollama.
  2. Traces (dấu vết) mà không cần SaaS. Mọi lệnh gọi run() cần cho tôi biết chính xác điều gì đã xảy ra, công cụ nào được gọi, tại sao, mỗi bước mất bao lâu, tốn bao nhiêu chi phí. Thay vì "đăng ký nền tảng của chúng tôi để xem nhật ký của chính bạn".
  3. Guardrails (Rào chắn) đi kèm với agent. Phát hiện PII, phòng thủ injection, chặn chủ đề, cấu hình một lần và thực thi ở khắp mọi nơi. Không phải là một gói riêng biệt để đánh giá.
  4. Điều phối đa agent bằng Python thuần túy. Khi tôi cần 3 agent cộng tác, tôi muốn các hàm định tuyến (routing) bằng Python. Không phải DSL cho đồ thị trạng thái, không phải bước biên dịch, không phải kênh Pregel.
  5. Một lệnh để triển khai. selectools serve agent.yaml cung cấp các endpoint HTTP, luồng SSE và sân chơi chat. Không phải "cài đặt FastAPI, tạo ứng dụng, thêm route, cấu hình CORS, xử lý SSE...".

Diện mạo của Selectools hiện nay

Một pipeline 3 agent chỉ gói gọn trong một dòng:

result = AgentGraph.chain(planner, writer, reviewer).run("Write a blog post")

Một pipeline có thể kết hợp sử dụng | trên các hàm thông thường:

pipeline = summarize | translate | format
result = pipeline.run("Long article text...")

Tính năng Human-in-the-loop (con người trong vòng lặp) sẽ tạm dừng tại điểm yield và tiếp tục từ đó:

async def review(state):
    analysis = await expensive_work(state)  # chạy một lần, không phải hai lần
    decision = yield InterruptRequest(prompt="Approve?")
    state.data["approved"] = decision == "yes"

Triển khai với một lệnh duy nhất:

selectools serve agent.yaml

Những con số biết nói

  • 4.612 bài kiểm thử với độ phủ 95% trên Python 3.9-3.13.
  • 9 lỗi bảo mật nghiêm trọng được khắc phục trong cuộc kiểm toán trước khi ra mắt (săn lỗi song song 5 agent, tổng cộng 56 phát hiện).
  • 44 tài liệu mô-đun tương tác với các ví dụ có thể chạy, huy hiệu ổn định và nút Copy Markdown.
  • 40 đánh giá API thực tế chống lại OpenAI, Anthropic và Gemini.
  • 76 ví dụ có thể chạy.
  • 50 trình đánh giá tích hợp sẵn (không cần dịch vụ trả phí).
  • 152 định nghĩa mô hình với dữ liệu định giá.
  • Giấy phép Apache-2.0.

Cột mốc mới nhất: Trình xây dựng Agent trực quan

Bổ sung mới nhất là một trình xây dựng agent trực quan chạy hoàn toàn trên trình duyệt của bạn. Kéo và thả các nút, kết nối các cạnh, cấu hình mô hình và công cụ, sau đó xuất sang YAML hoặc Python. Nó được triển khai trên GitHub Pages tại https://selectools.dev/builder/ mà không cần cài đặt gì cả. Không có ứng dụng máy tính để bàn trả phí, không có đăng ký. Chỉ cần mở URL và bắt đầu xây dựng.

Lời khuyên chân thành

Selectools nhỏ hơn LangChain. Cộng đồng còn non trẻ. Nếu bạn cần 50 tích hợp và một nền tảng được quản lý ngay hôm nay, LangChain là lựa chọn an toàn hơn.

Tuy nhiên, nếu bạn muốn một thư viện không làm phiền bạn, nơi định tuyến là một hàm Python, lỗi là các traceback của Python, và bạn không cần dịch vụ trả phí để xem agent của mình đã làm gì, hãy thử trải nghiệm nó.

pip install selectools
Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗