Agent Teams: Shared task board, delegation, handoff — Kiến trúc nhóm Agent phân công thực chiến
Khám phá kiến trúc Agent Teams với shared task board, delegation và handoff. Giải pháp multi-agent cho workflow phức tạp, tránh context pollution khi single...
Khi một Agent cố gắng đồng thời làm kiến trúc sư, lập trình viên và người review code, context window trở thành mớ hỗn độn của constraint cao cấp lẫn syntax error cụ thể. Agent Teams không phải là "thêm nhiều AI cho vui" — đó là kiến trúc phân công nhiệm vụ với shared task board và handoff rõ ràng, giúp mỗi agent chuyên sâu một nhiệm vụ duy nhất mà không bị các vai trò khác "lây nhiễm" suy nghĩ.
Vấn đề
Single Agent đang phải mang vai trò "vạn năng" thường gặp hiện tượng mode collapse (sụp đổ chế độ) và context pollution (ô nhiễm ngữ cảnh). Khi bạn ép một LLM phải vừa lập kế hoạch architecture, vừa viết code chi tiết, vừa tự review lỗi, attention mechanism của nó bị phân tán theo hàm số mũ — các constraint quan trọng từ bước 1 bị "chìm" dưới đống syntax error từ bước 30.
Pipeline tĩnh (sequential hardcoded) thất bại khi gặp emergent complexity — ví dụ trong customer support, một câu hỏi bắt đầu là "reset password" nhưng sau 5 lượt hội thoại lại hóa ra là bug database cần escalation. Agent đơn lẻ không thể tự động chuyển ownership cho chuyên gia kỹ thuật mà không làm mất context hoặc bị "lẫn" giữa vai trò CSR và vai trò Engineer.
Debug cũng trở thành cơn ác mộng: khi một agent làm tất cả, một hallucination ở bước 3 sẽ cascade qua 20 bước reasoning tiếp theo, khiến bạn không biết lỗi bắt đầu từ đâu.
Ý tưởng cốt lõi
Agent Teams hoạt động dựa trên cognitive firewall — tường lửa nhận thức — ngăn chặn sự ô nhiễm context giữa các chuyên môn khác nhau.
Handoff vs Agent-as-Tool
Điểm then chốt là phân biệt handoff (truyền quyền) với tool call (gọi công cụ):
- Tool call: Temporary delegation. Agent A gọi Agent B như một function, chờ kết quả trả về, rồi tiếp tục. Agent A vẫn giữ ownership và context.
- Handoff: Permanent transfer. Agent A "truyền conch" (như trong Lord of the Flies) — tuyên bố "tôi không còn là authority ở đây nữa", chuyển toàn bộ conversation history và state cho Agent B, rồi exit. Agent B giờ là owner duy nhất của output cuối cùng.
Handoff schema thường chứa target_agent và reason string để auditability. Trong GoClaw và Claude Code Teams, đây là structured JSON với trường handoff_to và transfer_reason.
Shared Task Board
Thay vì truyền thông điệp qua lại (telephone game), team dùng shared artifact space — filesystem convention /shared và /workspace — như source of truth.
Ví dụ trong GoClaw ecosystem:
<!-- /shared/TASK_BOARD.md -->
## State: inbox → spec → build → review → done
### Task-001: API Refactoring
- **Status**: spec
- **Assigned**: Architect-Agent
- **Blocked by**: Requirements clarification
- **Artifacts**: /shared/specs/api-v2.md
### Task-002: Payment Integration
- **Status**: build
- **Assigned**: Backend-Agent
- **Blocked by**: Task-001 (schema finalization)State machine này cho phép agent khác nhau "check in" vào cùng một task lifecycle mà không cần duy trì context window chứa toàn bộ lịch sử — họ chỉ cần đọc file hiện tại.
Mesh Topology & Identity Files
Không giống hub-spoke (có central orchestrator), Agent Teams thường dùng mesh topology (Microsoft Agent Framework) — mỗi agent kết nối trực tiếp, tự quyết định khi nào handoff dựa trên nội dung và rules.
Mỗi agent có Identity File (SOUL.md hoặc AGENT.md) định nghĩa:
- Responsibilities: Được làm gì, không được làm gì
- Decision authority: Quyết định gì thì không cần hỏi, gì thì phải handoff
- Handoff rules: Điều kiện trigger chuyển cho agent khác
<!-- AGENTS.md trong repo -->
### Agent: Database-Specialist
- **Role**: Query optimization và migration
- **Tools**: sql_analyzer, migration_runner
- **Handoff to**: Backend-Implementer khi query plan approved
- **Escalation**: Site-Reliability-Agent khi có risk downtimeContextual Handoff
Khi handoff xảy ra, hệ thống không chỉ truyền text summary. Trong Microsoft 365 Copilot và Azure AI Agent Framework, handoff bao gồm:
- Full conversation history (có thể truncate nhưng giữ intent)
- Current state object (biến, file handles, pending operations)
- GPT ID lookup và @mention context để tránh "disconnected experience" — người dùng không phải repeat query.
Tại sao nó hoạt động
Context Sharding & Attention Hygiene
LLM là cơ chế attention zero-sum. Khi bạn ép một context window chứa cả "high-level design constraints" lẫn "low-level syntax details", attention weights bị phân mảnh — giống như cố gắng vừa thiết kế blueprint vừa đặt từng viên gạch.
Agent Teams thực hiện context sharding: mỗi agent chỉ load context phù hợp với chuyên môn. Architect Agent không biết đến bash commands; Coder Agent không thấy budget constraints. Điều này ngăn "middle lost" problem — hiện tượng thông tin quan trọng ở đầu conversation bị lãng quên vì attention dồn vào token gần nhất.
Separation of Concerns như Firewall
Khi Architect Agent hallucinate một API design không hợp lý, lỗi đó được cô lập trong spec phase. Implementer Agent (nếu làm đúng nhiệm vụ) sẽ catch lỗi đó khi đọc spec và refuse handoff hoặc request clarification, thay vì cascade lỗi vào code rồi production.
Đây là lý do kiến trúc này khác với "single agent gọi nhiều tool" — tools không có boundary về cognitive authority, còn agents có.
Trade-off: Coordination Overhead
Kiến trúc này không miễn phí. Mỗi handoff là một round-trip LLM call, thêm 2-5 giây latency và tăng token cost. Nếu task chỉ dưới 3 domain đơn giản (ví dụ: viết một hàm utility), single agent với proper tool use sẽ nhanh hơn, rẻ hơn, và ít lỗi coordination hơn.
Rule of thumb: Multi-agent chỉ thắng khi task có emergent complexity đủ lớn để lợi ích từ specialization vượt qua chi phí coordination.
Ý nghĩa thực tế
Khi nào dùng, khi nào tránh
Dùng Agent Teams khi:
- Workflow có rõ ràng phase transition (inbox → spec → build → review → deploy)
- Cần separation of duties về security (agent có quyền read không được write, agent có write phải qua reviewer)
- Task đòi hỏi nhiều perspective đối lập (ví dụ: Debate Pattern với Researcher vs Critic)
Tránh khi:
- Task chỉ cần 1-2 tool calls đơn giản
- Latency là critical (real-time chat response < 1 giây)
- Chưa có observability để trace cross-agent coordination (debug sẽ là ác mộng)
Benchmarks & Production Stories
- Claude Code Agent Teams (Anthropic, 2025): Cho phép sub-agents chạy song song trên các file khác nhau, handoff qua
/handoffcommand với full context serialization. - Microsoft 365 Copilot: Employee Self-Service dùng mesh topology để routing giữa Generalist Agent (FAQ) và Specialist Agent (IT/HR) dựa trên intent detection.
- CrewAI & AutoGen: Framework phổ biến cho role-based teams, nhưng dễ rơi vào "hot potato" loop nếu handoff rules không deterministic.
Anti-pattern cảnh báo: Thêm agent chỉ để "cho có" — một nghiên cứu điều khiển cho thấy thêm agent không rõ ràng boundary làm hệ thống chậm hơn, đắt hơn, và kém hiệu quả hơn single agent đúng cách.
| Tiêu chí | Single Agent | Agent Teams |
|---|---|---|
| Phù hợp | Task đơn giản, dưới 3 domain | Workflow phức tạp, cần phân phase |
| Latency | Thấp, trực tiếp | Cao hơn 2-3x do handoff |
| Context | Risk pollution khi dài | Được shard, focus cao |
| Debug | Traces tuyến tính | Traces phân tán, cần observability |
| Cost | Token trực tiếp | Token tổng có thể gấp đôi |
Hạn chế
- Hot Potato Loops: Nếu rule "A handoff to B khi X" và "B handoff to A khi Y" conflict, hệ thống lặp vô hạn. Cần acyclic handoff graph hoặc max-hop counter.
- Evaluation Complexity: Không thể chỉ đánh giá final output. Phải trace entire coordination trajectory — agent có đọc đúng spec không, handoff có đúng lúc không, hay là "mark done" while fabricating data (hiện tượng skip steps).
- State Synchronization: Shared task board là single point of contention. Nếu hai agent cùng write
/shared/status.mdmà không có locking mechanism, race condition xảy ra.
Đào sâu hơn
Tài liệu chính:
- OpenClaw Agent Team Orchestration (ClawHub): Chi tiết về task lifecycle và filesystem conventions.
- Claude Code Documentation: Sub-agents và handoff patterns.
Bài viết liên quan TroiSinh:
Cùng cụm (Multi-Agent & Teams):
Tại sao cần nhiều Agent?
Single Agent failure modes và ngưỡng phức tạp để quyết định multi-agent
Agent Communication Patterns
Permission links, direction control, concurrency giữa các agent
Role-based Agents
Mỗi agent một chuyên môn — định nghĩa identity và boundaries rõ ràng
Orchestration Patterns
Sequential, parallel, và evaluate loops cho agent teams
Đọc tiếp:
Hooks Overview
25+ lifecycle events để kiểm soát và monitor agent teams trong production
Advanced Architecture
Kiến trúc nâng cao cho scaling agent teams lên hàng trăm instances
Mở rộng:
- "Task-Aware Delegation Cues for LLM Agents" (arXiv:2603.11011, 2026): Research về dynamic delegation triggers.
- "If You Want Coherence, Orchestrate a Team of Rivals" (arXiv:2601.14351, 2026): Multi-agent architecture với adversarial collaboration.
Tại sao cần nhiều agent? — Khi single agent bất lực trước task phức tạp
Single agent thất bại 90% trên task đa bước do context degradation và specification drift. Tìm hiểu 14 failure modes và cách multi-agent architecture cô lập...
Agent Communication: Permission links, direction control, concurrency — Bản đồ giao tiếp cho hệ thống multi-agent
Hiểu rõ Permission links (capability-based), Direction control (4 patterns) và Concurrency models (immutable logs) để thiết kế multi-agent system không bị mấ...