
멀티 에이전트 시스템이 매력적인 이유는 하나의 모델이 planning, retrieval, execution, verification, governance 를 동시에 모두 잘하기 어렵기 때문입니다. 역할을 나누면 specialization 과 throughput 이 좋아질 수 있습니다.
하지만 실제 프로덕션에서 협업이 무너지는 이유는 생각보다 훨씬 평범합니다. 처음부터 reasoning 문제가 아닌 경우가 많습니다. 핵심은 shared state 문제입니다. 서로 다른 에이전트가 서로 다른 context 를 보고, 같은 artifact 에 쓰고, 모호한 권한을 물려받고, 나중에 아무도 복원할 수 없는 흔적을 남깁니다.
Google Cloud 와 IBM 은 모두 multi-agent system 을 공유 환경에서 여러 autonomous agent 가 함께 문제를 푸는 구조로 설명합니다(Google Cloud, IBM). 출발점으로는 맞지만, 진짜 어려운 부분은 가려져 있습니다. 환경이 공유되는 순간, 협업은 agent messaging 이 아니라 context, boundary, change control 의 문제로 바뀝니다.
Anthropic 의 effective context engineering for AI agents 역시 같은 방향을 가리킵니다. context 는 유한하며, 필요한 context 를 의도적으로 가져오고 정제할 때 시스템은 훨씬 안정적이 됩니다.
멀티 에이전트 협업이 잘 동작하려면 shared context, permission scope, mutation control, provenance 를 1급 설계 문제로 다뤄야 합니다.
실무적으로는 이렇게 정의하는 편이 좋습니다.
멀티 에이전트 협업은 여러 에이전트가 같은 business context 위에서 동작하더라도 silent drift, unsafe action, 재현 불가능한 동작을 만들지 않는 능력이다.
이를 위해서는 몇 가지 collaboration primitives 가 필요합니다.
| Primitive | 무엇을 통제하는가 | 없으면 무엇이 깨지는가 |
|---|---|---|
| Shared context | 모든 에이전트가 사실로 믿을 수 있는 기준 | 부분적 진실, 오래된 답변, 모순된 결정 |
| Task coordination | 누가 무엇을 어떤 순서로 하는가 | 중복 작업, 역할 혼선, 불안정한 handoff |
| Scoped permissions | 각 에이전트가 사용할 수 있는 tool, path, action | 과도한 접근, 우발적 노출, 위험한 write |
| Mutation control | 공유 artifact 를 어떻게 편집, merge, rollback 하는가 | 조용한 덮어쓰기, 깨진 prompt, policy drift |
| Provenance 와 audit | 나중에 무슨 일이 있었는지 어떻게 설명하는가 | 책임 추적 불가, 느린 incident response |
이상하게 불안정해 보이는 대부분의 시스템은 이 primitives 중 하나 이상이 모호합니다.
한 에이전트는 공식 저장소의 최신 policy 를 읽고 있습니다. 다른 에이전트는 scratchpad 에 남아 있던 오래된 요약을 보고 있습니다. 또 다른 에이전트는 나중에 번복된 Slack 결론을 참고합니다.
각 에이전트는 자기 입력 기준으로는 “맞게” 행동할 수 있지만, 전체 시스템은 여전히 틀릴 수 있습니다.
그래서 context engineering 이 중요합니다. 문제는 토큰 수가 부족한 게 아니라, 올바른 context 를, 올바른 시점에, 올바른 source 에서 가져오느냐 입니다.
이 부분을 많은 팀이 과소평가합니다.
여러 에이전트가 prompts, runbooks, policy files, exception lists, tool configs, memory artifacts 를 업데이트하기 시작하면, 협업은 더 이상 orchestration 만의 문제가 아닙니다. shared write 를 조정하는 문제입니다.
Git 은 사람이 충돌을 직접 해결할 때는 도움이 됩니다. 공유 폴더도 쓰기가 드물면 버틸 수 있습니다. 하지만 unattended agent 가 같은 운영 표면을 수정하기 시작하면, “last writer wins” 는 사고의 다른 이름이 됩니다.
이미 이 문제가 익숙하다면 version control for AI agent context 가 merge, scope, rollback 관점에서 더 좋은 후속 글입니다.
초기 pilot 은 대개 안전하게 시작합니다.
하지만 예외가 쌓입니다. 임시 write path 가 영구화되고, support agent 가 internal analysis notes 를 보게 되며, 새로운 integration 이 명확한 approval boundary 없이 추가됩니다.
그러면 시스템은 여전히 productive 해 보일지 몰라도, 거의 아무도 이 간단한 질문에 답하지 못합니다. 각 에이전트는 실제로 무엇을 할 수 있는가.
결국 누군가는 이렇게 묻게 됩니다.
대답이 logs, prompts, app-specific wrapper 에 흩어져 있다면, 그 협업은 이미 프로덕션 테스트를 통과하지 못한 것입니다.
NIST 의 AI Risk Management Framework 가 유용한 이유도 여기에 있습니다. trustworthiness 와 lifecycle control 을 시스템 설계에 포함하라고 계속 요구하기 때문입니다.
과도하게 큰 shared prompt 대신 각 에이전트에 맞는 context slice 를 제공하세요Get started가장 깔끔한 프로덕션 패턴은 책임을 분리하는 것입니다.
user goal
-> planner / coordinator
-> worker agents with narrow roles
-> governed context and tool access
-> review / approval / rollback layer
-> final action or response
각 레이어는 서로 다른 질문에 답해야 합니다.
일관된 integration surface 도 중요합니다. connectors 와 external systems 가 같은 abstraction 을 통해 관리되면, 어떤 data 가 존재하고 어디서 왔으며 어떤 agent 가 접근 가능한지를 훨씬 쉽게 추론할 수 있습니다. puppyone 은 이를 Connections 모델과 path-aware 한 FLS permissions 로 설명합니다.
프로토콜 레이어가 이 stack 에서 어디에 놓이는지 아직 정리 중이라면, MCP in agentic AI 가 가장 좋은 companion article 입니다.
많은 글이 이 지점을 건너뜁니다.
에이전트가 approved context 를 읽고 사람에게 suggestion 만 돌려준다면, dedicated mutation layer 가 아직은 필요 없을 수 있습니다.
하지만 shared operational context 에 계속 write 한다면 이야기가 달라집니다.
보통 대상은 다음과 같습니다.
이 파일들이 downstream agent 의 행동을 바꾼다면, 그것은 이미 production state 입니다.
바로 그때 Mut 가 필요해집니다.
Mut 는 agent-written context 를 위한 version-management model 이 필요할 때 의미가 있습니다. 사람이 유지하는 code 만을 위한 도구로는 부족한 경우입니다. 실무적으로는 다음을 가능하게 합니다.
경계를 요약하면 이렇습니다.
| Problem | 적합한 control plane |
|---|---|
| Pipeline stages, approvals, promotion rules | Orchestrator 또는 workflow engine |
| Shared prompts, policies, playbooks, memory writes | Mut 또는 Mut 유사 mutation layer |
| Path-level visibility 와 read/write boundary | Permission system |
| Incident reconstruction 과 rollback | Audit + version history |
이 분리가 중요한 이유는 많은 팀이 orchestration tool 에 맞지 않는 문제까지 떠넘기기 때문입니다. pipeline 은 어떤 change 가 진행 가능한지는 판정할 수 있지만, shared context 의 안전한 동시 mutation 까지 자동으로 해결해주지는 않습니다.
pilot 을 scale 하기 전에 review 한다면, 최소한 다음 checklist 는 필요합니다.
이 대부분을 만족하지 못한다면, 더 많은 agent 를 추가하기 전에 boundary 를 먼저 정리해야 합니다.
현재 문제의 핵심이 agent 수가 아니라 planning, approval, execution 사이의 seam 이 약한 데 있다면, 다음으로 agentic workflow design 를 읽는 편이 좋습니다.
puppyone 을 쓰는 가장 강한 이유는 “더 많은 AI” 가 아니라 더 깨끗한 operational control 입니다.
다음이 필요할 때 특히 유용합니다.
특히 knowledge retrieval 과 context mutation 이 동시에 걸린 collaboration 에서 효과가 큽니다.
현재 architecture 가 ad hoc folder, fragile prompts, tool wrappers 중심이라면, 지금 필요한 것은 autonomy 를 더 늘리는 것이 아닐 수 있습니다. 먼저 disciplined context surface 가 필요합니다. 다음 글로는 agent permissions and audit design 와 context version control 가 가장 적절합니다.
scoped context, 감사 가능한 write, rollback-ready 협업이 필요하다면 puppyone 으로 시작하세요Get started멀티 에이전트 협업을 governed shared-state system 으로 다루세요.
“몇 개의 에이전트를 더 추가할까?”부터 시작하지 마세요.
먼저 다음을 물어야 합니다.
이 답이 약하면, 에이전트를 늘릴수록 약점은 더 커집니다.
반대로 이 답이 강하면, 협업은 화려한 demo 가 아니라 실제 production capability 가 됩니다.
아닙니다. 멀티 에이전트 시스템은 specialization 과 parallelism 을 높이지만, coordination cost, permission complexity, shared-state risk 도 함께 늘립니다. workflow 가 주로 linear 하고 read-only 라면, 잘 설계된 single agent 가 더 나은 선택일 수 있습니다.
최소한 policies, instructions, current operational state 에 대한 canonical source of truth 와, 에이전트가 scratchpad 나 오래된 summary 에서 제멋대로 진실을 만들지 않도록 하는 정의된 update path 가 필요합니다.
에이전트가 shared prompts, policies, runbooks, memory 같이 downstream execution 의 동작을 바꾸는 artifact 에 write 하기 시작할 때입니다. 사람이 여전히 모든 것을 review 하고 merge 한다면 Git 으로 버틸 수 있지만, unattended write 가 자주 발생한다면 더 강한 mutation control 이 필요합니다.