Điều phối tác nhân AI (AI Agent Orchestration) cho Sales Agent

Đỗ Minh Đức Đỗ Minh Đức
Chia sẻ bài viết

Bài viết này đi sâu vào khía cạnh kỹ thuật của việc xây dựng một hệ thống AI Sales Agent phức tạp, sử dụng phương pháp điều phối đa tác nhân (Multi-Agent Orchestration). Bài viết này dành cho các developer muốn hiểu rõ bên ngoài ngữ cảnh và tự tay triển khai một AI Agent thực thụ.

AI Agent Orchestration là gì?

Trước khi đi vào xây dựng, chúng ta cần thống nhất về khái niệm. AI Agent Orchestration không phải là một framework cụ thể, mà là một phương pháp thiết kế hệ thống (system design pattern).
Hãy tưởng tượng nó giống như kiến trúc Microservices. Thay vì build một AI Agent "monolithic" cố gắng làm mọi thứ, chúng ta chia nhỏ nó thành nhiều Agent chuyên biệt. Mỗi Agent chỉ làm một việc và làm thật tốt (ví dụ: một Agent chuyên về kiến thức sản phẩm, một Agent chuyên thao tác với CRM, một Agent chuyên phân tích insight khách hàng).

Khi đó, Orchestration chính là việc điều phối các Agent này:

  • Planning: Nhận một yêu cầu phức tạp từ người dùng và phân nó thành một chuỗi các task nhỏ hơn.
  • Delegating: Giao mỗi task cho đúng Agent có chuyên môn.
  • State Management: Quản lý context và luồng thông tin giữa các Agent.
  • Execution: Tổng hợp kết quả từ các Agent để trả về câu trả lời cuối cùng cho người dùng.

Về bản chất, chúng ta đang build một bộ não trung tâm (Orchestrator) để quản lý một team các AI Agent giúp chúng hợp tác nhịp nhàng để hoàn thành một mục tiêu lớn.

Nguyên tắc cốt lõi trong Orchestration

Để xây dựng một hệ thống Orchestration hiệu quả, cần tuân thủ một vài nguyên tắc thiết kế:

  • Modularity & Single Responsibility: Mỗi Agent phải được coi là một module độc lập, có một nhiệm vụ duy nhất và rõ ràng. Điều này giúp dễ dàng bảo trì, nâng cấp và scale từng Agent mà không ảnh hưởng đến toàn hệ thống.
  • Stateless Communication: Các Agent nên giao tiếp với nhau một cách stateless nhất có thể. Toàn bộ context cần thiết cho một task nên được truyền đi trong request. State của cả cuộc hội thoại sẽ do Orchestrator hoặc một Shared Memory (như Redis) quản lý.
  • Tooling & Function Calling: Agent không chỉ nói chuyện, chúng cần phải hành động. Điều này được thực hiện thông qua việc cho phép các Agent gọi đến các tools, về cơ bản là các functions hoặc APIs để tương tác với thế giới bên ngoài (database, CRM, calendar,...).
  • Centralized Planning: Việc lên kế hoạch thực thi phải được quản lý tập trung bởi Orchestrator. Agent cấp dưới chỉ nhận task và thực thi, không tự ý quyết định luồng đi của cả hệ thống.

Các giai đoạn triển khai điều phối tác nhân AI

Đây là roadmap chi tiết để xây dựng hệ thống từ con số không. Chúng tôi lấy kiến thức từ việc triển khai BizChatAI - Dịch vụ chatbot AI của Vccorp để viết lại quá trình như sau:

Giai đoạn 1: Xây dựng nền tảng hỏi - đáp dựa trên tri thức

Đây là bước khởi đầu để tạo ra một Agent cơ bản nhưng cực kỳ quan trọng: Agent có khả năng trả lời câu hỏi dựa trên kho tài liệu có sẵn. Về mặt kỹ thuật, đây chính là pattern Retrieval-Augmented Generation (RAG).

Xây dựng một Agent có thể trả lời các câu hỏi về sản phẩm, chính sách, FAQs... một cách chính xác bằng cách trích xuất thông tin từ tài liệu nội bộ (PDFs, docs, website data).

Các thành phần chính cần xây dựng:

  1. Data Ingestion Pipeline: Một script (hoặc một service) để đọc dữ liệu từ nguồn, chunking, tạo embeddings (sử dụng các models như text-embedding-3-small) và lưu vào Vector Database.
  2. Vector Database: Nơi lưu trữ các vector embeddings của tri thức. Các lựa chọn phổ biến: Pinecone, ChromaDB, Weaviate
  3. Gateway API: Endpoint để client (frontend app) gọi vào.
  4. Core Logic:
  • Retriever: Nhận query từ user, tạo embedding cho query đó và tìm kiếm các chunks văn bản tương đồng nhất (top-k) trong Vector Database.
  • Generator: Sử dụng một LLM (như Gemini hoặc GPT-4, GPT-5) để tổng hợp câu trả lời dựa trên query của user và context được Retriever cung cấp.

Luồng triển khai (Step-by-step):

Bước 1: Setup Infrastructure

Triển khai một trường hợp Vector Database.

Bước 2: Build Ingestion Pipeline

Viết script Python sử dụng các thư viện như LangChain hoặc LlamaIndex để tự động hóa việc đọc, chunk, và push data vào Vector DB. Chạy script này để nạp tri thức lần đầu.

Bước 3: Build API Endpoint

Dùng FastAPI hoặc Flask để tạo một endpoint, ví dụ /ask. Endpoint này nhận {"query": "..."} làm input.

Bước 4: Implement RAG Logic

Bên trong endpoint /ask, code logic để:

a. Vector hóa query của user.
b. Gọi đến Vector DB để lấy context.
c. Tạo prompt cho LLM theo template: {"role": "system", "content": "You are a helpful assistant. Answer based on this context: {context}"} và {"role": "user", "content": "{query}"}.
d. Gọi API của LLM và trả về kết quả.

Giai đoạn 2: Nâng cấp Agent với nhiều khả năng hơn

Agent của chúng ta giờ đã biết trả lời, nhưng chưa biết làm. Giai đoạn này chúng ta sẽ trang bị cho nó các tools để tương tác với các hệ thống khác.

Mục tiêu cho phép Agent thực hiện các hành động cụ thể như kiểm tra tình trạng đơn hàng, lấy thông tin khách hàng từ CRM, hoặc kiểm tra tồn kho sản phẩm.

Các thành phần chính cần xây dựng:

  1. Tool Registry: Một loạt các tools mà Agent có thể sử dụng. Về mặt code, đây có thể là một dictionary hoặc class quản lý danh sách các functions, mỗi function có mô tả rõ ràng về chức năng và các tham số đầu vào/đầu ra.
  2. API Wrappers: Các functions Python để gọi đến API của các hệ thống bên ngoài (CRM, ERP, database nội bộ...). Ví dụ: def get_customer_info_from_crm(email: str) -> dict: …
  3. ReAct Logic Loop: Thay đổi core logic của Agent để nó hoạt động theo vòng lặp Reasoning-Acting (ReAct). LLM không chỉ trả lời mà còn có thể quyết định suy nghĩ và hành động bằng cách gọi một tool. Hầu hết các LLM hiện đại đều hỗ trợ Function Calling để làm việc này một cách native.

Luồng triển khai (Step-by-step):

Bước 1: Define & Implement Tools

Viết các hàm Python để tương tác với hệ thống ngoài (ví dụ get_order_status (order_id)). Đảm bảo các hàm này robust, có xử lý lỗi.

Bước 2: Describe Tools for LLM

Tạo một JSON schema hoặc docstring chi tiết mô tả từng tool. Đây là thông tin cực kỳ quan trọng để LLM hiểu được khi nào nên dùng tool nào.

Bước 3: Modify Agent's Core Logic 

Thay đổi prompt hoặc cách gọi API của LLM để tích hợp tools. Khi gọi LLM, bạn sẽ truyền vào cả query và danh sách các tools có sẵn.

Bước 4: Implement Tool Execution

Nếu LLM trả về một quyết định gọi tool (ví dụ: {"tool_name": "get_order_status", "arguments": {"order_id": "XYZ123"}}), code của bạn phải thực thi hàm tương ứng, lấy kết quả và gửi ngược lại cho LLM trong lần gọi tiếp theo để nó tổng hợp câu trả lời cuối cùng.

Giai đoạn 3: Kết nối, hợp tác Multi-Agent

Đây là lúc chúng ta áp dụng Orchestration. Thay vì một Agent làm tất cả, chúng ta chia nó thành một team gồm nhiều Agent chuyên biệt.

Xây dựng một hệ thống có khả năng xử lý các yêu cầu đa bước, phức tạp bằng cách phân rã công việc và điều phối nhiều Agent cùng hợp tác. Ví dụ: "Tìm trong CRM những khách hàng tiềm năng ở Hà Nội, sau đó dựa vào lịch sử mua hàng để đề xuất sản phẩm phù hợp cho từng người".

Các thành phần chính cần xây dựng:

  1. Orchestrator Agent (Master Agent): Trưởng nhóm của team, nó nhận yêu cầu ban đầu, sử dụng LLM để tạo ra một kế hoạch thực thi và giao nhiệm vụ cho các Agent khác.
  2. Specialized Agents (Worker Agents):
  • CRM Agent: Chỉ chuyên giao tiếp với CRM (sử dụng các tools đã viết ở Giai đoạn 2).
  • Product Expert Agent: Chính là Agent RAG ở Giai đoạn 1, giờ được đóng gói thành một service riêng.
  • Analysis Agent: Một Agent chuyên phân tích dữ liệu (ví dụ: phân tích lịch sử mua hàng để tìm insight).

3. Shared Memory / State Manager: Một cơ sở dữ liệu key-value (như Redis) để các Agent có thể chia sẻ thông tin và context với nhau. Ví dụ, CRM Agent tìm được danh sách khách hàng và lưu vào Redis với một session_id, sau đó Analysis Agent đọc dữ liệu từ đó để xử lý.

4. Inter-Agent Communication Layer: Giao thức để các Agent nói chuyện với nhau. Đơn giản nhất là dùng REST APIs, hoặc có thể dùng Message Queue (RabbitMQ, Kafka) cho các tác vụ bất đồng bộ.

Luồng triển khai (Step-by-step):

Bước 1: Vẽ sơ đồ hệ thống

Định nghĩa rõ vai trò và API contract của từng Agent.

Bước 2: Xây dựng Orchestrator 

Đây là phần khó nhất, Logic của Orchestrator sẽ:

  • a. Nhận request.
  • b. Dùng một LLM thông minh (như GPT-4o hoặc Gemini 1.5 Pro) với một prompt được thiết kế đặc biệt để phân rã yêu cầu thành một plan (dạng list các steps hoặc một DAG - Directed Acyclic Graph).
  • c. Vòng lặp qua plan, tại mỗi bước, gọi đến API của Agent tương ứng.
  • d. Thu thập kết quả và chuyển tiếp đến bước tiếp theo.

Bước 3: Refactor Agents

Tách code từ Giai đoạn 2 thành các microservices riêng biệt. Mỗi Agent là một API service độc lập.

Bước 4: Setup State Management

Tích hợp Redis vào các Agent để chúng có thể đọc/ghi context của cuộc hội thoại.

Giai đoạn 4: Orchestration API

Giai đoạn cuối cùng là kết thúc toàn bộ hệ thống phức tạp phía sau một bộ API công khai, sạch sẽ, và dễ tích hợp.

Mục tiêu Expose hệ thống multi-agent ra ngoài một cách chuyên nghiệp, đảm bảo tính bảo mật, khả năng mở rộng và giám sát. 

Các thành phần chính cần xây dựng:

  1. Public API Gateway: Một service đứng ở lớp ngoài cùng (ví dụ: Amazon API Gateway, Kong). Nó chịu trách nhiệm xử lý authentication, authorization, rate limiting, caching và routing request đến Orchestrator.
  2. Asynchronous Task Handling: Đối với các request phức tạp mất nhiều thời gian, không thể bắt client chờ. Cần triển khai một luồng bất đồng bộ:
  • API trả về ngay một task_id.
  • Client dùng task_id đó để poll một endpoint /tasks/{task_id}/status hoặc hệ thống sẽ gọi lại một webhook của client khi task hoàn thành

4. Observability Stack:

  • Logging: Centralized logging (dùng ELK Stack hoặc Loki) để có thể trace một request từ API Gateway qua Orchestrator và đến từng Agent. 
  • Monitoring: Dùng Prometheus Grafana để theo dõi các metrics quan trọng: latency của từng Agent, tỷ lệ lỗi, chi phí token LLM...

Luồng triển khai (Step-by-step):

 

Luồng triển khai giai đoạn 4 Orchestration API

Bước 1: Định nghĩa đặc tả API công khai

Viết tài liệu API bằng OpenAPI (Swagger). Định nghĩa rõ các endpoints, request/response models.

Bước 2: Triển khai luồng bất đồng bộ

Tích hợp một Task Queue như Celery với RabbitMQ hoặc Redis. Khi Orchestrator nhận một yêu cầu lớn, nó sẽ đẩy một job vào queue và trả về task_id. Các workers riêng biệt sẽ xử lý job này.

Bước 3: Cấu hình cổng API 

Cấu hình các route, chính sách bảo mật trên API Gateway.

Bước 4: Gắn mã theo dõi và đo lường để giám sát

Thêm code để push logs và metrics từ tất cả các services vào hệ thống giám sát. Đây là bước cực kỳ quan trọng để debug và vận hành hệ thống sau này.

Kết luận

Chúng ta vừa đi qua một chặng đường kỹ thuật từ việc xây dựng một RAG Agent đơn giản đến việc thiết kế và triển khai một hệ thống Multi-Agent Orchestration hoàn chỉnh cho Sales Agent.

Quá trình này không hề đơn giản và đòi hỏi tư duy về thiết kế hệ thống phân tán. Tuy nhiên, việc đi theo từng giai đoạn giúp chúng ta build một cách có hệ thống, dễ quản lý và mở rộng. Kiến trúc này không chỉ mạnh mẽ hơn một Agent monolithic mà còn cho phép team dev phát triển các Agent chuyên biệt một cách độc lập.
 

Đỗ Minh Đức
Tác giả
Đỗ Minh Đức
Giám đốc sản phẩm BizChat AI

Với gần 20 năm kinh nghiệm trong ngành công nghệ, Đỗ Minh Đức hiện là Giám đốc Sản phẩm Bizfly Martech tại VCCorp. Anh được biết đến là một trong bốn người đặt nền móng cho BizChatAI, giải pháp ứng dụng trí tuệ nhân tạo để chăm sóc khách hàng tự động đa kênh.

Anh tập trung phát triển BizChatAI như một "trợ lý ảo" cho doanh nghiệp, giúp tự động hóa việc tương tác và CSKH. Công nghệ này đang thay đổi mạnh mẽ cách doanh nghiệp tiếp cận khách hàng, từ việc gửi tin nhắn, quà tri ân tự động đến ứng dụng hiệu quả cho các chuỗi bán lẻ và nhà hàng... Qua các bài viết của mình, anh chia sẻ sâu hơn về những lợi ích và cách thức hoạt động của chatbot trong kinh doanh.

Bài viết nổi bật

Mời bạn trải nghiệm AI Chat Agent - Trợ lý ảo tư vấn khách hàng của Bizfly

Trong thời đại mà khách hàng mong muốn được phản hồi ngay lập tức, việc để họ phải chờ vài phút cũng có thể khiến doanh nghiệp đánh mất cơ hội. Đó là lý do Bizfly phát triển AI Chat Agent - trợ lý ảo có khả năng tư vấn, giải đáp.....