Tổng quan
AI Agents/ LLM Agents là các thuật ngữ dường như đã trở nên rất phổ biến nhưng cho đến thời điểm hiện tại nhưng để hiểu rõ khái niệm, có khả năng phân biệt những khái niệm bên trong, phân biệt giữa LLM truyền thống (vanilla LLM) và nó cũng là vấn đề nhức đầu, vì thế chúng ta cùng dành chút thời gian để bóc tách, tìm hiểu hết về nó nhé.
- Để hiểu về AI Agents (theo ngôn ngữ Tiếng Việt, các tác nhân AI) là những hệ thống tự động kết hợp khả năng ra quyết định (decision-making) và định hướng hành động (action-oriented) của các frameworks tự động hóa lấy sức mạnh xử lý ngôn ngữ tự nhiên và khả năng hiểu ngôn ngữ sâu sắc của các mô hình ngôn ngữ lớn (LLMs). LLM đóng vai trò như "bộ não" trong agent, giúp diễn giải ngôn ngữ (interpreting language), tạo phản hồi (generate responses), và lập kế hoạch nhiệm vụ (planning tasks), trong khi Agent framework cho phép thực hiện các nhiệm vụ này trong một môi trường (environment) được xác định trước, tức là Agent framework đóng vai trò đảm bảo rằng các nhiệm vụ được hoàn thành một cách hiệu quả trong giới hạn hoặc bối cảnh đã được định trước. Sự kết hợp này cho phép các agents tham gia vào các quy trình làm việc có định hướng mục tiêu (goal-oriented workflows), trong đó LLMs đóng vai trò chiến lược, khả năng giải quyết vấn đề (problem-solving) và khả năng thích ứng (adaptability) để đạt được kết quả (outcomes) mà tối ưu hóa sự can thiệp của con người.
- Agent framework là một hệ thống hoặc nền tảng (framework) dùng để xây dựng và triển khai vận hành các tác nhân AI (AI agents). Đây không phải là một "framework agent" đơn lẻ, mà chúng ta hiểu nó trong ngữ cảnh này là một khái niệm mô tả các công cụ (tools), thư viện (libraries), hoặc kiến trúc hỗ trợ các tác nhân AI. Trong ngữ cảnh của LLM agents, các agent này thường dựa trên các mô hình ngôn ngữ lớn (LLMs) như GPT-4o, ..., nhằm thực hiện các nhiệm vụ tự động thông qua tương tác ngôn ngữ tự nhiên. Một số Agent framework mà chúng ta có thể biết tới như: LangChain, AutoGPT, AgentVerse, CrewAI, ...
- Goal-oriented workflows tức là tạo ra một quy trình làm việc tập trung vào mục tiêu cụ thể, các tác nhân (agents) thực hiện các nhiệm vụ theo một chuỗi hành động được thiết kế để đạt đến một mục tiêu cụ thể.
- Ví dụ minh họa
- Giải sử mục tiêu là trả lời câu hỏi của khách hàng, agent sẽ:
-
- Hiểu câu hỏi của người dùng (dùng LLM để phân tích).
-
- Tìm kiếm thông tin cần thiết (sử dụng các công cụ tra cứu).
-
- Tổng hợp và đưa ra phản hồi.
-
- Giả sử mục tiêu là đặt lịch hẹn, workflow sẽ bao gồm:
-
- Hiểu thời gian và yêu cầu của người dùng.
-
- Kiểm tra lịch trống.
-
- Gửi lời mời hoặc thông báo xác nhận.
-
- Giải sử mục tiêu là trả lời câu hỏi của khách hàng, agent sẽ:
- Ví dụ minh họa
- AI Agents sẽ tận dụng LLMs như là một bộ máy xử lý/ lý luận trung tâm, giúp tạo điều kiện cho việc ra quyết định theo thời gian thực (real-time), ưu tiên nhiệm vụ, và thích ứng linh hoạt. Trong thực tế, một AI agent hoạt động theo một chu trình:
-
- LLM phân tích thông tin đầu vào;
-
- Xây dựng kế hoạch hành động (actionable plan);
-
- Phối hợp các hệ thống mô-đun, chẳng hạn như API, Web tools, Embedde sensors, ... để thực thi các bước cụ thể.
-
- Trong suốt quá trình này, LLM có thể duy trì ngữ cảnh và lặp lại quy trình, điểu chỉnh hành động (actions) dựa trên phản hồi (feedbacks) từ môi trường của agent hoặc kết quả (outcomes) từ các bước (steps) trước đó. Hệ thống tích hợp này cho phép AI Agents giải quyết các nhiệm vụ phức tạp, nhiều giai đoạn (multi-phase) với mức độ phức tạp, tinh vi ngày càng cao, thúc đẩy ứng dụng, đổi mới trong các lĩnh vực phức tạp như tài chính (finance), sofware engineering, hay nghiên cứu khoa học (scientific discovery).
Thời điểm nổi lên của AI Agent
- Chúng ta đã được trải nghiệm "thời điểm đột phá AI" với sự ra mắt của ChatGPT - thời điểm mà khả năng của hệ thống này vượt xa mọi kỳ vọng mà chúng ta có thể nghĩ tới ở thời điểm đó. Đây có thể gọi là "khoảnh khắc ChatGPT", ở đó hiệu suất của AI không chỉ đáp ứng mà còn vượt qua dự đoán, thể hiện rõ sự thông minh, sáng tạo và khả năng giải quyết vấn đề đáng kinh ngạc. -Tương tự như vậy, các AI Agents cũng đang tạo ra những dấu ấn đáng nhớ với khả năng tự chủ (autonomy) và thích ứng vượt ngoài mong đợi. Một ví dụ điển hình là một AI Agent được phát triển để nghiên cứu/ tìm kiếm online, khi agent này trong trường hợp gặp lỗi giới hạn truy cập khi sử dụng công cụ tìm kiếm chính của nó, thay vì thất bại (failure), agent đã tự động chuyển sang một công cụ khác thay thế (tính năng tìm kiếm Wikipedia) để hoàn thành nhiệm vụ một cách hiệu quả.
- Khả năng tự điều chỉnh trong tình huống bất ngờ như vậy chính là minh chứng rõ ràng cho sức mạnh của AI Agents. Chúng có khả năng lập kế hoạch linh hoạt (planning) và giải quyết vấn đề theo cách thích ứng (adaptive problem-solving), giúp xử lý những nhiệm vụ thực tế phức tạp. Đây là dấu hiệu cho thấy tiềm năng to lớn của AI Agents trong các ứng dụng thực tiễn phức tạp.
Quy trình hoạt động theo hướng tác nhân (Agentic workflow)
-
Hiện nay, các LLM thường được sử dụng ở chế độ kiểu zero-shot, tức là mô hình tạo ra phản hồi cuối cùng theo từng token mà không quay lại để điều chỉnh, hoặc cải thiện phản hồi ban đầu. Quá trình này kiểu như chúng ta viết một bài luận từ đầu tới cuối mà không có bất kỳ chỉnh sửa nào, tạo ra kết quả trong một lần thực hiện liên tục. Dù hoạt động trong giới hạn như vậy, các LLMs hiện nay vẫn cho thấy hiệu quả tốt trong nhiều trường hợp, hay trong nhiều nhiệm vụ. Tuy nhiên, một cách tiếp cận theo vòng lặp (iterative) mang tính chất agent thường cho kết quả chất lượng hơn.
-
Trong hệ thống hoặc quy trình mà trong đó các bước được thực hiện theo chu trình lặp đi lặp lại như thế giúp cải thiện kết quả qua từng lần lặp. LLM thực hiện theo chuỗi trình tự các bước có chủ đích, chẳng hạn như:
- Lập kế hoạch và xác định dàn ý cho nhiệm vụ,
- Quyết định xem có cần tìm kiếm hay nghiên cứu thêm không,
- Đưa ra phản hồi bản đầu,
- Xem xét và xác định các thiếu xót, sai xót hoặc các thành phần không liên quan,
- Chỉnh sửa dựa trên những điểm cần cải thiện đã được phát hiện ở trên.
-
Quá trình nhiều bước (multi-steps) và có cấu trúc này phản ảnh lại cách tiếp cận mà chúng ta cũng thường áp dụng khi giải quyết một vấn đề, cụ thể trong trường hợp chỉnh sửa nội dung bài viết văn chẳng hạn. Nhờ quá trình lặp lại và cải tiến liên tục, các tác nhân AI (AI Agents) có thể tạo ra kết quả chất lượng vượt trội so với khi chỉ xử lý vấn đề trong một lần duy nhất.
-
Một minh chứng mà người ta đã report cho thấy hiệu quả của Agentic workdflow là ứng dụng trong lập trình (Software development). Nguồn link.
- Biểu đồ bên dưới họ đã phân tích khả năng coding của các mô hình AI trên benchmark HumanEval, kết quả cho thấy sự khác biệt rõ rệt khi sử dụng các tiếp cận có tính lặp lại (iterative). Ví dụ như sử dụng trực tiếp mà không có bất kỳ hỗ trợ nào (zero-shot), GPT-3.5 đạt tỷ lệ chính xác tương ứng là 48,1% và GPT-4 là 67,0%. Tuy nhiên, khi sử dụng GPT-3.5 với agent workflow, độ chính xác tăng vọt lên đến 95,1%, minh chứng cho hiệu quả vượt bậc của quy trình có tính lặp này.
- Tóm lại, việc kết hợp workflows theo hướng agentic và iterative đánh dấu một bước tiến đáng kể trong design patterns cho các hệ thống AI. Những quy trình này giúp các hệ thống AI hoạt động hiệu quả hơn, xử lý các nhiệm vụ (tasks) ngày càng phức tạp hơn. Khi các công cụ (tools) và frameworkds liên quan tiếp tục được phát triển, chúng sẽ trở thành các thành phần thiết yếu trong quản lý và tự động hóa nhiệm vụ (AI-driven task), mang lại hiệu quả và tính thích nghi vượt trội.
- Một product mà chúng ta có thể tìm hiểu kỹ hơn cho cách tiếp cận agentic được áp dụng trong phát triển phần mềm là Devin một tác nhân tự động (autonomous agent) được tối ưu hóa cho các nhiệm vụ kỹ thuật phần mềm.
Agent Framework
- Agent Framework giống như khung xương sống của một hệ thống AI, cung cấp một thiết kế có cấu trúc và mô-đun để tổ chức các thành phần cốt lõi của một tác nhân AI. Cách sắp xếp này cho phép các tương tác hiệu quả và linh hoạt nhờ sự kết hợp giữa các thành phần quan trọng, mỗi thành phần được phân công vai trò cụ thể, góp phần vào việc thực hiện nhiệm vụ một cách mượt mà.
- Minh họa kiến trúc của một pipeline của hệ thống AI Agent end-to-end ở hình ảnh bên dưới. Chúng ta sẽ tìm hiểu chi tiết từng thành phần này để hiểu rõ cách một AI Agent hoạt động về mặt kỹ thuật.
Agent Core (LLMs)
- Phần trung tâm của AI Agent gọi là Agent Core, hoạt động như một bộ máy ra quyết định chính (decision-making engine). Đây là nơi LLMs (ví dụ sử dụng GPT-4o của OpenAI) được sử dụng để xử lý suy luận (reasoning) high-level và quản lý nhiệm vụ (task) một cách linh hoạt. Thành phần này bao gồm:
- Bộ máy ra quyết định (Decision-making engine): Phân tích dữ liệu đầu vào (input data), bộ nhớ (memory), và mục tiêu (goals) để tạo ra các phản hồi (responses) phù hợp.
- Hệ thống quản lý mục tiêu (Goal management system): Liên tục cập nhật các mục tiêu (objectives) của agent dựa trên tiến trình nhiệm vụ. Tức là ví dụ như khi có nhiệm vụ thay đổi chẳng hạn thì nó sẽ có nhiệm vụ cập nhật mục tiêu và sắp xếp thứ tự ưu tiên một các tự động.
- Hệ thống điều phối dữ liệu (Intergation bus): Quản lý luồng thông tin giữa các module như memory, tools và planning module, đảm bảo dữ liệu được trao đổi được đồng bộ và hiệu quả.
- Agent Core tận dụng khả năng của mô hình ngôn ngữ lớn (LLMs) để hoàn thành nhiệm vụ (task), tạo ra các nhiệm vụ mới khi cần thiết, và linh hoạt điều chỉnh mức độ ưu tiên dựa trên bối cảnh nhiệm vụ đang được thực hiện
Memory Modules (mô-đun bộ nhớ)
- Bộ nhớ (Memory) là một phần quan trọng trong Agent framework, với các cơ sở dữ liệu vector (như Pinecone, Weaviate, Chroma, Qdrant, v.v.) cung cấp cơ chế lưu trữ và truy xuất dữ liệu liên quan đến nhiệm vụ một cách mạnh mẽ. Memory modules giúp agent nâng cao khả năng nhận biết ngữ cảnh và duy trì sự liên quan đến nhiệm vụ thông qua 2 loại sau:
- Bộ nhớ ngắn hạn (Short-term Memory - STM):
- Quản lý dữ liệu tạm thời phục vụ các yêu cầu tác vụ tức thì.
- Dữ liệu được lưu trữ trong các cấu trúc dễ bay hơi như stacks (ngăn xếp) hoặc queues (hàng đợi), cho phép truy cập nhanh và thường xuyên xóa bỏ sau khi nhiệm vụ hoàn thành.
- Bộ nhớ dài hạn (Long-term Memory - LTM):
- Sử dụng cơ sở dữ liệu vector để lưu trữ dữ liệu hoặc thông tin từ các cuộc trò chuyện, nhiệm vụ hoặc sự kiện trước đó.
- Các tương tác này được lưu trữ để hệ thống có thể tham chiếu lại, giúp duy trì sự liên tục trong ngữ cảnh hoặc cung cấp câu trả lời phù hợp hơn.
- Truy xuất dữ liệu này dựa trên độ tương đồng ngữ nghĩa (semantic similarity): Đảm bảo việc truy xuất dữ liệu phù hợp bằng cách xem xét các yếu tố như tính liên quan (relevance), tính gần đây (recency) và độ quan trọng (importance), tối ưu hóa quá trình truy cập.
- Bộ nhớ ngắn hạn (Short-term Memory - STM):
Nói một cách dễ hình dung thì Bộ nhớ ngắn hạn (STM) giống như trí nhớ ngắn hạn của con người, nó lưu giữ các thông tin cần thiết trong một khoảng thời gian ngắn để giải quyết các công việc trước mắt, sau đó xóa bỏ để giải phóng "dung lượng". Còn bộ nhớ dài hạn (LTM) hoạt động như trí nhớ dài hạn, ghi lại các sự kiện quan trọng để tham chiếu về sau. Các cơ sở dữ liệu vector giúp tìm kiếm thông tin nhanh chóng, giống như việc bạn nhớ lại một cuộc trò chuyện cũ dựa trên những điểm chung hoặc ngữ cảnh. Bộ nhớ này làm cho tác nhân trở nên thông minh hơn, không chỉ phản hồi dựa trên hiện tại mà còn học hỏi và phát triển từ các tương tác trong quá khứ.
Tools (công cụ)
- Tools cung cấp cho agent những khả năng chuyên biệt để thực hiện nhiệm vụ (task) cụ thể nào đó một cách chính xác. Chúng ta có thể sử dụng Langchain framework cho workflow có cấu trúc. Tools bao gồm:
- Executable workflows: Được định nghĩa trong Langchain, cung cấp khả năng xử lý nhiệm vụ có cấu trúc (structered), nhiệm vụ được thực hiện dựa trên sự hiểu biết và xử lý thông tin cụ thể từ dữ liệu (data-aware).
- APIs: Hỗ trợ truy cập an toàn vào các nguồn dữ liệu internal và external, mở rộng khả năng của agent thực hiện được nhiều loại nhiệm vụ hơn hoặc thực hiện nhiệm vụ hiện có một cách hiệu quả hơn.
- Middleware: Hỗ trợ trao đổi dữ liệu giữa agent core và tools; xử lý định, kiểm tra lỗi đảm bảo an toàn.
- Intergration của Langchain cho phép agent tương tác linh hoạt với môi trường của nó, mang lại tính linh hoạt và khả năng thích ứng trong nhiều tasks khác nhau.
Planning Module (mô-đun lập kế hoạch)
- Để giải quyết các vấn đề phức tạp, Planning module cung cấp các phương pháp có cấu trúc như phân rã nhiệm vụ (task decomposition) và tự đánh giá (reflection) để hướng dẫn agent tối ưu hóa giải pháp. Hệ thống quản lý nhiệm vụ (task management system) trong mô-đun này sử dụng cấu trúc dữ liệu hàng đợi kép (deque data structure) để tự động tạo, quản lý và ưu tiên hóa các nhiệm vụ. Khi các nhiệm vụ được hoàn thành hoặc nhiệm vụ mới được tạo, hệ thống sẽ tự động điều chỉnh thứ tự ưu tiên để đảm bảo tiến độ phù hợp với mục tiêu tổng thể.
Tóm lại, LLM Agent framework kết hợp sức mạnh hiểu ngôn ngữ của LLM, hệ thống bộ nhớ hiệu quả của cơ sở dữ liệu vector, và các tools linh hoạt của agent framework. Những thành phần này tạo nên một AI Agent mạnh mẽ, gắn kết, có khả năng đưa ra quyết định theo thời gian thực và thực hiện tác vụ linh hoạt trên các ứng dụng phức tạp.
Agentic Design Patterns (Mẫu Thiết Kế Agentic)
-
Agentic design patterns giúp các mô hình AI vượt qua tương tác tĩnh, cho phép ra quyết định linh hoạt, tự đánh giá và cải thiện theo từng vòng lặp. Các mẫu này thiết lập quy trình làm việc có cấu trúc, cho phép AI chủ động tinh chỉnh đầu ra, tích hợp công cụ mới, và thậm chí hợp tác với các tác nhân AI khác để hoàn thành những nhiệm vụ phức tạp. Bằng cách tận dụng các mẫu thiết kế tác nhân, mô hình ngôn ngữ phát triển từ các phản hồi đơn giản sang hệ thống thích ứng, đáng tin cậy và nhận biết ngữ cảnh, mở rộng ứng dụng trên nhiều lĩnh vực.
-
Phân loại Agentic design patterns rõ ràng là yếu tố quan trọng trong việc phát triển các tác nhân AI mạnh mẽ và hiệu quả. Thông qua việc tổ chức các mẫu này thành một khung cấu trúc dễ hiểu, các nhà phát triển và nghiên cứu có thể nắm bắt cách cấu trúc quy trình làm việc của AI, tối ưu hóa hiệu suất, và đảm bảo rằng tác nhân có khả năng xử lý các nhiệm vụ phức tạp, linh hoạt.
-
Dưới đây là phân loại Agentic design patterns phổ biến nhất trong các ứng dụng khác nhau:
- Tự phản ánh (Reflection): Agent đánh giá công việc của mình, xác định các điểm cần cải thiện và tinh chỉnh đầu ra dựa trên đánh giá này. Quy trình này cho phép cải tiến liên tục, dẫn đến kết quả cuối cùng mạnh mẽ và chính xác hơn.
- Sử dụng công cụ (Tool Use): Agent được trang bị các công cụ cụ thể, như tìm kiếm web hoặc thực thi mã, để thu thập thông tin cần thiết, thực hiện hành động, hoặc xử lý dữ liệu phức tạp theo thời gian thực trong nhiệm vụ.
- Lập kế hoạch (Planning): Agent xây dựng và thực hiện một kế hoạch toàn diện, từng bước để đạt được mục tiêu. Quy trình này có thể bao gồm các giai đoạn như lập dàn ý (outlining), nghiên cứu (researching), soạn thảo (drafting) và chỉnh sửa (revising), thường gặp trong các nhiệm vụ viết hoặc lập trình phức tạp.
- Hợp tác đa tác nhân (Multi-agent Collaboration): Trong multi-agent collaboration thì mỗi agent đảm nhận vai trò riêng biệt và đóng góp chuyên môn cụ thể để giải quyết các nhiệm vụ phức tạp bằng cách chia nhỏ thành các nhiệm vụ con dễ quản lý hơn. Phương pháp này tương tự như làm việc nhóm ở con người, nơi các vai trò như kỹ sư phần mềm và chuyên viên QA đóng góp vào các khía cạnh khác nhau của dự án.
-
Các kiểu Agentic design patterns này đại diện cho những phương pháp đa dạng, thông qua đó các AI Agent có thể tối ưu hóa hiệu suất nhiệm vụ, tinh chỉnh đầu ra và điều chỉnh quy trình làm việc một cách linh hoạt. Bạn có thể khám phá, nghiên cứu về các hệ thống đa tác nhân thì các framwork như AutoGen, Crew AI, và LangGraph cung cấp nền tảng mạnh mẽ để thiết kế và triển khai giải pháp multi-agent. Ngoài ra, các open-source như ChatDev, mô phỏng một công ty phần mềm vận hành bởi AI Agents, mang đến cho developers công cụ dễ tiếp cận để thử nghiệm hệ thống multi-agent.
Reflection
1. Overview
- Reflection là một phương pháp quan trọng để tăng cường hiệu quả của các mô hình ngôn ngữ lớn (LLMs), tích hợp cơ chế phản hồi vào quy trình làm việc. Phương pháp này cho phép LLM cải thiện chất lượng đầu ra thông qua tự đánh giá và cải tiến lặp đi lặp lại. Bằng cách tự nhận diện khoảng trống trong đầu ra, điều chỉnh dựa trên phản hồi, LLM có thể cung cấp phản hồi chính xác hơn, hiệu quả hơn và phù hợp với ngữ cảnh người dùng. Quy trình lặp đi lặp lại này chuyển đổi tương tác hỏi-đáp thông thường thành một chu trình cải tiến liên tục.
- Reflection là một loại agent workflow tương đối đơn giản nhưng đã chứng minh khả năng cải thiện đáng kể chất lượng đầu ra của LLM trên nhiều ứng dụng khác nhau. Phương pháp này khuyến khích mô hình tự đánh giá hiệu suất, tinh chỉnh phản hồi và sử dụng công cụ bên ngoài (exeternal tools) để tự đánh giá, giúp kết quả trả ra trở nên chính xác, hiệu quả và phù hợp hơn với ngữ cảnh. Quá trình lặp này không chỉ tăng cường khả năng tạo ra kết quả chất lượng cao mà còn trang bị cho LLM khả năng thích ứng, đáp ứng tốt hơn các yêu cầu phức tạp và thay đổi.
- Việc tích hợp Reflection vào agent workflow cũng mang yếu tố cách mạng giúp LLM trở nên thích nghi (adaptable), tự nhận thức (self-aware) và có khả năng xử lý các nhiệm vụ phức tạp một cách tự chủ. Reflection mang lại khả năng trong việc cải thiện hiệu quả và độ tin cậy của các ứng dụng dựa trên LLM, minh chứng cho khả năng ngày càng cải thiện của các mô hình này như những agent thông minh, có khả năng tự cải thiện (self-improving), sẵn sàng đáp ứng nhu cầu của các nhiệm vụ ngày càng phức tạp với sự can thiệp tối thiểu của con người.
2. Reflection Workflow: Step-by-Step
2.1 Tạo đầu ra ban đầu (Initial Output Generation)
- Trong một nhiệm vụ điển hình, ví dụ như coding, LLM được yêu cầu tạo ra phản hồi ban đầu nhằm đạt được mục tiêu cụ thể (ví dụ: hoàn thành "nhiệm vụ X"). Phản hồi này có thể được xem như một bản nháp sẽ được xem xét thêm sau đó.
2.2 Tự đánh giá và tạo feedback (Self-Evaluation and Constructive Feedback)
-
Sau khi tạo đầu ra ban đầu, LLM được hướng dẫn tự đánh giá phản hồi của mình. Ví dụ, trong trường hợp coding, có thể prompting như sau:
“Đây là đoạn mã cho nhiệm vụ X: [đoạn mã đã tạo]. Hãy kiểm tra đoạn mã này thật kỹ về độ chính xác, phong cách, và hiệu quả, đồng thời cung cấp phản hồi xây dựng để cải thiện.”
-
Giai đoạn tự phê bình này cho phép LLM nhận diện các lỗi trong phản hồi trước đó của nó, chẳng hạn như các vấn đề về tính đúng đắn, hiệu quả, hoặc chất lượng phong cách, từ đó xác định các điểm cần cải thiện.
2.3 Chỉnh Sửa dựa trên feedback (Revision based on Feedback)
- Sau khi LLM tự tạo ra feedback cho response ban đầu của nó, feedback này sẽ đựa đưa vào workflow của agent thông qua cách thức prompting. Ở bước này thì ngữ cảnh cung cấp cho mô hình bao gồm cả response ban đầu và phản hồi xây dựng mà nó tự tạo ra. Sau đó, LLM sẽ tạo ra (generate) một phiên bản response được tinh chỉnh dựa trên feedback được đề xuất trong quá trình self-reflection.
- Quá trình self-reflection, kiểu tự phê bình response của bản thân ở step trước và tinh chỉnh lại dựa trên feedback như thế này có thể lặp lại nhiều lần, dẫn đến những cải tiến đáng kể cho chất lượng response cuối cùng.
3. Improve Self-Reflection bằng cách tích hợp các tools bổ sung
- Khả năng của Reflection có thể được cải thiện hơn nữa bằng cách trang bị cho LLM các Tools cho phép nó đánh giá đầu ra của chính nó một cách định lượng. Ví dụ:
- Code Evaluation: Mô hình có thể chạy đoạn code của nó qua unit tests để xác minh tính chính xác, sử dụng các trường hợp thử nghiệm để đảm bảo kết quả chính xác.
- Text Validation: LLM có thể tận dụng các tìm kiếm trên Internet hoặc cơ sở dữ liệu bên ngoài (external databases) để kiểm tra thực tế (fact-check) và xác minh nội dung văn bản (verify content).
- Khi phát hiện ra lỗi hoặc sai sót thông qua các tools này, LLM có thể chỉ ra những điểm không nhất quán, đưa ra feedback bổ sung và đề xuất các cách cải thiện response được tạo ra trong lần tiếp theo. Việc tích hợp hỗ trợ bởi tools như thế cho phép LLM tinh chỉnh response của mình tốt hơn hơn, kết hợp hiệu quả giữa chính nó tự đưa ra feedback với validdate bởi tools bên ngoài.
4. Multi-Agent Framework for Enhanced Reflection
-
Để tối ưu hóa quá trình reflection, có thể sử dụng multi-agent framework. Trong cấu hình này, 2 agent riêng biệt sẽ thực hiện các vai trò như sau:
- Output Generation Agent: Chủ yếu chịu trách nhiệm tạo ra response nhằm đạt được nhiệm vụ được chỉ định một cách hiệu quả.
- Critique Agent: Có nhiệm vụ đánh giá nghiêm túc output của agent đầu tiên và đưa ra feedback để nâng cao chất lượng .
-
Sự đối thoại giữa các agent này giúp cải thiện kết quả, vì hai agent hợp tác để nhận diện và khắc phục điểm yếu trong đầu ra. Phương pháp hợp tác này mang lại một cấp độ reflection thứ hai, cho phép LLM có được những hiểu biết mà một thiết lập đơn agent có thể bỏ sót.
-
Thông qua tương tác theo cách thức trên giữa các agents, LLM đạt được kết quả tốt hơn vì hai agent cùng nhau xác định và khắc phục những điểm yếu trong đầu ra. Phương pháp này mang lại cải thiện hơn khi cho phép LLM có thể đưa ra góc nhìn đa chiều hơn mà các agent đơn lẻ sẽ có thể bị thiếu.
-
Ví dụ minh họa ứng dụng multi-agent framework vào việc cải thiện coding:
- Khi áp dụng phương pháp Reflection, một cách triển khai hiệu quả là sử dụng mô hình tương tác multi-agent, chẳng hạn như thiết lập hai agent: Coder Agent và Critic Agent. Hai agent này phối hợp với nhau để cải thiện code thông qua quy trình feedback và tinh chỉnh được lặp đi lặp lại, nhấn mạnh sự kết hợp giữa sinh code và đánh giá code.
- 1. Initial Task and Code Generation (Sinh code ban đầu): Quá trình bắt đầu bằng việc cung cấp một prompt cho Coder Agent, ví dụ như yêu cầu nó “viết mã cho {task}.” Coder Agent tạo ra một phiên bản mã ban đầu, được gọi là
do_task(x)
- 2. Critique and Error Identification (Phê bình và xác định lỗi): Critic Agent đánh giá code ban đầu. Trong ví dụ này, nó xác định những vấn đề cụ thể và đồng thời đưa ra gợi ý cải tiến. Feedback này giúp Coder Agent nhận ra các điểm chưa hoàn thiện của code.
- 3. Code Revision (Chỉnh sửa code): Dựa trên feedbacks của Critic Agent, Coder Agent thực hiện chỉnh sửa và tạo ra phiên bản cập nhật cải thiện
do_task_v2(x)
. Code mới này nhằm khắc phục vấn đề được chỉ ra trước đó. - 4. Further Testing and Feedback (Kiểm tra bổ sung và đưa ra phản hồi): Critic Agent tiếp tục kiểm tra phiên bản code mới, chẳng hạn bằng cách chạy các bài unit tests. Giả sử như nó lưu ý rằng "Code không pass được Unit Test 3" chẳng hạn thì Critic Agent tiếp tục đưa ra gợi ý thêm, yêu cầu tinh chỉnh để đạt độ chính xác cao hơn.
- 5. Final Iteration (Lặp lại và hoàn thiện): Với feedbacks bổ sung, Coder Agent tiếp tục tạo một phiên bản code mới
do_task_v3(x)
. Quy trình lặp lại này tiếp diễn cho đến khi code được tạo ra đạt tiêu chuẩn mong muốn về chức năng và hiệu suất.
-
Quy trình trên minh họa tính chất lặp lại của Reflection trong mô hình multi-agent. Bằng cách kết hợp một Coder Agent tập trung vào việc tạo code và một Critic Agent chuyên cung cấp feedback có cấu trúc, hệ thống tận dụng được vòng lặp cải tiến liên tục. Điều này cho phép các mô hình ngôn ngữ lớn tự động phát hiện lỗi, tối ưu hóa logic, và cải thiện chất lượng đầu ra.
-
Việc thiết lập mô hình multi-agent là một ví dụ điển hình về cách áp dụng Reflection để tạo ra kết quả chất lượng cao và đáng tin cậy. Phương pháp này không chỉ nâng cao đầu ra của mô hình mà còn mô phỏng quy trình làm việc hợp tác của con người, nơi phản hồi mang tính xây dựng dẫn đến các giải pháp tối ưu hơn thông qua cải tiến lặp lại.
Function/Tool/API Calling
-
Tool Use trong các mô hình ngôn ngữ lớn (LLM) đang trở thành một xu hướng quan trọng, giúp LLM làm được nhiều việc hơn là chỉ tạo văn bản. Đây là một cách thiết kế đặc biệt trong các quy trình làm việc của AI agent, cho phép LLM sử dụng các công cụ bên ngoài như chạy code, tìm kiếm thông tin trên web hoặc làm việc với các ứng dụng như email và lịch. Nhờ đó, LLM không chỉ dừng lại ở việc trả lời bằng văn bản mà còn có thể thực hiện các nhiệm vụ phức tạp hơn. Ví dụ, nếu bạn cần giải toán hay tìm kiếm thông tin chi tiết, LLM có thể sử dụng công cụ phù hợp để hỗ trợ.
-
Ví dụ cơ bản về Tool Use có thể thấy trong các trường hợp khi người dùng yêu cầu thông tin không có trong dữ liệu huấn luyện của mô hình. Ví dụ một tình huống thực tế là khi bạn hỏi: “Máy pha cà phê nào tốt nhất theo đánh giá?”, một mô hình được trang bị Tool Use có thể thực hiện web search, lấy thông tin mới nhất bằng cách tạo chuỗi lệnh như
{tool: web-search, query: "coffee maker reviews"}
. Sau khi xử lý, mô hình truy xuất các pages liên quan, tổng hợp dữ liệu (synthesize data) và đưa ra câu trả lời đầy đủ thông tin. Điều này giúp khắc phục hạn chế của các mô hình cũ vốn chỉ dựa vào dữ liệu huấn luyện trước đó. -
Tool Use cũng rất hữu ích khi cần độ chính xác cao, chẳng hạn như tính toán và các tác vụ mà đòi hỏi độ chính xác mà text generation không thể đạt được. Ví dụ, khi người dùng hỏi: "Nếu tôi đầu tư $100 với lãi suất kép 7% trong 12 năm, tôi sẽ có bao nhiêu?", một LLM có thể trả lời bằng cách thực thi lệnh Python như 100 * (1+0.07)^12. LLM tạo ra chuỗi lệnh
{tool: python-interpreter, code: "100 * (1+0.07)**12"}
và công cụ tính toán sẽ xử lý lệnh này để đưa ra câu trả lời chính xác. Điều này minh họa cách Tool Use hỗ trợ suy luận toán học phức tạp trong các hệ thống conversation AI. -
Không chỉ dừng lại ở tìm kiếm hay tính toán, Tool Use còn cho phép LLM làm việc với nhiều loại dữ liệu khác nhau như truy cập cơ sở dữ liệu chuyên ngành, tạo hoặc phân tích hình ảnh, và tương tác với các nguồn học thuật như Wikipedia hay arXiv. Điều này khiến LLM có thể xử lý nhiều dạng thông tin từ văn bản, hình ảnh đến dữ liệu phức tạp, giúp chúng linh hoạt hơn trong các tình huống thực tế.
-
Để sử dụng công cụ hiệu quả, các hệ thống sẽ prompt cho LLM bằng cách cung cấp thông tin chi tiết về từng functions, gồm mô tả cho function đó và parameters. LLM sẽ tự động chọn tool phù hợp nhất để xử lý yêu cầu của bạn. Khi có quá nhiều công cụ, các nhà phát triển thường dùng các quy tắc thông minh để giúp LLM chọn nhanh hơn, tập trung vào những công cụ liên quan nhất, tương tự như cách chọn lọc dữ liệu trong hệ thống retrieval-augmented generation (RAG).
-
Một bước tiến mới là sự xuất hiện của các mô hình đa phương thức (LMMs) như LLaVa, GPT-4V hay Gemini, cho phép LLM xử lý không chỉ văn bản mà cả hình ảnh và các loại dữ liệu khác. Trước đây, LLM không thể xử lý hình ảnh trực tiếp mà cần các công cụ chuyên biệt. Nhưng từ khi GPT-4 giới thiệu khả năng gọi hàm vào năm 2023, mô hình đã có thể xử lý nhiều loại dữ liệu khác nhau một cách mượt mà, mở rộng khả năng áp dụng trong nhiều lĩnh vực, từ tìm kiếm thông tin đến phân tích dữ liệu hình ảnh.
-
Ví dụ, một mô hình như SmolLM2 sẽ được hướng dẫn bằng prompt để chọn đúng tool dựa trên yêu cầu cụ thể của người dùng. Trước khi thực hiện, mô hình sẽ kiểm tra xem thông tin và các tham số đã đủ chưa, đảm bảo kết quả trả về là chính xác và phù hợp nhất.
You are an expert in composing functions. You are given a question and a set of possible functions. Based on the question, you will need to make one or more function/tool calls to achieve the purpose. If none of the functions can be used, point it out and refuse to answer. If the given question lacks the parameters required by the function, also point it out. You have access to the following tools: <tools></tools> The output MUST strictly adhere to the following format, and NO other text MUST be included. The example format is as follows. Please make sure the parameter type is correct. If no function call is needed, please make the tool calls an empty list '[]'. <tool_call>[ {"name": "func_name1", "arguments": {"argument1": "value1", "argument2": "value2"}}, (more tool calls as required) ]</tool_call>
-
Sự phát triển của Tool Use và khả năng của function-calls trong LLM cho thấy những bước tiến quan trọng hướng đến việc tạo ra các hệ thống agentic AI đa năng và thông minh hơn. Thay vì chỉ đơn giản là tạo văn bản tĩnh như trước đây, giờ đây LLM có thể tự động sử dụng các công cụ chuyên biệt để xử lý nhiều loại yêu cầu khác nhau, từ tìm kiếm thông tin đến thực hiện các phép tính phức tạp hay thậm chí làm việc với dữ liệu hình ảnh. Điều này giúp biến LLM thành một hệ thống linh hoạt, có thể đáp ứng nhiều nhu cầu đa dạng của người dùng trong các tình huống khác nhau.
-
Khi công nghệ tiếp tục phát triển sẽ giúp mở rộng khả năng của Tool Use và làm chop LLM xử lý các nhiệm vụ phức tạp hơn và thực hiện nhiều tác vụ khác nhau trong môi trường làm việc tự động và tích hợp chặt chẽ. Điều này không chỉ làm cho LLM trở nên mạnh mẽ hơn mà còn mở ra nhiều cơ hội mới trong việc ứng dụng AI vào cuộc sống và công việc hàng ngày.
Ví dụ về Tool call: Web Search và Code Execution
-
LLM có thể tận dụng các công cụ như web search để cung cấp khuyến nghị sản phẩm mới nhất và code execution để xử lý các phép tính phức tạp, cho thấy khả năng linh hoạt trong việc chọn và sử dụng công cụ phù hợp dựa trên yêu cầu của người dùng.
-
Tham khảo hình ảnh minh hoạ bên dưới ví dụ thực tế về tool calls trong LLM, với hai tools minh hoạ cụ thể: tool web search và tool code execution:
-
Ở bên trái là ví dụ từ Bing Copilot cho thấy cách LLM sử dụng công cụ tìm kiếm web. Khi người dùng hỏi: “Máy pha cà phê nào tốt nhất theo đánh giá hiện nay?”, mô hình sẽ bắt đầu một quá trình tìm kiếm web để thu thập thông tin từ các đánh giá trực tuyến mới nhất. Điều này giúp LLM đưa ra câu trả lời chính xác dựa trên dữ liệu cập nhật.
-
Ở bên phải là ví dụ từ ChatGPT sử dụng công cụ thực thi mã. Khi người dùng hỏi: “Nếu tôi đầu tư $100 với lãi suất kép 7% trong 12 năm, tôi sẽ có bao nhiêu?”, mô hình sẽ tạo một lệnh Python để tính toán lãi suất kép. Đoạn mã như sau:
principal = 100 interest_rate = 0.07 years = 12 value = principal * (1 + interest_rate) ** years
Sau đó, công cụ thực thi mã sẽ xử lý lệnh này, cung cấp kết quả chính xác thay vì chỉ dựa vào suy luận ngôn ngữ thông thường.
-
Ví dụ trên để minh chứng cho khả năng của mô hình trong việc xác định và chọn đúng công cụ dựa trên truy vấn của người dùng, qua đó minh chứng cho sự linh hoạt và năng lực vượt trội của Tool Use trong các quy trình làm việc của agentic LLM.
-
Function Calling Datasetsf
1. Hermes Function-Calling V1
2. Glaive Function Calling
- Glaive Function Calling (52K): https://huggingface.co/datasets/glaiveai/glaive-function-calling
- Glaive Function Calling v2 (113K): https://huggingface.co/datasets/vietgpt/glaive-function-calling-v2?row=0
3. Salesforce’s Xlam-function-calling-60k
4. Synth-APIGen-v0.1
5. Berkeley Function-Calling Leaderboard
Planning
- Planning là một mẫu design pattern giúp hệ thống AI, thường là mô hình ngôn ngữ lớn (LLM), tự động xác định chuỗi hành động hoặc các bước cần thiết để hoàn thành những nhiệm vụ phức tạp. Thông qua quá trình ra quyết định linh hoạt này, AI chia nhỏ các mục tiêu lớn thành các bước nhỏ, dễ quản lý hơn và thực hiện chúng theo trình tự có cấu trúc để tạo ra những kết quả mạch lạc, thường là phức tạp. Ở bài viết này mình sẽ đi sâu vào tầm quan trọng của Planning trong thiết kế AI agent, minh họa chức năng của nó thông qua các ví dụ và xem xét khả năng hiện tại cũng như những hạn chế của nó.
- Planning giúp LLMs có khả năng tự động xây dựng và thực hiện các kế hoạch/chiến lược để hoàn thành nhiệm vụ. Mặc dù các triển khai hiện tại vẫn có thể xuất hiện tính không thể đoán trước, nhưng Planning có thể tăng cường khả năng giải quyết vấn đề sáng tạo cho AI, giúp nó xử lý các nhiệm vụ theo những cách bất ngờ và sáng tạo.
- Sức mạnh của Planning nằm ở tính linh hoạt và khả năng thích ứng của nó. Khi được triển khai hiệu quả, Planning cho phép AI phản ứng với các điều kiện bất ngờ, đưa ra quyết định sáng suốt về tiến trình nhiệm vụ và chọn các công cụ phù hợp nhất cho từng bước. Tuy nhiên, sự tự chủ này cũng dẫn đến sự không thể đoán trước trong hành vi và kết quả của AI.
Tổng quan
- Planning trong agentic AI đề cập đến khả năng của AI trong việc tự động thiết kế kế hoạch nhiệm vụ, lựa chọn các bước cần thiết để đạt được mục tiêu nhất định. Khác với các quy trình mang tính quyết định cứng nhắc, Planning mang lại sự linh hoạt, cho phép AI điều chỉnh cách tiếp cận dựa trên các công cụ sẵn có, yêu cầu nhiệm vụ và các ràng buộc không lường trước.
- Ví dụ, nếu một AI agent được giao nhiệm vụ nghiên cứu trực tuyến về một chủ đề cụ thể, nó có thể tự động tạo ra một loạt các nhiệm vụ con. Những nhiệm vụ này có thể bao gồm: xác định các chủ đề phụ quan trọng, thu thập thông tin liên quan từ các nguồn đáng tin cậy, tổng hợp các phát hiện và biên soạn nghiên cứu thành một báo cáo mạch lạc. Thông qua Planning, agent không chỉ đơn thuần thực hiện các chỉ dẫn đã lập trình sẵn mà còn xác định trình tự hành động tối ưu để đạt được mục tiêu.
Ví dụ
-
Agentic Planning trở nên đặc biệt quan trọng khi các nhiệm vụ có nhiều khía cạnh và không thể hoàn thành trong một step duy nhất. Trong những trường hợp này, một agent điều khiển bởi LLM sẽ linh hoạt thiết kế chuỗi các bước để đạt được mục tiêu tổng thể. Một ví dụ từ paper HuggingGPT minh họa cách tiếp cận này: nếu mục tiêu là "tạo ra hình ảnh của một cô gái trong tư thế giống như một cậu bé trong ảnh ban đầu", AI có thể phân tách nhiệm vụ như sau:
- Step 1: Phát hiện tư thế trong ảnh ban đầu của cậu bé bằng công cụ nhận diện tư thế, tạo ra tệp kết quả tạm thời (ví dụ:
temp1
). - Step 2: Sử dụng công cụ chuyển tư thế thành hình ảnh (pose-to-image tool) để tạo ra hình ảnh cô gái trong tư thế đã phát hiện từ
temp1
, cho ra kết quả cuối cùng.
- Step 1: Phát hiện tư thế trong ảnh ban đầu của cậu bé bằng công cụ nhận diện tư thế, tạo ra tệp kết quả tạm thời (ví dụ:
-
Trong định dạng có cấu trúc này, AI chỉ định từng bước hành động, xác định tools sử dụng, input file và expected output. Quá trình này sẽ kích hoạt gọi các tools cần thiết theo trình tự đã chỉ định để hoàn thành nhiệm vụ thành công. Khả năng Planning tự động của agent tạo điều kiện cho quy trình nhiều bước này, thể hiện năng lực xử lý các nhiệm vụ phức tạp, không tuyến tính.
-
Minh họa quá trình này ở hình ảnh dưới đây từ HuggingFPT cho chúng ta một cái nhìn trực quan về quá trình trên:
Planning và Phương pháp Deterministic (phương pháp quyết định)
-
Planning không phải lúc nào cũng cần thiết trong mọi quy trình agentic. Đối với các nhiệm vụ đơn giản hoặc những nhiệm vụ tuân theo một trình tự định trước, phương pháp quyết định, thực hiện từng bước một có thể là đủ. Ví dụ, nếu một agent được lập trình để xem xét và chỉnh sửa kết quả của mình một số lần cố định, nó có thể thực hiện chuỗi bước này mà không cần đến Planning linh hoạt.
-
Tuy nhiên, đối với các nhiệm vụ phức tạp hoặc mở mà khó có thể xác định trước trình tự cần thiết, Planning cho phép AI linh hoạt quyết định các bước phù hợp. Cách tiếp cận thích ứng này đặc biệt hữu ích cho các nhiệm vụ có thể gặp phải thách thức bất ngờ hoặc yêu cầu agent lựa chọn từ nhiều công cụ và phương pháp khác nhau để đạt được kết quả tốt nhất.
-
Phương pháp Deterministic là các phương pháp quyết định, trong đó kết quả của mỗi bước hoặc quy trình được xác định rõ ràng và không thay đổi dựa trên đầu vào hoặc điều kiện ban đầu. Khi sử dụng phương pháp này, quá trình thực hiện sẽ tuân theo một trình tự cố định, và nếu lặp lại với cùng đầu vào, nó sẽ luôn tạo ra kết quả giống nhau.
Multi-agent Collaboration
1. Background
-
Kết hợp multi-agent (Multi-agent collaboration) đã nổi lên như một mô hình thiết kế AI quan trọng để thực hiện các nhiệm vụ phức tạp bằng cách chia nhỏ chúng thành các tác vụ con dễ quản lý hơn. Bằng cách phân bổ các tác vụ con này cho các agent chuyên biệt—mỗi agent đảm nhiệm vai trò như software engineer, product manager, designer, QA engineer, v.v. - kết hợp multi-agent mô phỏng cấu trúc của một đội ngũ phối hợp tốt, nơi mỗi agent thực hiện các vai trò cụ thể đã được chỉ định. Những agent này, dù được xây dựng bằng cách điều chỉnh một LLM duy nhất theo nhiều cách khác nhau hay sử dụng nhiều LLM, đều có thể thực hiện các nhiệm vụ được giao với khả năng được điều chỉnh riêng. Ví dụ, yêu cầu một LLM đóng vai trò "software engineer" bằng cách hướng dẫn nó “viết code rõ ràng, hiệu quả” sẽ giúp nó tập trung vào khía cạnh đó, từ đó cải thiện kết quả phù hợp với yêu cầu của tác vụ con trong kỹ thuật phần mềm.
-
Cách tiếp cận này có sự tương đồng mạnh mẽ với đa luồng (multi-threading), nơi các chương trình phức tạp được chia thành nhiều tiến trình hoặc luồng để thực thi song song, giúp cải thiện hiệu quả và hiệu suất. Mô hình tác nhân (agentic model) cung cấp một cấu trúc "chia để trị," cho phép các hệ thống AI quản lý các luồng công việc phức tạp bằng cách chia chúng thành các hành động nhỏ hơn, dựa trên vai trò cụ thể.
-
Việc áp dụng hệ thống multi-agent trong AI dựa trên nguồn cảm hứng bởi một số yếu tố chính sau:
-
- Hiệu quả đã được chứng minh: Phương pháp multi-agent đã liên tục mang lại kết quả tích cực trong nhiều dự án khác nhau. Các nghiên cứu cắt giảm (ablation studies), chẳng hạn như được trình bày trong bài báo AutoGen, đã xác nhận rằng hệ thống multi-agent thường cho hiệu suất vượt trội so với cấu hình single-agent khi thực hiện các nhiệm vụ phức tạp. Cấu trúc multi-agent cho phép mỗi agent tập trung sâu vào một tác vụ con cụ thể, từ đó mang lại hiệu quả tốt hơn so với việc xử lý toàn bộ nhiệm vụ theo cách tiếp cận đơn nhất.
- 2. Tăng cường tập trung và tối ưu hóa nhiệm vụ: Mặc dù các mô hình ngôn ngữ lớn (LLMs) hiện nay đã đạt được những tiến bộ đáng kể, cho phép tiếp nhận các ngữ cảnh đầu vào cực lớn (ví dụ, Gemini 1.5 Pro với khả năng xử lý 1 triệu token), hệ thống multi-agent vẫn có những ưu thế riêng. Mỗi agent có thể được hướng dẫn tập trung vào một tác vụ con duy nhất tại một thời điểm, cải thiện độ chính xác trong thực hiện nhiệm vụ đó. Bằng cách thiết lập kỳ vọng cụ thể—chẳng hạn, ưu tiên tính rõ ràng của mã cho một agent "software engineer" hơn là khả năng mở rộng hay bảo mật—các nhà phát triển có thể tối ưu hóa đầu ra cho từng tác vụ con theo yêu cầu cụ thể của dự án.
- 3. Phân rã nhiệm vụ phức tạp: Ngoài việc cải thiện hiệu quả tức thời, hệ thống multi-agent cung cấp một khung khái niệm mạnh mẽ để quản lý các nhiệm vụ phức tạp bằng cách chia chúng thành các tác vụ con nhỏ hơn, dễ quản lý hơn. Design pattern này giúp developers đơn giản hóa quy trình làm việc, đồng thời tăng cường giao tiếp và đồng bộ hóa nhiệm vụ giữa các agent. Giống như một nhà quản lý trong công ty phân bổ công việc cho các nhân viên chuyên môn để xử lý từng khía cạnh của dự án, hệ thống multi-agent sử dụng cấu trúc tổ chức của con người này như một bản thiết kế để phân công nhiệm vụ AI.
-
-
Thiết kế trừu tượng này hỗ trợ developers trong việc sử dụng các agent cho từng vai trò riêng biệt và phân công nhiệm vụ dựa trên "chuyên môn" của chúng. Mỗi agent sẽ tự thực thi luồng công việc, sử dụng bộ nhớ để theo dõi các tương tác, và khi cần thiết, có thể cộng tác với các agent khác. Quy trình làm việc của multi-agent có thể bao gồm các yếu tố động như lập kế hoạch (planning) và sử dụng công cụ (tool use), cho phép các agent phản ứng một cách thích nghi và phối hợp trong các tình huống phức tạp thông qua calls functions hoặc messages được kết nối với nha
-
Các agents phối hợp thông qua calls function hoặc messages ví dụ như Critic Agent gọi trực tiếp hà
evaluate_code()
của Coder Agent để kiểm tra đoạn code đã viết chẳng hạn hoặc messages kiểu ví dụ như Critic Agent gửi một thông điệp feedback kiểu: "Bug detected on line 5. Suggest fix..." tới hàng đợi của Coder Agent, và Coder Agent xử lý thông điệp khi đến lượt nó.
Implementation
- Trong khi quản lý các đội nhóm con người có nhiều thách thức cố hữu, việc áp dụng các chiến lược tổ chức tương tự cho hệ thống multi-agent AI không chỉ dễ quản lý mà còn mang lại tính linh hoạt với rủi ro thấp; bất kỳ vấn đề nào trong hiệu suất của một AI agent đều có thể được khắc phục dễ dàng. Các framework mới nổi như AutoGen, CrewAI, và LangGraph cung cấp nền tảng mạnh mẽ để phát triển và triển khai các hệ thống multi-agent phù hợp với nhiều ứng dụng khác nhau. Ngoài ra, một số projects open-source như ChatDev cho phép developers thử nghiệm các thiết lập multi-agent trong môi trường phát triển phầm mềm ảo, mang lại những hiểu biết giá trị về tiềm năng hợp tác của các AI agent. Những công cụ này đại diện cho bước tiến tiên phong trong công nghệ multi-agent, tạo nền tảng cho việc phân rã nhiệm vụ và hợp tác được dẫn dắt bởi AI.
Tóm lại thì phương pháp multi-agent collaboration là design pattern AI hiệu quả, tận dụng sự chuyên môn hóa của từng agent, phân rã nhiệm vụ và prompting chuyên biệt cho từng agent để xử lý các nhiệm vụ phức tạp một cách hiệu quả hơn. Khi các framework multi-agent tiếp tục phát triển, cải thiện thì hệ thống multi-agent có khả năng sẽ trở thành một nền tảng cốt lõi trong các workflow mà AI điều khiển, mang lại cho developers cả cấu trúc lẫn sự linh hoạt để giải quyết các dự án ngày càng phức tạp.