Agent Client Protocol
에이전트 클라이언트 프로토콜(ACP)
About
- Agent Client Protocol(ACP) 은 코드 에디터와 AI 코딩 에이전트 간의 통신을 표준화하기 위한 프로토콜
- 기존에는 각 에디터가 특정 에이전트와 연결되려면 별도의 커스텀 통합 작업이 필요했고, 이는 호환성 제한과 개발자 락인 문제를 초래했음
- ACP는 언어 서버 프로토콜(LSP) 처럼 표준화된 통신 방식을 제공해, 한 번 구현하면 모든 호환 에디터·에이전트 간에 자유롭게 연결 가능하도록 함
- 에디터에서 에이전트를 서브 프로세스로 실행하고, JSON-RPC over stdio로 통신하며, UI 요소에는 diff 표시와 Markdown 기반 출력을 지원함
- 현재 Zed, neovim(CodeCompanion 플러그인) 등이 ACP를 지원하고, 에이전트 측에서는 Gemini CLI가 호환되며 앞으로 지원 범위가 확대될 예정임
소개
- Agent Client Protocol(ACP) 은 원격 개발, 포트 포워딩, 명령 실행 등과 같은 서버-클라이언트 간 상호작용을 표준화하는 목적으로 설계된 개방형 프로토콜임
- 기존 문제점: AI 코딩 에이전트와 에디터는 긴밀히 연결되어 있지만, 상호 운용성이 기본적으로 보장되지 않음
- 각 에디터는 지원하려는 에이전트마다 커스텀 통합을 구축해야 함
- 에이전트는 특정 에디터 API를 구현해야 사용자에게 도달 가능
- 이는 통합 오버헤드, 제한된 호환성, 개발자 종속성 문제를 초래
- ACP를 구현한 에이전트는 모든 호환 에디터에서 동작
- ACP를 지원하는 에디터는 ACP 호환 에이전트 생태계 전체에 접근 가능
- 독립적 혁신을 가능하게 하며, 개발자가 워크플로우에 최적화된 도구 선택 가능
ACP 개요
- 운영 방식: 사용자가 주로 코드 에디터에서 작업하며, 특정 작업을 위해 에이전트를 호출
- 에이전트는 에디터의 서브프로세스로 실행
- JSON-RPC를 stdio를 통해 사용해 통신
- HTML 렌더링 없이도 풍부한 포맷팅 가능
현재 지원 현황
- 에디터
- Zed: 공식 문서를 통해 ACP 지원
- Neovim: CodeCompanion 플러그인을 통해 ACP 통합
- 추가 에디터 지원 예정
- Gemini: Gemini CLI를 통해 ACP 지원
- 추가 에이전트 지원 예정
결론
- ACP는 LSP의 성공 사례를 본떠, AI 코딩 에이전트와 에디터 간의 상호 운용성을 혁신적으로 개선
- 개발자는 특정 에이전트나 에디터에 종속되지 않고, 최적의 도구 조합을 자유롭게 선택 가능
- 프로토콜의 확장은 생태계 확장성을 높이며, 개발자 워크플로우의 효율성과 유연성을 증대 가능