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 Rao

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

TL;DR

Khi nhiều LLM agent cùng build một phần mềm, đó chính là bài toán distributed consensus — và các impossibility results kinh điển như FLP hay Byzantine Generals đều áp dụng. Không có model nào thông minh hơn có thể xóa bỏ những giới hạn này: chúng là tính chất cố hữu của bài toán coordination.

Vấn đề được đặt ra

Một câu nghe rất phổ biến trong cộng đồng AI: “Cứ chờ vài tháng, model mới sẽ giải quyết hết coordination problems.” Tác giả — một verification researcher — không đồng ý. Lý do: coordination trong multi-agent systems là bài toán distributed consensus, và có những impossibility results trong lý thuyết distributed systems hoàn toàn không phụ thuộc vào intelligence của các tham gia viên.

Mô hình toán học

Multi-agent software development có thể mô hình hóa như sau:

Một agent chọn callback-style async API cho networking buộc agent khác phải thiết kế infrastructure xung quanh lựa chọn đó — mọi design decision đều tạo ra constraints lan rộng sang các agents khác.

Impossibility Results

FLP — Safety, Liveness, Fault Tolerance: chọn hai

FLP Theorem (Fischer-Lynch-Paterson, 1985): Trong bất kỳ distributed system nào với asynchronous messages và ít nhất 1 crash failure có thể xảy ra, không có protocol xác định nào đảm bảo tất cả nodes reach consensus trong bounded time.

Điều này áp dụng cho multi-agent LLM systems vì:

Hệ quả: trong bất kỳ multi-agent system nào, dù agent thông minh đến đâu, không thể đồng thời đảm bảo:

Pattern hay gặp trong thực tế: hai agents loop qua lại — một agent chọn design decision A, agent kia revert lại chọn B, rồi lặp lại mãi.

Một insight thú vị: nếu agents chạy trên cùng một máy, lệnh ps | grep claude có thể hoạt động như một failure detector — cho phép detect xem agent khác còn alive không. Chandra-Toueg (1996) đã chứng minh rằng consensus là có thể trong FLP setting nếu có một failure detector (dù unreliable). Takeaway: nên cung cấp cho agents một tool để check liveness của agents khác.

Byzantine Generals — Giới hạn số lượng misinterpretation

Byzantine Generals Theorem (Lamport-Shostak-Pease, 1982): Consensus chỉ đạt được nếu số agents honest > 2/3 tổng số agents.

Trong context LLM: agent misunderstand prompt ≈ byzantine agent — nó produce output không consistent với mục tiêu chung, tạo ra conflicts cho các agents khác.

Đây là hard bound không thể improve bằng smarter models. Tuy nhiên, có thể reduce số lượng misinterpretation bằng cách dùng:

Những công cụ này convert misinterpretation thành crash failure — thay vì tiếp tục với sai lầm, agent nhận ra lỗi và refine. Crash failure yếu hơn byzantine failure, có hướng giải quyết qua FLP.

Các kết quả khác đáng theo dõi

Kết luận cho Dev

Các team đang dùng multi-agent systems hiện nay đang ngầm giải quyết những coordination problems này — thường qua ad-hoc mechanisms không có guarantees rõ ràng. Distributed systems literature có 40 năm formalisms, theorems, và protocols cho chính xác những bài toán này.

Những gì smarter models có thể làm: shrink constants — agent ít misinterpret hơn, ít crash hơn.

Những gì smarter models không thể làm: xóa bỏ impossibility bounds — chúng là tính chất cố hữu của coordination, không phải của capability.

Nếu muốn multi-agent software development thực sự scale, ai đó phải làm công việc thiết kế protocols, languages, và tooling giải quyết coordination problems như first-class concerns — thay vì hy vọng nó tự biến mất.


Read Original (EN) Quay lại Newsletter