# [[ACP (Agent Communication Protocol)|ACP (Agent Communication Protocol]]

## 📌 Brief Summary
ACP(Agent Communication Protocol)는 에이전트 간의 고수준 의도(High-level intent), 목표(Goals), 그리고 복잡한 협업 시퀀스를 정의하기 위해 설계된 통신 규약이다. 2025년 Google의 A2A(Agent-to-Agent Protocol)와 IBM의 기존 에이전트 프레임워크가 통합되면서 다중 에이전트 시스템의 상호운용성을 보장하는 핵심 표준으로 자리 잡았다. 단순한 데이터 전달을 넘어 에이전트 간의 '의도 파악'과 '동적 협상'을 가능하게 한다.

## 📖 Core Content
*   **의도 기반 통신 추상화**: ACP는 메시지를 'Intent(의도)'와 'Action(행동)'으로 구조화한다. 이를 통해 에이전트는 상대방의 내부 로직을 알 필요 없이 "데이터 분석 보고서 작성 의도"와 같은 고수준의 목표를 공유하고 협업을 시작할 수 있다.
*   **A2A와의 통합 표준**: 초기에는 독립적인 프로토콜로 개발되었으나, 현재는 A2A의 작업 위임(Task Delegation) 메커니즘 위에서 작동하는 상위 계층 프레임워크 역할을 한다. "의도(ACP) -> 위임(A2A) -> 도구 실행(MCP)"으로 이어지는 3계층 통신 스택을 완성한다.
*   **동적 협상 및 재구성**: 에이전트가 제안된 작업에 대해 비용, 시간, 리소스 가용성을 바탕으로 역제안(Counter-proposal)을 하거나 거절할 수 있는 협상 인터페이스를 제공한다. 이는 동적인 멀티 에이전트 오케스트레이션을 가능하게 하는 핵심 요소이다.
*   **보안 및 신뢰 모델**: 에이전트 간의 신뢰 등급(Trust Level)을 정의하고, 높은 보안 등급의 작업 요청 시 추가적인 증명(Proof-of-capability)을 요구하는 거버넌스 기능을 포함한다.
*   **상태 추적 및 컨텍스트 공유**: 다중 에이전트 간의 대화 이력과 작업 상태를 공유 컨텍스트 윈도우(Shared Context Window) 형태로 관리하여, 협업 과정에서 발생하는 정보의 파편화를 방지한다.

## ⚖️ Trade-offs & Caveats
*   **추상화 오버헤드**: 고수준의 의도를 정의하고 해석하는 과정에서 단순 API 호출보다 더 많은 토큰과 추론 시간이 소모될 수 있다. 매우 단순한 작업에는 과도한 프로토콜 설계가 될 수 있다.
*   **의도 해석의 모호성**: LLM 기반 에이전트들이 서로의 의도를 해석할 때 미묘한 의미 차이(Semantic gap)로 인해 오해가 발생할 수 있으며, 이는 복잡한 협업 체인에서 예기치 않은 오류로 이어질 수 있다.
*   **구현 복잡성**: ACP를 완벽히 지원하기 위해서는 하네스 수준에서 복잡한 상태 머신과 협상 로직을 갖추어야 하므로, 초기 시스템 구축 비용이 높다.

## 🔗 Knowledge Connections

### Related Concepts

#### [통신 및 상호운용성]
*   [[A2A (Agent-to-Agent Protocol)|A2A (Agent-to-Agent Protocol]]
    *   연결 이유: ACP가 고수준의 협업 의도를 다룬다면, A2A는 실제 작업의 실행 위임과 데이터 스트리밍을 담당하는 하위 전송/실행 계층이다.
*   [[MCP (Model Context Protocol)|MCP (Model Context Protocol]]
    *   연결 이유: 에이전트가 ACP를 통해 협업을 결정하고 A2A로 작업을 위임받은 후, 실제 시스템 도구를 호출할 때 사용하는 가장 하위의 도구 접근 표준이다.

#### [실행 및 거버넌스]
*   Multi-Agent Orchestration
    *   연결 이유: ACP는 다중 에이전트 환경에서 에이전트들이 스스로 역할을 분담하고 목표를 달성하기 위해 소통하는 '언어' 역할을 한다.
*   [[Agent Identity Management|Agent Identity Management]]
    *   연결 이유: 안전한 ACP 통신을 위해서는 메시지를 보내는 에이전트의 신원과 권한을 명확히 검증할 수 있는 신뢰 기반의 인증 시스템이 선행되어야 한다.

### Deeper Research Questions
*   서로 다른 모델(예: Claude vs GPT)을 사용하는 에이전트 간에 ACP Intent 명세의 의미적 일관성(Semantic Consistency)을 어떻게 보장할 수 있는가?
*   ACP의 협상 과정에서 발생할 수 있는 교착 상태(Deadlock)나 무한 루프를 방지하기 위해 하네스는 어떤 타임아웃 및 정책 게이트를 두어야 하는가?
*   복잡한 의도를 전달할 때 발생하는 토큰 소모를 최적화하기 위해 ACP 메시지를 압축하거나 정형화된 스키마로 변환하는 가장 효율적인 방법은 무엇인가?
*   ACP 기반의 협업 시스템에서 특정 에이전트의 오작동이 전체 에이전트 체인의 목표를 하이재킹하는 것을 막기 위한 '협업 무결성 검증' 모델은 어떻게 설계되어야 하는가?

### Practical Application Contexts
*   **Implementation:** 복잡한 소프트웨어 엔지니어링 프로젝트에서 기획 에이전트, 코딩 에이전트, 리뷰 에이전트가 ACP를 통해 작업의 우선순위를 협상하고 피드백을 주고받는 워크플로우를 구축한다.
*   **System Design:** 엔터프라이즈급 에이전트 플랫폼 설계 시, 외부 파트너사의 에이전트와 우리 시스템의 에이전트가 안전하게 협업할 수 있도록 ACP를 표준 인터페이스로 채택한다.
*   **Operation:** 에이전트 간의 ACP 메시지 로그를 분석하여 협업 병목 지점을 찾고, 에이전트들의 '협업 지능'을 개선하기 위한 강화 학습 데이터로 활용한다.

---
*Last updated: 2026-05-01*
