Đừng bắt AI làm việc một mình: Xây dựng đội ngũ Multi-Agent với AutoGen

Artificial Intelligence tutorial - IT technology blog
Artificial Intelligence tutorial - IT technology blog

Nỗi khổ của “người đưa tin” giữa AI và Terminal

Tuần trước, sếp giao mình một task khá gắt: Lập biểu đồ so sánh tăng trưởng của Apple, Microsoft và Google trong 5 năm qua, kèm phân tích ngắn. Nếu dùng ChatGPT theo cách cũ, mình phải copy yêu cầu, lấy code Python, dán vào máy chạy, gặp lỗi lại copy lỗi dán ngược lại cho AI sửa. Quy trình lặp lại 5-7 lần khiến mình mất gần 1 tiếng đồng hồ chỉ để làm “trung gian” truyền tin.

Vấn đề không nằm ở việc AI kém thông minh. Thực tế, các dự án thực tế luôn cần sự phối hợp. Một dev viết code xong cần tester kiểm tra, sau đó manager mới duyệt kết quả. Nếu chỉ dùng một câu prompt (Single Agent), AI rất dễ bị “ngáo” hoặc đuối sức khi gặp các tác vụ dài hơi cần tính logic đan xen.

Tại sao một con AI đơn lẻ thường “đầu hàng”?

Qua quá trình thực chiến, mình nhận ra ba rào cản khiến các hệ thống AI đơn lẻ thường thất bại trong dự án thực tế:

  • Thiếu vòng phản hồi (Feedback Loop): AI đưa ra kết quả và mặc định nó đúng. Nó không có khả năng tự chạy thử code để biết mình sai ở đâu nếu bạn không nhắc.
  • Quá tải ngữ cảnh: Nhồi nhét quá nhiều việc (viết code, phân tích, báo cáo) vào một prompt khiến AI dễ bị mất tập trung. Kết quả là nó thường bỏ sót các chi tiết quan trọng.
  • Kỹ năng bị giới hạn: Một model giỏi hành văn chưa chắc đã tính toán chuẩn xác hoặc biết cách truy xuất dữ liệu thời gian thực.

Những lối thoát phổ biến cho Developer

Để giải quyết, cộng đồng dev hiện nay thường chọn một trong ba con đường:

  1. Prompt Engineering thủ công: Tự chia nhỏ task rồi copy-paste kết quả qua lại. Cách này cực kỳ tốn sức và dễ nản.
  2. Sử dụng LangChain: Xây dựng các chuỗi (Chains) cố định. Phương pháp này ổn nhưng hơi cứng nhắc, AI khó xoay sở nếu phát sinh lỗi bất ngờ ở giữa quy trình.
  3. Hệ thống đa tác nhân (Multi-Agent Systems): Đây là hướng đi hiệu quả nhất. Thay vì một AI làm tất cả, ta chia nhỏ thành một đội ngũ, mỗi con đảm nhận một vai trò và tự trao đổi với nhau.

AutoGen – Biến AI thành một “phòng ban” thực thụ

AutoGen của Microsoft là công cụ mình tâm đắc nhất hiện nay. Điểm khác biệt nằm ở cơ chế Conversation-centric (lấy hội thoại làm trung tâm). Bạn chỉ cần đưa ra mục tiêu cuối cùng. Các Agent sẽ tự tranh luận, viết code, thực thi và kiểm tra kết quả cho đến khi đạt yêu cầu.

Cài đặt nhanh

Bạn nên cài đặt thư viện pyautogen trong môi trường ảo (venv) để đảm bảo hệ thống sạch sẽ.

pip install pyautogen

Ở ví dụ này, mình sử dụng GPT-4o của OpenAI để đạt độ chính xác cao nhất.

Cấu hình đội ngũ: Assistant và UserProxy

Trong thế giới AutoGen, bạn cần làm quen với hai nhân vật chủ chốt:

  • AssistantAgent: Chuyên gia tư duy, người trực tiếp suy nghĩ và viết code.
  • UserProxyAgent: Người đại diện cho bạn. Nó có quyền chạy code mà Assistant viết ra và phản hồi lại lỗi hoặc kết quả thành công.

Dưới đây là đoạn code thiết lập cuộc hội thoại tự động để lấy dữ liệu chứng khoán:

import autogen

config_list = [{"model": "gpt-4o", "api_key": "YOUR_API_KEY"}]

# Tạo Assistant - "Lập trình viên"
assistant = autogen.AssistantAgent(
    name="Coder",
    llm_config={"config_list": config_list}
)

# Tạo UserProxy - "Người thực thi"
user_proxy = autogen.UserProxyAgent(
    name="Executor",
    human_input_mode="NEVER",
    max_consecutive_auto_reply=10,
    code_execution_config={"work_dir": "coding", "use_docker": False},
)

# Giao việc
user_proxy.initiate_chat(
    assistant,
    message="Lấy giá cổ phiếu Apple và Tesla 1 tháng qua, vẽ biểu đồ so sánh và lưu vào file 'compare.png'."
)

Cơ chế “Ping-Pong” sửa lỗi tự động

Khi chạy đoạn code trên, bạn sẽ thấy một quy trình cực kỳ thú vị diễn ra tự động:

  1. Executor gửi yêu cầu cho Coder.
  2. Coder viết script Python sử dụng thư viện yfinance.
  3. Executor tự tạo file trong thư mục coding và chạy thử.
  4. Nếu máy thiếu thư viện, Executor sẽ quăng lỗi ngược lại cho Coder.
  5. Coder nhận lỗi, tự viết lệnh pip install để khắc phục rồi chạy lại.

So với LangChain, AutoGen xử lý vòng lặp lỗi (Error Handling) mượt mà hơn hẳn. Nó giống như bạn đang quan sát hai nhân viên thực thụ đang phối hợp xử lý công việc vậy.

Kinh nghiệm xương máu khi triển khai thực tế

Dù AutoGen rất mạnh, mình đã từng phải trả giá bằng hóa đơn API tăng vọt. Dưới đây là vài lưu ý giúp bạn tối ưu:

  • Kiểm soát chi phí: Các Agent có thể “tám chuyện” sửa lỗi hàng chục lần. Luôn đặt max_consecutive_auto_reply thấp (khoảng 5-10) để tránh vòng lặp vô tận đốt tiền.
  • Bảo mật hệ thống: Mặc định AI có thể viết code xóa file trên máy bạn. Hãy luôn bật Docker (use_docker: True) để cô lập môi trường chạy code.
  • Phối hợp Model: Đừng dùng GPT-4o cho mọi Agent. Hãy dùng model mạnh cho Coder và dùng model rẻ hơn (như GPT-4o-mini hoặc Ollama local) cho các vai trò đơn giản để tiết kiệm 60-70% chi phí.

Lời kết

Chuyển từ Single Agent sang Multi-Agent là bước nhảy vọt về năng suất. AutoGen giúp bạn thoát khỏi vai trò “người đưa tin” để tập trung vào việc định hướng mục tiêu. Nếu bạn có những tác vụ phân tích dữ liệu phức tạp, hãy thử dựng một đội ngũ AI nhỏ. Kết quả chắc chắn sẽ khiến quy trình làm việc của bạn thay đổi hoàn toàn.

Share: