Vấn đề
Câu nói phổ biến trong cộng đồng AI hiện nay:
“Giải pháp tốt nhất cho agentic coordination là đợi vài tháng nữa.”
Lập luận đi kèm: models sắp tới sẽ thông minh hơn, vấn đề coordination sẽ tự biến mất. Đừng mất công build tooling cho multi-agent orchestration.
Bài viết này phản bác quan điểm đó bằng toán học.
Multi-agent development là distributed consensus
Khi bạn giao cho nhiều agents cùng xây một hệ thống phần mềm từ một prompt, bạn đang yêu cầu chúng đồng thuận về một interpretation duy nhất của prompt đó — trong khi hoạt động song song, với thông tin không đầy đủ về quyết định của nhau.
Đây là định nghĩa của distributed consensus problem.
Ví dụ cụ thể: Agent A chọn callback-style async API cho network layer. Agent B (viết integration layer) phải build xung quanh quyết định đó — nhưng không biết Agent A đã chọn gì cho đến khi cả hai merge code. Đây là kiểu coordination failure mà distributed systems đã nghiên cứu từ thập niên 80.
Impossibility results áp dụng trực tiếp
FLP Theorem (Fischer-Lynch-Paterson, 1985)
Trong bất kỳ distributed system nào có message delays tùy ý và khả năng ít nhất 1 node crash failure, không có deterministic protocol nào đảm bảo tất cả non-faulty nodes đạt consensus trong bounded time.
Áp dụng cho multi-agent dev:
- LLM agents nhận messages không đồng bộ — thời điểm đọc do agent quyết định, không thể bound
- Agents crash thường xuyên: tool calls không terminate, infinite loops,
pkillaccidental
Hệ quả: Không thể đảm bảo đồng thời cả hai:
- Safety — sinh ra phần mềm đúng với spec
- Liveness — luôn hoàn thành và đạt consensus
Pattern thường gặp khi bạn hy sinh liveness: hai agents cứ loop, cái này revert quyết định của cái kia.
Byzantine Generals Theorem (Lamport-Shostak-Pease, 1982)
Trong hệ thống với N agents và f agents Byzantine (hành động tùy ý, kể cả phá hoại), consensus chỉ đạt được khi N > 3f.
Áp dụng: Agent “misunderstand” prompt = Byzantine agent. Nếu bạn spin up 10 agents và 4+ misunderstand spec, consensus là impossible — không phụ thuộc vào model capability.
Insight thực tế: Tests, static analysis, và verification tools chuyển misinterpretations thành crash failures — dễ handle hơn Byzantine failures. Đây là lý do formal testing quan trọng trong multi-agent pipelines.
AGI không cứu được bạn
FLP và Byzantine Generals là kết quả toán học, không phải engineering constraints. Chúng không phụ thuộc vào intelligence của participants. Models thông minh hơn có thể giảm constants trong algorithms, nhưng không xóa được fundamental bounds.
Người làm multi-agent dev hôm nay đang giải quyết các vấn đề này theo kiểu ad-hoc, không có guarantees hay failure modes được định nghĩa rõ. Distributed systems literature có 40 năm research về chính xác những vấn đề này.
Các kết quả khác đáng đọc
- CAP Theorem (Gilbert & Lynch, 2002) — Consistency, Availability, Partition tolerance: chọn tối đa 2. Apply cho multi-agent state management.
- Partial Synchrony (Dwork-Lynch-Stockmeyer, 1988) — Escape hatch thực tế: đặt timeout bounds thay vì assume async hoàn toàn. Consensus trở nên khả thi với message complexity tăng.
- Common Knowledge (Halpern & Moses, 1990) — Formal model cho epistemic knowledge flow trong distributed systems.
Ý nghĩa với Dev
Nếu bạn đang build multi-agent pipelines và gặp các vấn đề:
- Agents loop vô hạn về một quyết định
- State inconsistent sau khi merge work từ nhiều agents
- Partial failure làm cả pipeline fail
…đây không phải bug kỳ lạ của LLMs. Đây là distributed systems problems với tên gọi và giải pháp đã được biết rõ.
Actionable next steps:
- Thêm explicit timeout/failure detection cho agent liveness
- Dùng tests và static analysis để convert misinterpretations thành crash failures
- Thiết kế agent workflows với idempotency và retry semantics
- Đọc saga pattern cho long-running agent transactions