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.

4 phút đọc
Tập này đang được chuẩn bị, quay lại sau nhé.

Trướ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.