1. Từ Single Agent đến Multi-Agent: Bài toán thực tế

Trong những năm gần đây, các mô hình ngôn ngữ lớn (LLM) như GPT, Claude đã chứng minh khả năng ấn tượng trong việc xử lý ngôn ngữ tự nhiên. Tuy nhiên, khi triển khai các ứng dụng thực tế - đặc biệt là trong bối cảnh doanh nghiệp Việt Nam - chúng ta thường gặp phải những hạn chế khi chỉ dựa vào một AI agent đơn lẻ (single-agent).

Hạn chế của Single Agent

Hãy lấy ví dụ từ một dự án chatbot bệnh viện mà tôi từng tham gia. Ban đầu, chúng tôi thiết kế một chatbot đơn giản với nhiệm vụ:

  • Tư vấn triệu chứng bệnh
  • Đặt lịch khám
  • Tra cứu thông tin bác sĩ
  • Hướng dẫn quy trình xét nghiệm

Với một single agent, chúng tôi nhanh chóng gặp phải ba vấn đề lớn:

1. Quá tải công cụ (Tool Overload)Khi tích hợp nhiều API (hệ thống đặt lịch, cơ sở dữ liệu bác sĩ, tra cứu xét nghiệm...), agent phải chọn đúng công cụ từ hàng chục lựa chọn. Điều này dẫn đến việc agent thường chọn sai tool hoặc chậm trễ trong quá trình ra quyết định.

2. Quá tải ngữ cảnh (Context Overload)Trong các cuộc hội thoại dài, việc quản lý toàn bộ lịch sử chat, thông tin bệnh nhân, và các bước trung gian trở nên phức tạp. Agent dễ "quên" hoặc nhầm lẫn thông tin quan trọng.

3. Thiếu chuyên môn hóaMột agent không thể đồng thời làm tốt cả việc tư vấn y tế (cần kiến thức chuyên sâu) và xử lý lịch hẹn (cần logic nghiệp vụ chính xác). Kết quả là chất lượng của từng tác vụ đều không đạt mức tối ưu.

2. Multi-Agent Architecture: Giải pháp cho bài toán phức tạp

Multi-agent system chia nhỏ hệ thống thành các agent độc lập, mỗi agent chuyên trách một nhiệm vụ cụ thể. Các agent này giao tiếp với nhau hoặc được điều phối bởi một supervisor.

Các kiến trúc Multi-Agent phổ biến

Dựa trên nghiên cứu và kinh nghiệm thực tế, có 6 dạng kiến trúc chính:

Network (Peer-to-Peer)Các agent kết nối với nhau theo mạng không định hướng, mỗi agent có thể gửi thông tin cho các agent khác. Phù hợp với hệ thống cần khả năng phối hợp linh hoạt như hệ thống tranh luận đa chiều hoặc nhóm cộng tác AI.

Supervisor (Orchestrator)Một agent giám sát điều phối hoạt động của các agent con. Supervisor nhận đầu vào từ người dùng và chia task cho các agent chuyên biệt. Ưu điểm lớn nhất là đơn giản hóa điều phối và dễ theo dõi luồng tác vụ.

Supervisor as ToolsBiến các agent thành "tools" có thể được gọi bởi một LLM chính. Tương tự function calling, nhưng mỗi "tool" là một agent có logic riêng. Lợi ích là dễ tích hợp vào các pipeline hiện có.

Hierarchical (Phân cấp)Các agent được sắp xếp theo dạng cây với luồng điều phối từ trên xuống. Phù hợp với bài toán cần phân chia tác vụ theo nhiều lớp: chiến lược → chiến thuật → hành động cụ thể.

CustomHệ thống được thiết kế linh hoạt theo logic riêng, không tuân theo mẫu cố định. Phù hợp với hệ thống sản phẩm lớn cần kiểm soát hiệu năng, chi phí và độ tin cậy.

3. Xây dựng Visual Agentic AI: Case study thực tế

Để minh họa cách multi-agent hoạt động, chúng ta sẽ xây dựng một hệ thống Visual Agentic AI sử dụng kiến trúc Supervisor với LangGraph.

Visual Agentic Agent

Kiến trúc tổng quan

Hệ thống gồm ba thành phần chính:

  1. Supervisor Agent: Điều phối và phân công nhiệm vụ
  2. Research Agent: Tìm kiếm và tổng hợp thông tin học thuật (sử dụng Arxiv, Wikipedia)
  3. Vision Agent: Xử lý hình ảnh (mô tả ảnh, detect object với YOLOv11)

ReAct Agent Pattern

Cả Research và Vision Agent đều được xây dựng dựa trên ReAct Pattern (Reasoning + Acting):

  • Reasoning (Suy luận): Agent phân tích vấn đề và lập kế hoạch
  • Acting (Hành động): Agent thực hiện hành động dựa trên suy luận
  • Observation (Quan sát): Agent nhận phản hồi và điều chỉnh

Quy trình này lặp lại cho đến khi hoàn thành nhiệm vụ.

Implementation với LangGraph

Research Agent được thiết kế để tìm kiếm thông tin học thuật:

python

research_agent = create_react_agent(
    model="gpt-4o-mini",
    tools=[arxiv, wikipedia],
    prompt=(
        "You are a research agent.\n"
        "- Assist ONLY with research-related tasks\n"
        "- After you're done, respond to supervisor directly\n"
        "- Respond ONLY with results, do NOT include other text."
    ),
    name="research_agent",
)

Vision Agent xử lý các tác vụ liên quan đến hình ảnh:

python

vision_agent = create_react_agent(
    model="gpt-4o-mini",
    tools=[image_describer_tool, detect_and_count_object_tool],
    prompt=(
        "You are a vision agent.\n"
        "- Assist ONLY with visual tasks\n"
        "- Use only the tools provided to analyze visual inputs\n"
        "- Respond to supervisor after completing task"
    ),
    name="vision_agent"
)

Supervisor Agent điều phối giữa hai agent:

python

supervisor = create_supervisor(
    model=init_chat_model("gpt-4o-mini"),
    agents=[research_agent, vision_agent],
    prompt=(
        "You are a supervisor managing two agents:\n"
        "- research_agent: Use ONLY for research tasks\n"
        "- vision_agent: Use ONLY for visual tasks\n"
        "- Assign tasks to only ONE agent at a time\n"
        "- Do NOT call multiple agents in parallel"
    ),
).compile()

Ví dụ thực tế

Khi người dùng hỏi: "What is the concept visualized in the image? Image :
https://huggingface.co/datasets/tmnam20/Storage/resolve/main/rope.png Provide detailed information and research papers about it."

Hệ thống hoạt động như sau:

  1. Supervisor nhận request và phân tích cần cả vision và research
  2. Gọi Vision Agent → mô tả ảnh là "Rotary Position Embedding (RoPE)"
  3. Gọi Research Agent → tìm papers về RoPE trên Arxiv
  4. Supervisor tổng hợp và trả về kết quả đầy đủ

4. Ứng dụng Multi-Agent trong doanh nghiệp Việt Nam

Healthcare System

Quay lại ví dụ chatbot bệnh viện, với multi-agent architecture:

  • Triage Agent: Đánh giá mức độ khẩn cấp của triệu chứng
  • Appointment Agent: Xử lý đặt lịch, kiểm tra slot trống
  • Information Agent: Tra cứu thông tin bác sĩ, quy trình
  • Supervisor: Điều phối và đảm bảo trải nghiệm mượt mà

Lợi ích: Mỗi agent có thể được tối ưu riêng, dễ maintain, và scale theo nhu cầu.

E-commerce Platform

  • Product Search Agent: Tìm kiếm sản phẩm thông minh
  • Price Comparison Agent: So sánh giá từ nhiều nguồn
  • Order Processing Agent: Xử lý đơn hàng, thanh toán
  • Customer Service Agent: Hỗ trợ khách hàng

Internal Business Tools

  • Document Agent: Tra cứu quy trình, chính sách công ty
  • Approval Agent: Xử lý quy trình phê duyệt
  • Report Agent: Tạo báo cáo tự động
  • Integration Agent: Kết nối với Google Drive, Slack, email

5. Thách thức kỹ thuật và giải pháp

Communication Protocol

Vấn đề: Làm thế nào để các agent giao tiếp hiệu quả?

Giải pháp: LangGraph cung cấp message passing mechanism với state management tích hợp. Mỗi node (agent) có thể đọc/ghi vào shared state.

Error Handling

Vấn đề: Nếu một agent fail thì sao?

Giải pháp:

  • Implement fallback mechanism
  • Supervisor có thể retry với agent khác
  • Timeout và circuit breaker cho mỗi agent

Cost Optimization

Vấn đề: Nhiều agent = nhiều API calls = chi phí cao

Giải pháp:

  • Cache kết quả của các query phổ biến
  • Dùng model nhẹ (như GPT-4o-mini) cho các tác vụ đơn giản
  • Batch processing khi có thể

State Management

Vấn đề: Quản lý state giữa các agent phức tạp

Giải pháp: LangGraph sử dụng typed state với clear schema:

python

class State(TypedDict):
    messages: Annotated[List[AnyMessage], add_messages]
    current_agent: str
    task_result: Optional[dict]

6. Best Practices & Lessons Learned

Khi nào nên dùng Multi-Agent?

NÊN dùng khi:

  • Hệ thống có nhiều domain khác nhau (ví dụ: text + vision + search)
  • Cần khả năng scale và maintain riêng từng component
  • Muốn tối ưu cost bằng cách dùng model phù hợp cho từng task
  • Team lớn, nhiều người làm các agent khác nhau

KHÔNG NÊN dùng khi:

  • Bài toán đơn giản, có thể giải quyết bằng single agent + function calling
  • Chi phí latency quan trọng (multi-agent có latency cao hơn)
  • Team nhỏ, không đủ resource để maintain nhiều agent

Trade-offs cần cân nhắc

AspectSingle AgentMulti-Agent
ComplexityThấpCao
LatencyNhanhChậm hơn (do coordination)
CostThấp hơnCao hơn (nhiều API calls)
MaintainabilityKhó khi scaleDễ maintain từng phần
FlexibilityHạn chếRất linh hoạt

Tips từ kinh nghiệm thực tế

  1. Bắt đầu đơn giản: Implement single agent trước, chỉ chuyển sang multi-agent khi thực sự cần thiết
  2. Logging và Monitoring: Với multi-agent, việc debug khó hơn nhiều. Đầu tư vào observability từ đầu (LangSmith là công cụ tốt)
  3. Clear Responsibility: Mỗi agent phải có scope rõ ràng, tránh overlap
  4. Supervisor Design: Supervisor không nên làm quá nhiều việc, chỉ routing và coordination
  5. Testing Strategy: Test từng agent độc lập trước khi test integration

7. Tương lai của Multi-Agent Systems

Multi-agent architecture đang trở thành xu hướng chính trong xây dựng ứng dụng AI thực tế. Một số hướng phát triển đáng chú ý:

  • Self-improving agents: Agents học từ feedback và cải thiện performance theo thời gian
  • Dynamic team composition: Hệ thống tự động thêm/bớt agents dựa trên workload
  • Cross-company collaboration: Agents từ các công ty khác nhau có thể làm việc cùng nhau
  • Specialized Vietnamese agents: Agents được train đặc biệt cho ngữ cảnh, văn hóa, business logic Việt Nam

Kết luận

Multi-agent systems không phải là giải pháp cho mọi bài toán AI, nhưng khi được áp dụng đúng cách, nó mang lại khả năng mở rộng và maintainability vượt trội. Đối với các doanh nghiệp Việt Nam đang triển khai AI, việc hiểu rõ kiến trúc này sẽ giúp đưa ra quyết định thiết kế tốt hơn.

Từ kinh nghiệm thực tế tại VietnamLab, tôi nhận thấy rằng thành công của multi-agent không chỉ nằm ở kỹ thuật, mà còn ở việc "Việt hóa" - điều chỉnh agents để phù hợp với cách làm việc, ngôn ngữ và kỳ vọng của khách hàng Việt Nam.


Tài liệu tham khảo:

  • LangGraph Documentation
  • ReAct: Synergizing Reasoning and Acting in Language Models
  • AI Vietnam - Visual Agentic AI Course Materials