Product Management
Đăng nhập
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Bài 3 — Nhóm pro-code: LangGraph, CrewAI, AutoGen, OpenAI Agents SDK và Anthropic tool use

Đã đọc 0/7 mục · còn khoảng 3 phút
Cách chúng tôi ghi nhận

Một mục được tính là đã đọc khi nó nằm giữa màn hình đủ lâu so với độ dài của nó (bảng và sơ đồ tính một nửa), bạn vẫn đang cuộn hoặc bấm phím, và bạn đã thấy tới cuối mục. Lướt nhanh hoặc để tab mở không được tính. Chúng tôi chỉ lưu thời gian đọc từng mục — không lưu gì khác.

Khi bài toán cần suy luận nhiều bước, kiểm soát chặt, hoặc tích hợp sâu vào hệ thống backend, bạn bước vào thế giới pro-code. Ở đây bạn viết Python (đa số), đổi lại là quyền kiểm soát gần như tuyệt đối.

Bản chất từng công cụ

  • Anthropic tool use (và OpenAI function calling): đây là nền tảng gốc, không phải framework. Bạn tự gọi API model, định nghĩa tool bằng JSON schema, tự viết vòng lặp "gọi model → model xin gọi tool → bạn chạy tool → trả kết quả về". Kiểm soát tối đa, ít phụ thuộc, nhưng bạn tự lo mọi thứ.
  • OpenAI Agents SDK: lớp mỏng chính thống bọc quanh function calling, thêm khái niệm agent, handoff, guardrails, tracing. Gọn, ít "magic", tốt khi bạn ở hệ OpenAI.
  • LangGraph: mô hình hóa agent thành đồ thị trạng thái (state graph) — node, edge, điều kiện. Kiểm soát luồng và state cao nhất, hỗ trợ persistence, human-in-the-loop, checkpoint. Học hơi dốc.
  • CrewAI: multi-agent theo vai trò (role) — bạn tạo các "nhân viên" (researcher, writer...) có mục tiêu, giao task, chúng phối hợp. Trực quan cho bài toán chia vai.
  • AutoGen: multi-agent theo hội thoại — các agent nói chuyện với nhau để giải quyết vấn đề, mạnh về mô phỏng và bài toán nghiên cứu/coding cộng tác.
Điều quan trọng cần thấm: tất cả các framework này đều bọc quanh cùng một thứ — vòng lặp "gọi model → model xin gọi tool → chạy tool → trả kết quả về → lặp lại". Anthropic tool use và function calling chính là lớp gốc đó. LangGraph thêm state và đồ thị; CrewAI thêm khái niệm vai trò; AutoGen thêm hội thoại giữa nhiều agent; OpenAI Agents SDK thêm handoff và guardrails. Khi bạn hiểu vòng lặp gốc, bạn sẽ chọn framework không phải vì nó "nghe pro", mà vì nó giải quyết đúng một loại phức tạp cụ thể mà bạn không muốn tự viết lại. Nếu bài toán không có loại phức tạp đó, framework chỉ là gánh nặng phụ thuộc.

So sánh theo mục đích

Nhu cầuNên chọn
Kiểm soát tối đa, phụ thuộc tối thiểuAnthropic tool use
Agent đơn, ở hệ OpenAI, muốn gọnOpenAI Agents SDK
Luồng phức tạp, cần state/checkpoint/human-in-loopLangGraph
Chia việc theo vai trò rõ ràngCrewAI
Nhiều agent thảo luận, R&DAutoGen

Ví dụ tool use thuần (Anthropic)

tools = [{
  "name": "get_order",
  "description": "Tra cứu đơn hàng theo mã",
  "input_schema": {
    "type": "object",
    "properties": {"order_id": {"type": "string"}},
    "required": ["order_id"]
  }
}]

# Vòng lặp: gọi model -> nếu stop_reason == 'tool_use' -> chạy hàm thật
# -> gửi kết quả (tool_result) trở lại -> lặp tới khi model trả lời cuối.

Điểm mấu chốt: framework chỉ giúp bạn khỏi viết lại vòng lặp này. Nếu bài toán đơn giản, viết tay tool use còn ít rủi ro hơn kéo theo cả một framework nặng.

Các bước chọn trong nhóm pro-code

  • Xác định số lượng agent: một agent → tool use / OpenAI SDK; nhiều agent → CrewAI/AutoGen; luồng có nhánh và state → LangGraph.
  • Xác định độ ưu tiên: kiểm soát tối đa (tool use) hay tốc độ phát triển (framework)?
  • Xét khóa nhà cung cấp (vendor lock-in): muốn đổi model dễ → tránh SDK gắn chặt một hãng.
  • Đánh giá nhu cầu production: cần persistence/observability → LangGraph hoặc SDK có tracing.
  • Viết prototype 1 tác vụ để cảm nhận độ dốc học tập.

Khung tư duy

> Ít phụ thuộc + kiểm soát tối đa = tool use. Một agent gọn = OpenAI SDK. Luồng-state phức tạp = LangGraph. Nhiều vai/hội thoại = CrewAI/AutoGen.

Sai lầm thường gặp

  • Dùng multi-agent khi một agent là đủ: CrewAI/AutoGen cho bài toán đơn khiến hệ thống tốn token, khó debug và chậm.
  • Bỏ qua tool use thuần: nhiều bài toán chỉ cần một vòng lặp function calling; kéo cả framework vào là gánh nặng thừa.
  • Chọn LangGraph vì "nghe pro": nếu không cần state/branch phức tạp, độ dốc học tập không đáng.
  • Khóa chặt một vendor: viết logic dính cứng vào SDK của một hãng, sau này đổi model rất khổ.
Học xong bài này rồi? Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu, và học hết khóa thì có chứng chỉ. Lưu tiến độ của tôi