Skip to content
tinAI
Go back

Phát triển phần mềm đa agent là bài toán distributed systems

Bài gốc: Multi-agentic Software Development is a Distributed Systems Problem (AGI can't save you from it)

Tác giả: Kiran Koduru

Ngày đăng: Dịch ngày:

TL;DR

Khi bạn cho nhiều AI agents cùng xây một hệ thống phần mềm, bạn đang giải quyết đúng bài toán distributed consensus mà computer science đã nghiên cứu 40 năm nay. Các impossibility results như FLP và Byzantine Generals không biến mất khi models thông minh hơn — đây là giới hạn toán học, không phải giới hạn kỹ thuật. Distributed systems literature có đáp án; đừng reinvent the wheel.

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:

Hệ quả: Không thể đảm bảo đồng thời cả hai:

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

Ý nghĩa với Dev

Nếu bạn đang build multi-agent pipelines và gặp các vấn đề:

…đâ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:

  1. Thêm explicit timeout/failure detection cho agent liveness
  2. Dùng tests và static analysis để convert misinterpretations thành crash failures
  3. Thiết kế agent workflows với idempotency và retry semantics
  4. Đọc saga pattern cho long-running agent transactions

Read Original (EN) Quay lại Newsletter