Giải pháp kỹ thuật đằng sau kiến trúc CoA

Kiến trúc Chain-of-Agents (CoA) đánh dấu bước tiến kỹ thuật đột phá về điều phối và cấu hình khai báo, xóa bỏ rào cản cố hữu trong hệ thống phân tán phức tạp. Đây cũng là lúc tương lai của AI sẵn sàng bứt phá mọi giới hạn.

Upload image

Đọc thêm: Vượt qua giới hạn của LLM với CoA

Bạn đã bao giờ tự hỏi làm sao để xây dựng một AI có thể thực hiện một chuỗi các hành động như nghiên cứu thị trường, viết báo cáo, và sau đó tự động gửi email cho khách hàng, tất cả diễn ra liền mạch và đáng tin cậy chưa?

Đối với bài toán đòi hỏi suy luận phức tạp, độ chính xác cao và khả năng tương tác liên tục với môi trường bên ngoài, thực tế cho thấy nếu chỉ với một LLM đơn lẻ, dù mạnh mẽ đến đâu vẫn chưa đủ. Nó giống như một 'bộ não' vĩ đại nhưng thiếu đi các giác quan và 'tay chân' để thực sự tác động vào thế giới.

Đây chính là lúc Chain-of-Agents (CoA) trở thành một chiến lược kiến trúc thiết yếu để xây dựng các hệ thống AI không chỉ thông minh mà còn linh hoạt, đáng tin cậy và có khả năng giải quyết những vấn đề phức tạp trong thế giới thực.

Ở phần tiếp theo này, chúng ta sẽ cùng đi sâu vào các khía cạnh kỹ thuật chi tiết để xây dựng hệ thống CoA.

Khi trí tuệ AI 'đội nhóm' phối hợp nhịp nhàng

Hãy tưởng tượng một dự án lớn với nhiều vấn đề phức tạp cần giải quyết trong doanh nghiệp, hiếm khi chúng ta giao toàn bộ gánh nặng cho một cá nhân 'siêu nhân'. Thay vào đó, chúng ta tập hợp một đội ngũ chuyên gia, mỗi người đảm nhiệm một phần việc với những kỹ năng chuyên sâu cụ thể, cùng phối hợp ăn ý dưới sự điều hành của một người quản lý dự án. Triết lý này chính là linh hồn của CoA.

Chúng ta không còn coi LLM là một bộ não toàn năng, mà là một tài nguyên có thể được đóng gói thành những agent chuyên biệt, có khả năng hợp tác, lập kế hoạch và thực thi nhiệm vụ trong một quy trình có tổ chức. Agent không chỉ đơn thuần là một lời gọi API tới một LLM mà là một thực thể thông minh được trang bị 3 năng lực cốt lõi, biến nó thành một chuyên gia ảo có khả năng tự chủ.

Upload image

Ba năng lực cốt lõi của một kiến trúc CoA gồm Cognitive Model, Memory và Toolset

Cognitive Model

Đầu tiên là bộ não suy luận (Cognitive Model), thường được cung cấp bởi một LLM mạnh mẽ. Đây là trung tâm tư duy của agent, cung cấp khả năng tư duy bậc cao và quyết định chiến lược cho agent, điều mà các hệ thống truyền thống khó đạt được.

Bộ não suy luận cho phép nó hiểu rõ nhiệm vụ được giao, lập kế hoạch các bước hành động cần thiết, đưa ra quyết định dựa trên thông tin nhận được, và thậm chí tự điều chỉnh hành vi của mình khi gặp phải những tình huống bất ngờ. Ví dụ, một agent chuyên về phân tích thị trường sẽ sử dụng khả năng của LLM để diễn giải các báo cáo kinh tế phức tạp, nhận diện các xu hướng tiềm năng, và thậm chí đề xuất các lĩnh vực cần nghiên cứu sâu hơn.

Memory

Tiếp theo là bộ nhớ (memory), một yếu tố then chốt giúp agent duy trì ngữ cảnh xuyên suốt các tương tác dài và học hỏi từ những kinh nghiệm đã qua. Bộ nhớ này được chia thành hai loại là ngắn hạn và dài hạn. Trong đó, bộ nhớ ngắn hạn là những ngữ cảnh được giữ trong cửa sổ token của LLM cho một phiên giao tiếp hiện tại. Bộ nhớ dài hạn thường được lưu trữ trong các hệ thống chuyên biệt như cơ sở dữ liệu vector, cho phép agent truy xuất thông tin quan trọng từ một kho kiến thức khổng lồ, vượt xa giới hạn ngữ cảnh tức thời của một LLM đơn lẻ.

Từ góc độ kỹ thuật, việc triển khai bộ nhớ dài hạn đòi hỏi hệ thống phải có khả năng tạo ra các biểu diễn số (embeddings) của thông tin, lưu trữ chúng hiệu quả trong cơ sở dữ liệu vector, và thực hiện tìm kiếm ngữ nghĩa nhanh chóng để agent có thể truy xuất kiến thức liên quan một cách kịp thời và hiệu quả. Các chiến lược đánh chỉ mục (indexing) và truy vấn tối ưu là cực kỳ quan trọng để đảm bảo hiệu suất.

Toolset

Cuối cùng là bộ công cụ (toolset), đây là bộ dụng cụ mà agent có thể sử dụng để tương tác với thế giới bên ngoài. Vượt ra ngoài khả năng ngôn ngữ thuần túy của LLM, bộ công cụ này là tập hợp các hàm, API mà agent có thể gọi để thực hiện các hành động cụ thể. Đó có thể là các API của dịch vụ bên thứ ba, ví dụ: công cụ tìm kiếm web để thu thập thông tin, hệ thống quản lý quan hệ khách hàng (CRM) để cập nhật hồ sơ, hoặc API gửi email để thông báo kết quả). Ngoài ra còn có thể là các hàm tính toán phức tạp, hoặc các chức năng đọc/ghi dữ liệu từ các hệ thống lưu trữ nội bộ.

Việc thiết kế bộ công cụ cần bắt đầu từ việc xác định rõ giao diện cho từng công cụ, bao gồm các tham số đầu vào, kiểu dữ liệu đầu ra. Sau đó, cần làm rõ cách agent sẽ sử dụng các công cụ này, thường là thông qua các lệnh do LLM sinh ra, tuân theo một định dạng chuẩn như JSON Schema để hệ thống dễ dàng phân tích và thực thi. Cuối cùng, cần xây dựng cơ chế xử lý phản hồi và lỗi từ các công cụ để đảm bảo agent hoạt động ổn định, linh hoạt trong mọi tình huống.

Workflow

Các agent này không hoạt động ngẫu nhiên hay độc lập. Chúng được kết nối và điều phối chặt chẽ thông qua một luồng công việc (workflow) được định nghĩa rõ ràng. Workflow này giống như một 'bản tổng phổ' chi tiết, mô tả trình tự các bước, các điểm rẽ nhánh dựa trên điều kiện cụ thể, và các vòng lặp cần thiết để đạt được mục tiêu cuối cùng. Đầu ra của một agent thường trở thành đầu vào cho agent tiếp theo, tạo nên một chuỗi logic, phân tích và hành động xuyên suốt hệ thống, biến một vấn đề lớn thành một chuỗi các nhiệm vụ nhỏ hơn, có thể quản lý được.

Ví dụ về workflow "Tạo và gửi báo cáo thị trường" sẽ gồm:

  1. Agent nghiên cứu: Sử dụng công cụ tìm kiếm web và API phân tích dữ liệu để thu thập thông tin thị trường
  2. Agent phân tích: Xử lý dữ liệu thô, nhận diện xu hướng và tạo báo cáo nháp
  3. Agent kiểm tra chất lượng (HITL): Tạm dừng luồng để chờ người dùng xem xét, chỉnh sửa bản nháp
  4. Agent hoàn thiện: Cập nhật báo cáo dựa trên phản hồi của người dùng
  5. Agent giao tiếp: Sử dụng API gửi email để gửi báo cáo cuối cùng đến danh sách khách hàng

Các giải pháp kỹ thuật để xây dựng CoA

Upload image

Khi bước vào giai đoạn triển khai thực tế, chúng ta cần một khung làm việc có cấu trúc để hỗ trợ các agent và workflow. Đây là nơi các quyết định kiến trúc và kỹ thuật trở nên quan trọng, giải quyết những thách thức cố hữu của một hệ thống phân tán phức tạp. Chúng ta đang nói về việc xây dựng một hệ thống điều phối luồng công việc tự hành (Autonomous and Resilient Workflow Orchestration System) sở hữu nhiều khả năng.

1. Cấu hình linh hoạt

Trong kiến trúc hệ thống AI hiện đại, nơi yêu cầu nghiệp vụ liên tục biến đổi, khả năng thay đổi hành vi của các agent và orchestration workflow mà không cần can thiệp sâu vào mã nguồn là tối quan trọng.

Thay vì nhúng sâu logic nghiệp vụ vào code, chúng ta chuyển sang mô hình khai báo cấu hình (declarative configuration). Nghĩa là mọi khía cạnh của hệ thống - từ định nghĩa workflow, cấu hình chi tiết của từng agent, các primitive tasks, toolset tích hợp, memory configuration và checkpoint - đều được mô tả tường minh bằng cấu hình dễ đọc, dễ chỉnh sửa mà vẫn không làm hỏng hệ thống. Nhờ vậy, đội ngũ phát triển và vận hành có thể thay đổi nhanh chóng cấu hình của từng agent, điều hướng luồng xử lý một cách chủ động. Phương pháp này không chỉ mang lại sự linh hoạt, mà còn đảm bảo khả năng tái sử dụng, quản lý phiên bản hiệu quả với các công cụ như Git và tích hợp tự động vào pipeline CI/CD.

Upload image

Khai báo cấu hình giúp thay đổi nhanh hành vi agent, mở rộng workflow mà không cần sửa code

Để cụ thể hóa, hãy tưởng tượng một file cấu hình có thể phác thảo một workflow, vạch ra các bước tuần tự như:

  • Agent A: Phác thảo dàn ý
  • Agent B: Soạn thảo nội dung
  • Agent C: Kiểm tra và hoàn thiện

Mỗi agent lại có một cấu hình riêng, chỉ định rõ LLM nào sẽ được sử dụng, các nhắc lệnh cụ thể định hình 'tính cách' của nó, và danh sách các công cụ mà nó được phép truy cập. Ví dụ ở agent A có thể sẽ là công cụ tìm kiếm web để nghiên cứu chủ đề, hoặc một API kiểm tra ngữ pháp.

Thậm chí, ta còn có thể cấu hình hệ thống lưu trữ bộ nhớ dài hạn cho agent (chẳng hạn như kết nối tới một cơ sở dữ liệu vector cụ thể) và cách lưu trữ các điểm phục hồi trạng thái (ví dụ: đường dẫn tới nơi lưu checkpoint).

Ưu điểm kỹ thuật của phương pháp này là nó mang lại sự linh hoạt đáng kinh ngạc, cho phép các kỹ sư nhanh chóng điều chỉnh hành vi của agent, thêm các agent mới hoặc thay đổi workflow chỉ bằng cách cập nhật cấu hình mà không cần thay đổi hay biên dịch lại phần lõi của hệ thống. Điều này không chỉ đẩy nhanh tốc độ phát triển mà còn đơn giản hóa quy trình thử nghiệm và khắc phục sự cố, vì hành vi có thể được kiểm soát và điều chỉnh thông qua dữ liệu cấu hình.

2. Quản lý trạng thái

Các workflow của CoA thường kéo dài, bao gồm nhiều bước phức tạp và tương tác liên tục với các dịch vụ bên ngoài. Trong môi trường phân tán, sự cố hệ thống (như sập máy chủ, lỗi ứng dụng, mất kết nối mạng) là điều khó tránh khỏi. Để đảm bảo tính toàn vẹn và khả năng phục hồi, hệ thống điều phối phải có khả năng ghi lại tiến trình của workflow một cách bền vững.

Upload image

Lưu trạng thái bền vững giúp workflow phục hồi nhanh khi gặp sự cố

Đây chính là nơi vai trò cốt lõi của quản lý trạng thái (state management) phát huy. Hệ thống được thiết kế để tự động lưu trữ toàn bộ trạng thái của workflow sau mỗi bước hoàn thành thành công.

Để cụ thể hóa, giả sử workflow đang ở bước "Agent B đang soạn thảo nội dung", và đột nhiên máy chủ gặp sự cố. Nhờ cơ chế lưu trữ trạng thái bền vững (checkpointing), hệ thống điều phối đã kịp thời ghi lại trạng thái "Agent B đã hoàn thành X% bản nháp" vào một kho lưu trữ (ví dụ: một cơ sở dữ liệu hoặc file được cấu hình làm nơi lưu checkpoint). Khi máy chủ được khởi động lại, hệ thống sẽ đọc lại trạng thái từ đó và tự động tiếp tục thực thi từ chính điểm đã dừng, không cần phải bắt đầu lại từ đầu hay lặp lại các tác vụ tốn kém tài nguyên (như gọi lại LLM).

Việc triển khai thường bao gồm việc sử dụng một kho lưu trữ sự kiện (event store) hoặc cơ sở dữ liệu chuyên dụng để ghi lại lịch sử các sự kiện và trạng thái của mỗi phiên bản workflow. Các execution engine - tức là các worker thực thi các agent - sẽ liên tục giao tiếp với hệ thống điều phối, báo cáo trạng thái hoàn thành của mỗi bước, cho phép hệ thống điều phối cập nhật trạng thái vào kho lưu trữ sự kiện. Việc này giúp giảm gánh nặng phát triển logic quản lý trạng thái phức tạp khỏi vai trò của từng agent, giúp agent tập trung vào nghiệp vụ của nó.

3. Xử lý lỗi và phục hồi tự động

Các tương tác với dịch vụ bên ngoài (API của LLM, API của các hệ thống nghiệp vụ) thường tiềm ẩn rủi ro không ổn định như giới hạn tốc độ (rate limit), timeout, hoặc lỗi tạm thời. Một hệ thống AI bền vững phải có khả năng tự động xử lý các tình huống này. Hệ thống phải tích hợp sẵn các chính sách xử lý lỗi và thử lại tự động, giảm gánh nặng cho từng agent.

Upload image

Tự động thử lại và xử lý lỗi giúp workflow ổn định, hạn chế gián đoạn khi gặp sự cố

Ví dụ, nếu một agent cố gắng gọi API của một LLM và nhận lỗi "rate limit", hệ thống điều phối sẽ không đánh dấu tác vụ đó là thất bại ngay lập tức. Thay vào đó, nó sẽ tự động thử lại cuộc gọi đó sau một khoảng thời gian được cấu hình (ví dụ: thử lại theo cấp số nhân với độ trễ tăng dần), giảm thiểu khả năng tắc nghẽn hoặc lỗi do vấn đề tạm thời. Nếu lỗi là vĩnh viễn hoặc sau nhiều lần thử lại vẫn không thành công, workflow có thể được định tuyến đến một agent dự phòng, hoặc tạm dừng để chờ can thiệp thủ công theo quy tắc được định nghĩa trước.

Việc retry (thử lại) và timeout (thời gian chờ) được cấu hình ở cấp độ tác vụ hoặc agent, cho phép kiểm soát chi tiết việc xử lý lỗi và phục hồi. Bộ điều phối sẽ theo dõi thời gian thực thi và số lần thử lại, tự động quản lý việc gửi lại tác vụ hoặc chuyển tác vụ sang trạng thái lỗi/cần can thiệp, mà không làm hỏng toàn bộ workflow, đồng thời lập tức thông báo cho người quản trị hệ thống về sự cố khi các lỗi vĩnh viễn xảy ra, dù hệ thống có khả năng tự xử lý. Điều này giúp đội ngũ vận hành nắm bắt vấn đề kịp thời.

4. Điều phối tác vụ và hàng đợi

Khi nhu cầu sử dụng tăng vọt, số lượng workflow CoA cần chạy song song có thể lên tới hàng trăm, hàng nghìn phiên bản. Việc phân phối tải hiệu quả và đảm bảo hiệu suất ở quy mô lớn trở thành một thách thức vận hành lớn.

Upload image

Mô hình worker và hàng đợi giúp điều phối tác vụ hiệu quả, đáp ứng nhu cầu mở rộng

Giải pháp kỹ thuật được áp dụng là mô hình worker và hàng đợi tác vụ (message queue). Bộ điều phối trung tâm không tự mình thực thi các tác vụ phức tạp của agent. Thay vào đó, nó sẽ gửi các nhiệm vụ vào các hàng đợi nội bộ được phân chia theo loại tác vụ hoặc mức độ ưu tiên.

Một nhóm các "execution engine" (các tiến trình hoặc dịch vụ độc lập, có thể chạy trên nhiều máy chủ) sẽ liên tục lắng nghe các hàng đợi này. Khi một execution engine rảnh rỗi, nó sẽ lấy một tác vụ từ hàng đợi và thực thi logic của agent được giao. Khi nhu cầu tăng lên, bạn chỉ cần triển khai thêm các execution engine, cho phép hệ thống mở rộng ngang một cách linh hoạt, hiệu quả, không gây tắc nghẽn.

Các công nghệ hàng đợi tin nhắn mạnh mẽ như Kafka, RabbitMQ thường được sử dụng làm trung gian giữa bộ điều phối và các execution engine, đảm bảo việc giao tiếp không đồng bộ, khả năng chịu lỗi và phân phối tải hiệu quả trên toàn bộ hệ thống phân tán, đồng thời giảm tải cho bộ điều phối trung tâm (orchestrator).

5. Tích hợp con người vào vòng lặp

Trong nhiều quy trình nghiệp vụ, sự can thiệp của con người tại các điểm phê duyệt, kiểm tra chất lượng hoặc đưa ra quyết định là không thể thiếu. Hệ thống AI cần có khả năng tạm dừng hoạt động, chờ đợi đầu vào từ con người, và sau đó tiếp tục luồng một cách liền mạch.

Upload image

Tích hợp Human-in-the-Loop (HITL) để tạo điểm dừng mượt mà, đảm bảo tương tác con người liền mạch trong workflow

Hệ thống cung cấp các cơ chế đặc biệt để tạo các điểm dừng bền vững trong workflow và chờ đợi các tín hiệu từ bên ngoài. Chẳng hạn như sau khi một agent tạo ra bản nháp báo cáo, workflow có thể tạm dừng. Hệ thống điều phối sẽ tạo ra một file nháp trong một thư mục được chỉ định (ví dụ: pending_review). Người dùng có thể kiểm tra file này và khi hoàn thành phê duyệt hoặc chỉnh sửa, họ sẽ di chuyển file đó sang một thư mục khác (ví dụ: reviewed). Hệ thống điều phối sẽ liên tục theo dõi thư mục đó, và khi phát hiện file đã được di chuyển, nó sẽ coi đó là "tín hiệu" để tiếp tục workflow, có thể kích hoạt một agent khác để hoàn thiện báo cáo dựa trên những chỉnh sửa của con người.

Cơ chế này có thể sử dụng các kỹ thuật như kiểm tra định kỳ (polling) các nguồn dữ liệu (thư mục, cơ sở dữ liệu), hoặc sử dụng các webhook/listener để nhận tín hiệu tức thì từ giao diện người dùng bên ngoài, đảm bảo việc tạm dừng và tiếp tục luồng một cách mượt mà.

6. Đơn giản hóa điều phối phức tạp

Để minh chứng cho tầm quan trọng của hệ thống điều phối và khả năng cấu hình khai báo, chúng ta có thể nhìn vào cách các ông lớn công nghệ như OpenAI, Google và Microsoft đang kiến tạo tương lai của AI agent.

Upload image

Kiến trúc CoA định hình tương lai bằng cách điều phối agent linh hoạt, tự động hóa các workflow phức tạp

OpenAI: Với GPT-4, OpenAI dùng tính năng Function Calling nhằm nhận diện ý định của người dùng và sinh ra các lệnh gọi hàm theo cấu trúc nhất định (thường là JSON Schema) để tương tác với các công cụ bên ngoài. Mặc dù OpenAI không trực tiếp cung cấp một framework điều phối hoàn chỉnh, việc cung cấp các API LLM mạnh mẽ và khả năng gọi hàm linh hoạt đã khuyến khích sự phát triển của các thư viện như LangChain (và nhánh cải tiến LangGraph). Các thư viện này khai thác Function Calling để xây dựng các chuỗi agent phức tạp, nơi một LLM đóng vai trò là bộ não điều phối các bước, quyết định khi nào cần gọi công cụ và xử lý kết quả.

Google: Việc phát triển Agent Development Kit (ADK) là một cách tiếp cận toàn diện hơn, không chỉ tập trung vào LLM mà còn cung cấp một bộ công cụ và khuôn khổ để xây dựng các agent có khả năng nhận thức và hành động. Google ADK đặc biệt nhấn mạnh vào mô hình khai báo cấu hìnhworkflow-as-code, cho phép các nhà phát triển định nghĩa rõ ràng vai trò của từng agent, các công cụ mà chúng có thể sử dụng, và luồng tương tác giữa chúng. Cách tiếp cận này giúp tối ưu hóa khả năng tùy biến, kiểm soát và mở rộng hệ thống agent trong các ứng dụng doanh nghiệp phức tạp.

Microsoft: Thông qua AutoGen, một framework mã nguồn mở mạnh mẽ có khả năng xây dựng các multi-agent conversation frameworks (khuôn khổ hội thoại đa tác nhân). Trong AutoGen, các agent không chỉ thực hiện nhiệm vụ đơn lẻ mà còn có khả năng giao tiếp, thảo luận, và thậm chí tranh luận với nhau để cùng nhau giải quyết một vấn đề phức tạp. Framework này khuyến khích việc định nghĩa các vai trò khác nhau cho các agent (ví dụ: lập trình viên, người kiểm thử, nhà phân tích dữ liệu) và sau đó để chúng tự động 'trò chuyện' thông qua prompt để hoàn thành nhiệm vụ. Điều này thể hiện một bước tiến lớn trong việc tự động hóa các quy trình làm việc phức tạp bằng cách mô phỏng sự tương tác giữa con người.

CoA - Tương lai bền vững của AI

Kiến trúc CoA không chỉ là một ý tưởng trừu tượng, nó là một lộ trình mạnh mẽ và thực tiễn để xây dựng các hệ thống AI thực sự thông minh, linh hoạt và đáng tin cậy.

Bằng cách tỉ mỉ cân nhắc từng khía cạnh kỹ thuật - từ cách cấu hình khai báo giúp hệ thống linh hoạt, đến cách xử lý lỗi và điều phối tác vụ trên nhiều worker để đảm bảo độ tin cậy và hiệu suất, và cuối cùng là tích hợp tương tác với con người để tối ưu hóa quy trình - chúng ta có thể chuyển đổi các mô hình ngôn ngữ lớn từ những công cụ mạnh mẽ đơn lẻ thành những 'đội ngũ' AI phối hợp nhịp nhàng, hoạt động bền bỉ trong mọi môi trường.

Đây là một bước tiến quan trọng, đưa AI từ những mô hình thử nghiệm sang các ứng dụng sản xuất có giá trị thực tiễn và bền vững, mở ra cánh cửa cho những khả năng chưa từng có trong tương lai.

Atekco - Home for Authentic Technical Consultants
Atekco on Apple Podcast