Framework DeepAgents của LangChain
(blog.langchain.com)- Các tác nhân dựa trên LLM trước đây thường có cấu trúc 'tác nhân nông (shallow agent)' chỉ lặp lại việc gọi công cụ, trong khi Deep Agents là tác nhân AI có tính lập kế hoạch và cấu trúc, có thể giải quyết sâu các nhiệm vụ phức tạp và dài hạn
- Các tác nhân mới như Deep Research, Manus, Claude Code hiện thực hóa 'tác nhân sâu' có khả năng khám phá chủ đề sâu hơn và quản lý ngữ cảnh tốt hơn
- Prompt hệ thống chi tiết, công cụ lập kế hoạch, tác nhân con, và việc tận dụng hệ thống tệp là cốt lõi của 'tác nhân sâu'
- LangChain phát hành gói mã nguồn mở
deepagentsđể bất kỳ ai cũng có thể dễ dàng tạo deep agent phù hợp với vertical (miền/domain) của riêng mình- Có thể thiết lập prompt, công cụ và tác nhân con tùy chỉnh, đồng thời cung cấp một framework đa dụng có thể ứng dụng trong nhiều lĩnh vực như nghiên cứu và phát triển
Giới hạn của các tác nhân LLM trước đây và đặc điểm của Deep Agents
- Tác nhân truyền thống: LLM chạy theo vòng lặp và chỉ gọi công cụ → chỉ phù hợp với ngữ cảnh ngắn, tác vụ ngắn hạn và đơn giản
- Deep Agents: có thể tự phân rã, lập kế hoạch, theo dõi và phối hợp cho cả mục tiêu dài hạn lẫn tác vụ phức tạp
4 thành phần cấu thành Deep Agents
-
Prompt hệ thống chi tiết
- Giống như các ví dụ tiêu biểu như Claude Code, sử dụng prompt mô tả chi tiết cách dùng công cụ/các ví dụ hành vi
- Dùng chỉ dẫn phức tạp và ví dụ few-shot để thúc đẩy tư duy và thực thi 'sâu' hơn
-
Công cụ lập kế hoạch (Planning)
- Ngay cả khi không có chức năng thực sự, việc đưa công cụ lập kế hoạch như 'danh sách việc cần làm' vào quy trình vẫn giúp quản lý ngữ cảnh và duy trì năng lực thực thi
- Dù là no-op (không thực hiện hành động nào), nó vẫn có tác dụng cung cấp ngữ cảnh trong prompt
-
Tác nhân con (Sub Agents)
- Tạo và phân chia tác nhân con theo từng tác vụ nhỏ, mỗi tác nhân xử lý độc lập rồi hợp nhất kết quả
- Ngay cả các vấn đề lớn/quá phức tạp cũng có thể được xử lý theo cấu trúc song song và phân công
-
Hệ thống tệp
- Không chỉ dùng cho thao tác tệp thực tế mà còn được tận dụng như kho ghi chú và lưu trữ ngữ cảnh
- Nhiều tác nhân/tác nhân con có thể chia sẻ hệ thống tệp để cộng tác và duy trì ngữ cảnh dài hạn
Framework Deep Agents của LangChain: deepagents
- Gói Python mã nguồn mở (
pip install deepagents), cho phép cấu hình prompt, công cụ và tác nhân con tùy chỉnh- Prompt hệ thống lấy cảm hứng từ Claude Code, đã được chỉnh sửa để tổng quát hơn
- Công cụ lập kế hoạch danh sách ToDo dạng no-op (giống Claude Code)
- Có thể tạo tác nhân con và chỉ định tùy chỉnh
- Hệ thống tệp ảo dùng khái niệm LangGraph (sử dụng trạng thái tác nhân)
- Cung cấp mẫu deep research agent làm ví dụ, giúp dễ dàng xây dựng các tác nhân chuyên biệt theo vertical
Ví dụ ứng dụng và giá trị
- Tối ưu cho các tác vụ AI dài hạn và phức hợp như nghiên cứu/phát triển, sinh mã, nghiên cứu, tự động hóa phức tạp
- Có thể tạo ra kết quả chuyên sâu nhờ thiết kế ngữ cảnh chi tiết và cấu trúc phân công công việc
- Bất kỳ ai cũng có thể xây dựng 'deep agent' phù hợp với miền của mình — gợi mở giai đoạn tiếp theo trong việc ứng dụng AI
1 bình luận
Ý kiến trên Hacker News
Tôi là tác giả. Gần đây tôi thấy khá ấn tượng với việc một loạt agent như claude code, manus, deep research đặc biệt làm tốt các tác vụ kéo dài trên khung thời gian dài. Về bản chất, bên trong là LLM lặp vòng và gọi tool. Nhưng nếu làm như vậy một cách ngây thơ thì sẽ phát sinh vấn đề là LLM không xử lý tốt các tác vụ dài hoặc phức tạp. Vì thế tôi bắt đầu tò mò không biết các agent khác giải quyết việc này như thế nào. Điểm chung tôi tìm ra là như sau. 1) dùng tool lập kế hoạch 2) dùng sub-agent 3) dùng cấu trúc offload context kiểu như file system 4) thiết kế system prompt chi tiết (prompt engineering vẫn rất quan trọng) Mỗi thứ riêng lẻ đều là cách làm đã có từ trước, nhưng đây không phải những cách thường được dùng rộng rãi khi thật sự phát triển agent. Tôi nghĩ chính tổ hợp này mới là insight quan trọng. Rất mong nhận được phản hồi
Sau khi nghĩ thêm về nhiều ý kiến khác nhau, tôi đồng ý rằng khái niệm deep agents rốt cuộc cũng không khác biệt quá nhiều so với tổ hợp agent + tool. Theo quan điểm của tôi, các điểm cốt lõi là như sau. 1) kiến thức nền tảng đòi hỏi phải dùng LLM tốt 2) prompt để dẫn dắt LLM cho đúng rất quan trọng (để biến nó thành agent) 3) các chức năng không cần phán đoán riêng thì nên triển khai bằng tool 4) khi flow agent+tool trở nên phức tạp, hãy tách nó thành các sub-agent theo từng domain, với prompt tập trung hơn và số lượng tool ít hơn
Tôi nghĩ deep agents = agent có thêm lập kế hoạch + tổ hợp tool cho agent, nên rốt cuộc cũng giống các agent trước đây. Tôi thấy tiếc vì LangChain dường như luôn gói ghém cả những khái niệm đơn giản theo cách phức tạp, rồi tạo ra thuật ngữ hay khái niệm mới không cần thiết để quảng bá. Dĩ nhiên, nếu muốn bán LangSmith nhiều hơn thì có lẽ cũng không tránh khỏi
Kết quả này khá giống với điều tôi kỳ vọng. Giờ đã rõ là việc tự viết MCP server không còn quá hiệu quả, nên ai cũng cần một cách mới để nhanh chóng bắt kịp xu hướng. Tự làm agent như gemini hay claude code đang là trào lưu gần đây. Rào cản gia nhập thấp, có mức độ hữu ích nhất định, không cần chuyên môn AI quá sâu, lại dễ quảng bá. Nó giống kiểu “cursor for X”, nhưng còn có thể đưa thành sản phẩm nhanh hơn nữa. Có lẽ sẽ xuất hiện cực nhiều coding agent được tạo theo cách này, nhưng đến lúc này tôi vẫn chưa thấy cảm giác thực sự mới mẻ lắm. Dù vậy, tôi vẫn nhìn tích cực ở chỗ nếu có thể bắt đầu nhanh đến thế thì giá trị của những bản clone claude code làm theo trực giác rồi cũng sẽ sớm tiệm cận 0
Tôi đang tiếp tục lần theo và phân tích code của repo này https://github.com/ghuntley/claude-code-source-code-deobfuscation Tác giả reverse engineering Claude Code và giải thích kiến trúc của nó khá tốt. Tôi đã đổi liên kết sang repo tốt hơn
Tôi đang làm một agent cli+library đa dụng bằng rust: https://github.com/fdietze/alors Vẫn còn ở giai đoạn phát triển ban đầu, nhưng tôi đã dùng chính nó để phát triển nó rồi. Rất mong nhận được phản hồi
Theo tôi thì Junie của Jetbrains là bên đầu tiên viết ra tính năng to do list chất lượng rất cao, và đó là thứ tôi thích nhất. Từ khi chuyển sang trả phí thì tôi không dùng nữa, nhưng khi đó Junie chậm và cẩn trọng. Cursor thì cứ liên tục ghi đè cả những file không có vấn đề, còn Claude cho cảm giác ở đâu đó ở giữa
tasks.md. Tool ngày càng nhiều nên giờ chỉ cần chọn cái hợp với mình mà dùngPhần thú vị nhất lại bị ẩn hoàn toàn. Mấu chốt là họ quản lý tool call từ khâu parsing đến thực thi như thế nào
Việc tách context bằng sub-agent mới là điểm đổi mới thực sự. Còn lại chỉ là langgraph react agent
Tôi muốn biết thêm về phần todo list tool là no-op. Cụ thể nó hoạt động thế nào?