---
tags: [AI, Agent, Protocol, ACP, ANP, A2A, MCP, FIPA, Robeing]
date: 2025-09-12
last_updated: 2025-09-12
author: happybell80
---

# ACP, ANP 등 에이전트 프로토콜 리서치 및 로빙 적용 방안

## 1. 개요

'ACP(Agent Communication Protocol)'는 2024년 5월 IBM이 처음 공개한 개방형 표준 통신 규약으로, LLM 기반 에이전트 생태계의 상호 운용성 문제를 해결하는 것을 목표로 한다. 역사적으로 FIPA 등에서 다루던 개념이지만, 최근 MCP, A2A, ANP 등 여러 프로토콜과 함께 비교되며 현대적 에이전트 아키텍처의 핵심 요소로 다시 부상했다.

## 2. ACP의 주요 특징 및 현황

- **범용성**: LangChain, crewAI 등 특정 기술 스택에 종속되지 않는다.
- **단순성**: 웹 표준인 REST와 HTTP 기반으로 적용이 용이하다.
- **개방형 거버넌스**: 2024년 9월, Linux Foundation 산하 A2A 프로젝트와 통합되어 업계 표준으로 발전하고 있다.
- **로컬/오프라인 지원**: 클라우드 없이 로컬 통신이 가능하다.

## 3. 핵심 출처

1.  **ACP 최초 공개 (IBM)**
    - **날짜**: 2024년 5월 21일
    - **출처**: `https://research.ibm.com/blog/agent-communication-protocol`

2.  **A2A 통합 발표 (Linux Foundation)**
    - **날짜**: 2024년 8월 29일 (블로그), 9월 5일 (보도자료)
    - **출처**: `https://lfaidata.foundation/communityblog/2025/08/29/acp-joins-forces-with-a2a-under-the-linux-foundations-lf-ai-data/`

3.  **종합 서베이 논문 (arXiv)**
    - **제목**: A survey of agent interoperability protocols: MCP, ACP, A2A, ANP
    - **날짜**: 2025년 5월
    - **출처**: `https://arxiv.org/abs/2505.02279`

---

## 4. 로빙 프로젝트 적용을 위한 심층 분석

오늘날 안전한 해석은 MCP(툴), ACP(메시징), A2A(협업), ANP(발견)를 상황별로 혼용하는 "프로토콜 믹스"가 합리적이다. 핵심은 프로토콜 도입 시 보안, 윤리, 감사, 평판을 메시지의 1급 속성으로 다루는 것이다.

### 4.1. 로빙 적용 5단계 로드맵

**단계 A. ACP 게이트웨이 레이어 신설**
- 모든 에이전트 호출을 ACP HTTP 엔드포인트로 단일화한다.
- 게이트웨이는 메시지 포맷 표준화와 함께, 로빙의 RBAC+ABAC, 불변 감사 체인을 적용하는 보안 인그레스 포인트 역할을 수행한다.

**단계 B. 프로토콜 믹스 매핑**
- 내부 툴 호출은 MCP, 에이전트 간 협업은 A2A, 메시징은 ACP, 공개 네트워크 확장은 ANP로 역할을 분리한다.
- 메시지 계약은 FIPA/AUML 스타일 상태기계로 명세하여 장애, 재시도, 보상 트랜잭션을 명료화한다.

**단계 C. 아이덴티티·신뢰 강화**
- ANP가 강조하는 DID/증명가능성을 로빙의 신원 정책과 결합한다.
- 모든 메시지에 DID 서명, 재생 방지, 목적 제한 등 메타데이터를 부착하여 외부 에이전트와 연동 시에도 법적/윤리적 프레임워크를 유지한다.

**단계 D. 스킬·API 자산화와 라우팅**
- 로빙의 스킬 마켓/API 아이템화 모델을 ACP의 "능력 카탈로그"로 노출한다.
- 스킬의 구매, 임대, 구독을 프로토콜 상의 표준 액션으로 추상화한다.

**단계 E. 데이터·스토리지 설계**
- 로그 저장 시 ACP 메타데이터 필드를 1급 컬럼으로 추가하여 프로토콜 레벨의 관찰 가능성을 확보하고, SLA 및 윤리 리포팅을 명료화한다.

### 4.2. 30/60/90 실행 계획 (요약)

- **30일**: ACP 게이트웨이 PoC 구축 및 핵심 스킬 2개를 ACP 엔드포인트로 노출.
- **60일**: 내부 협업(코디네이터↔스페셜리스트)에 A2A 적용 및 DID 서명 연동.
- **90일**: ANP 호환 방식으로 외부 마켓에 스킬 노출 및 관찰 대시보드에 프로토콜 KPI 추가.

### 4.3. 리스크와 대응

- **표준 단편화**: ACP/A2A 경계 변화에 대응하기 위해 게이트웨이에 "프로토콜 어댑터"를 모듈화한다.
- **검증 가능성**: 메시지 계약을 AUML/FIPA 상태기계로 명세하고 테스트를 자동화한다.
- **보안**: 개방형 네트워크(ANP) 연동 시 DID, 권한 위임, 속도 제한, 감사 체인을 필수로 적용한다.

## 5. 최종 결론

로빙 아키텍처는 ACP, A2A, MCP, ANP를 조합한 "프로토콜 믹스"를 도입하기에 최적의 상태다. 이를 통해 외부 생태계와의 상호운용성을 기술 부채 없이 확보하고, 로빙의 핵심 자산인 스킬과 신뢰 모델을 표준 방식으로 확장할 수 있다.

---

## 6. 로빙용 ACP 최소 구현 스펙(제안)

본 섹션은 현재 로빙의 "HTTP API만 허용" 원칙과 보안·감사 정책을 그대로 유지하면서, ACP 철학을 반영해 즉시 도입 가능한 최소 계약을 정의한다. 하드코딩은 지양하고(파라미터·환경변수화), 함수형 합성 가능하도록 설계한다.

### 6.1 엔드포인트(HTTP)
- `POST /acp/messages`: 에이전트 간 메시지 송수신(싱글·배치). 동기/스트리밍 응답 지원.
- `GET  /acp/capabilities`: 지원 퍼포머티브·미디어타입·제약(쿼터/레이트)을 기술한 카탈로그.
- `GET  /acp/version`: 프로토콜/서버 버전 및 호환 범위 협상 정보.
- `GET  /acp/healthz`: 헬스체크(종속성: DB/토큰검증/스킬 라우팅).

### 6.2 메시지 포맷(Envelope)
필수 공통 필드(권장 키)는 다음과 같다.
- `id`: 전역 고유 식별자(UUIDv7 권장), `ts`: ISO8601 UTC, `ver`: `acp.semver`.
- `from.did`, `to.did`: DID 또는 조직 내 정규화 ID. 외부 연동 대비.
- `performative`: `request|inform|propose|confirm|reject|error` 등(FIPA 호환군).
- `intent`: 도메인 의도 식별자(예: `skill.email.send`).
- `content`: `{ type, mime, data|url }` 중 택일. 대용량은 `url`로 참조.
- `attachments`: `[ { name, mime, url, hash } ]` 무결성 포함.
- `context`: `{ thread_id, correlation_id, causality }` 트레이싱·합의용.
- `security`: `{ jwt, did_sig, nonce, ttl_sec, scope[] }` 재생방지·목적제한.
- `policy`: `{ consent, purpose, retention }` 윤리·컴플라이언스 메타.
- `trace`: `{ trace_id, span_id }` 관찰성 표준화.

응답 래퍼
- 성공: `{ ok: true, id, result, warnings?[] }`
- 실패: `{ ok: false, id, error: { code, reason, details? } }`

### 6.3 오류 모델
- 코드 예시: `acp.invalid_request`, `acp.unauthorized`, `acp.forbidden`, `acp.timeout`, `acp.conflict`, `acp.rate_limited`, `acp.dependency_failed`.
- 모든 오류는 재시도 가능성(hint)·지수백오프 지침을 동반.

### 6.4 스트리밍
- 우선 HTTP/SSE 또는 HTTP chunked streaming을 사용(웹소켓은 선택). 각 청크는 `{ delta|event, seq, done? }`.

### 6.5 버전 협상
- 헤더 `X-ACP-Version`·바디 `ver` 동시 표기. 서버는 `/acp/version`에서 지원 범위를 노출하고, 교집합 불일치 시 400/426으로 안내.

### 6.6 헬스/가시성
- `/acp/healthz`는 `{ status, version, uptime, deps: { db, auth, router } }`를 반환.
- 모든 요청은 `trace_id` 필수. 게이트웨이에서 생성·전파.

### 6.7 보안/신원
- 인증: auth-server 발급 JWT 필수. 외부 연동 시 DID 서명(did:sov/ion 등) 옵션.
- 재생 방지: `nonce + ts + ttl_sec` 서명/검증. 허용 오차 윈도우 엄격 관리.
- 접근제어: RBAC+ABAC(역할·데이터 등급·목적 제한) 정책을 메시지 메타와 함께 평가.
- 속도 제한: IP/주체/스킬 키 레이트 리밋, 서킷브레이킹, 폭주 완화.

---

## 7. FIPA/AUML 매핑(상태 기계)

로빙 표준 상호작용 프로토콜(예시) — "Request-Response"와 "Contract Net":
- Request: `request` → `agree|refuse` → `inform|failure` → `confirm`.
- Contract Net: `cfp`(call for proposal) → `propose*` → `accept-proposal|reject-proposal` → `inform|failure`.

상태 전이는 AUML 표기와 동형으로 문서화하고, 실패/타임아웃/보상 트랜잭션을 포함한다. 각 전이에는 타임박스·재시도·아이들포브를 명시.

---

## 8. 프로토콜 믹스 적용 가이드(MCP/ACP/A2A/ANP)

- MCP: 내부 툴 호출·리소스 접근(파일/DB/도구). 게이트웨이가 프록시. HTTP only.
- ACP: 에이전트 간 메시징, 세션·스트리밍·내용교섭. 외부 파트너도 동일 계약.
- A2A: 태스크 위임·협업·워크플로 합의. 조정/스케줄링/역할 부여.
- ANP: 네트워크 상 발견·등록·평판·DID 연동. 공개 마켓·연합망 지향.

선정 기준: 데이터 경계/보안수준/상호작용 복잡도/지연·SLA를 축으로 결정.

---

## 9. 데이터/로그 스키마(요약)

PostgreSQL에 Envelope 1급 컬럼화(관찰·추적·KPI용):
- `id, ts, ver, from_did, to_did, intent, performative, trace_id, span_id`
- `status, latency_ms, size_bytes, retry_count, rate_bucket`
- `policy_consent, policy_purpose, policy_retention`
- `error_code, error_reason, error_details`

텍스트+벡터 이중 저장(콘텐츠 인덱싱) 시 ChromaDB 컬렉션은 `id`·`trace_id`로 조인.

---

## 10. 테스트/검증 계획(최소 커버리지)

- 계약 테스트: OpenAPI/JSON Schema 기반 요청/응답 검증.
- 상태 프로토콜 테스트: FIPA/AUML 전이 케이스·타임아웃·보상 시나리오.
- 회복탄력성: 지수 백오프·서킷브레이커·부분 실패 격리.
- 보안: JWT 스코프·DID 서명·재생 방지·레이트 리밋·주입 방어.
- 관찰성: trace/span 전파·샘플링·로그 상관관계·KPI 산출.

---

## 11. 30/60/90 실행 로드맵(구체화)

30일(POC)
- 게이트웨이에 `/acp/messages|version|capabilities|healthz` 추가.
- 스킬 2종(예: email, news)을 ACP로 래핑. JWT 연동.
- AUML 다이어그램(요청/계약넷)과 계약 테스트 추가.

60일(내부 협업 표준화)
- 코디네이터↔스페셜리스트에 A2A 적용(위임·합의·결과 수집).
- RBAC+ABAC 정책을 메시지 메타와 결합, 감사·윤리 체크 자동화.
- 실패/보상 플로우 회귀 테스트와 성능 벤치마크.

90일(외부 연동/가시성)
- 초기 파트너와 상호운용 파일럿(상호 인증·버전 교섭).
- ANP 스타일 등록/발견 PoC와 DID 서명 시범.
- 대시보드에 프로토콜 KPI(성공률·지연·거부사유·데이터등급 접근) 추가.

---

## 12. 문헌/출처 보강(정오표 포함)

주의: `ACP` 약어 충돌이 존재한다. 본 문서에서의 `ACP`는 IBM/BeeAI 계열의 Agent Communication Protocol을 지칭한다. 아래 두 논문은 각각 "Agent context protocols", "Agent Collaboration Protocols"를 뜻하므로 인용 시 구분 필요.

- A survey of agent interoperability protocols: MCP, ACP, A2A, ANP (arXiv, 2025-05).
- A Survey of AI Agent Protocols (arXiv, 2025-04).
- A Survey of LLM-Driven AI Agent Communication (arXiv, 2025).
- From LLM Reasoning to Autonomous AI Agents (arXiv, 2025).
- Towards Unifying Quantitative Security Benchmarking for Agents (arXiv, 2025).
- Agent Communications toward Agentic AI at Edge (arXiv, 2025-08).
- Agent context protocols Enhance Collective Inference — ACP 약어 충돌(별개 개념).
- ACPs: Agent Collaboration Protocols for the Internet of Agents — 약어 충돌(별개 개념).
- Agent Communication Protocol 공식 문서(ACP, 커뮤니티 사이트). LF A2A 정렬.
- IBM Research/BeeAI 공지 및 해설.
- Linux Foundation AI & Data 공지(ACP→A2A 통합·거버넌스).
- i-am-bee/acp GitHub 리포(사양·전환 안내·토론).
- Agent Network Protocol Technical White Paper(ANP 백서, 비교 참고).

문헌 인용은 고유명사 `ACP` 판별을 우선하고, 링크는 프로젝트 위키/레퍼런스 파일에서 최신화 관리한다.

---

## 13. 마이그레이션 가이드(운영 반영)

- 게이트웨이 라우팅에 ACP 레이어 추가(기존 REST와 공존). 점진 마이그레이션.
- 스킬 서비스는 내부 계약을 유지하되 외부 노출은 ACP 래퍼로 통일.
- 버전 협상·역호환 정책: `X-ACP-Version` 교집합 우선, 불일치 시 다운네고 안내.
- 로깅 스키마 확장(Envelope 1급 컬럼)과 대시보드 연동.
- CI에 계약·상태·보안·관찰성 테스트 조합 추가.

---

## 14. 운영 수칙(요약)

- 하드코딩 금지: 엔드포인트·버전·정책·레이트 한도는 환경·레지스트리로 주입.
- 함수형: 검증·정책결정·라우팅·직렬화는 순수 함수로 모듈화.
- 회복탄력성: 타임아웃·재시도·폴백·서킷브레이킹 기본값 표준화.
- 보안 우선: 최소권한·목적제한·감사 불변성·데이터등급 경계 엄수.
- 관찰성: 100% 트레이싱·오류 분류·SLO 모니터링·용량 계획 상시화.
