Series 4 - Bài 1: Giới hạn của single-agent system
Multi-agent không phải giải pháp cho mọi vấn đề. Bài này phân tích ba giới hạn thực sự của single-agent và framework quyết định khi nào cần mở rộng.
Nghe bài viết này dưới dạng podcastTrước khi thêm agent thứ hai, phải hiểu rõ tại sao một agent không đủ. Không phải mọi vấn đề của agent đều cần multi-agent để giải quyết — và multi-agent luôn đi kèm với coordination overhead.
Nhưng có một số giới hạn của single-agent system không thể giải quyết bằng cách làm một agent giỏi hơn.
Ba giới hạn thực sự
1. Context Window Ceiling
Giới hạn rõ ràng nhất và không thể tranh cãi:
Vấn đề:
Task: Refactor toàn bộ hệ thống payment (200 files)
File content: 200 files x 3,000 tokens = 600,000 tokens
Context window: 200,000 tokens max
→ Task không thể fit trong một agent run
→ Không phải vì agent không đủ thông minh
→ Mà vì có giới hạn vật lý của context window
Multi-agent giải quyết:
Agent A: Handle payment-core/ (50 files)
Agent B: Handle payment-gateway/ (60 files)
Agent C: Handle payment-reporting/ (45 files)
Agent D: Handle payment-api/ (45 files)
Mỗi agent fit trong context window
Orchestrator tổng hợp kết quả
2. Specialization
Một agent với một system prompt không thể đồng thời là:
- Expert về backend TypeScript
- Expert về SQL optimization
- Expert về security audit
- Expert về documentation
Single agent generalist:
System prompt: "You are a helpful coding assistant"
→ LLM dùng general knowledge cho mọi task
→ Không optimize cho bất kỳ domain nào
Specialized agents:
Backend Agent:
System: "Senior NestJS/TypeORM expert.
Focus on clean architecture,
SOLID principles, performance."
Security Agent:
System: "Security auditor. Focus on
injection vulnerabilities, auth
issues, data exposure risks."
→ Mỗi agent có specialized knowledge
→ Tool set cũng khác nhau
→ System prompt sâu hơn, không bị compromise
3. Parallelism
Single agent là sequential theo design — agentic loop chạy tuần tự. Tasks có thể run parallel không thể tận dụng:
Sequential (single agent):
Analyze module A ──▶ Analyze module B ──▶ Analyze module C
|--- 5 min ---| |--- 5 min ---| |--- 5 min ---|
Total: 15 minutes
Parallel (multi-agent):
Agent A: Analyze module A ──▶ Done
Agent B: Analyze module B ──▶ Done ── Aggregate ─▶ Result
Agent C: Analyze module C ──▶ Done
|--- 5 min ---| + overhead ~1 min
Total: 6 minutes
Speedup: 2.5x cho task này
Parallelism quan trọng khi tasks độc lập và time-sensitive.
Những vấn đề không phải lý do để dùng multi-agent
Đây là phần quan trọng — cần biết khi nào không cần multi-agent:
❌ Không cần multi-agent vì:
"Agent cần nhớ nhiều hơn"
→ Fix bằng better context management và summarization
"Agent bị lỗi thường xuyên"
→ Fix bằng better system prompt và tool design
"Agent slow"
→ Fix bằng model routing (dùng model nhỏ hơn cho simple tasks)
"Task phức tạp"
→ Không đủ lý do — task phức tạp vẫn có thể là single-agent
Multi-agent là gì khi single-agent có giới hạn vật lý không thể vượt qua. Không phải khi single-agent chưa được optimize tốt.
Multi-agent không phải về scale — về separation of concerns
Common misconception:
"Cần multi-agent khi task lớn"
Actual reasoning:
"Cần multi-agent khi có concerns không thể
cùng tồn tại trong một agent:"
• Context quá lớn để fit
• Specialization có conflict
• Parallelism là requirement
Cost của Multi-agent
Trước khi thêm agent, biết cost thực:
Overheads của multi-agent:
Coordination overhead:
Orchestrator phải: plan, delegate, monitor, aggregate
Mỗi coordination step = LLM call = cost + latency
Communication overhead:
Agent-to-agent hàndoff phải serialize context
Context phải được restructure cho receiving agent
Failure cascade risk:
1 agent fail → có thể ảnh hưởng toàn bộ pipeline
Debugging complexity:
Distributed system harder to trace
Không có single execution log
Rule of thumb:
Multi-agent chỉ có lợi khi speedup/quality gain
vượt qua coordination overhead.
Nếu không rõ ràng, hãy giữ single-agent.
Decision Framework
Có cần multi-agent không?
Task có fit trong single context window?
Yes → Single-agent, tiếp tục optimize
No → Multi-agent vì context ceiling
Task có các phần độc lập có thể parallel?
Yes + time critical → Multi-agent vì parallelism
No → Single-agent sequential
Task có cần specialization conflict nhau?
Yes → Multi-agent với specialized agents
No → Single-agent với rich system prompt
Bạn có sẵn sàng maintain distributed system?
No → Single-agent (coordination overhead cao hơn expected)
Yes → Multi-agent có thể hợp lý
Kết luận
- Ba giới hạn thực sự của single-agent: context window ceiling, specialization conflict, và sequential execution.
- Multi-agent không phải về scale — về separation of concerns mà một agent không thể handle.
- Nhiều vấn đề giời như là cần multi-agent nhưng thực ra chỉ cần optimize single-agent.
- Multi-agent đi kèm coordination overhead, failure cascade risk, và debugging complexity.
- Decision: chỉ dùng khi có giới hạn vật lý (context, parallelism, specialization) không thể giải quyết bằng single-agent optimization.
Chưa có bình luận
Để lại bình luận
Bình luận sẽ được phê duyệt trước khi hiển thị.