AI VIDEO BRIEFING

ACP 에이전트 클라이언트 프로토콜: 서로 다른 AI 코딩 에이전트를 하나의 편집기로 잇는 오픈 표준

Zed가 공개한 에이전트 클라이언트 프로토콜(ACP)은 JSON-RPC 기반 오픈 표준으로, 서로 다른 AI 코딩 에이전트를 하나의 편집기 인터페이스로 통합한다. 최소 구현 방법과 세션 업데이트 구조를 라이브 데모로 함께 정리했다.

여러 AI 코딩 에이전트를 하나의 인터페이스로: Zed가 만든 오픈 프로토콜 ACP 영상 대표 이미지

핵심 메시지

  • ACP(Agent Client Protocol)는 Zed가 만든 JSON-RPC 기반 오픈 프로토콜로, 다양한 AI 코딩 에이전트를 하나의 편집기 인터페이스로 연결한다.
  • MCP나 LSP와 비슷한 발상으로, 에이전트와 클라이언트가 통일된 규격으로 대화하도록 표준을 맞춘다.
  • 최소 구현은 initialize·인증·세션 생성·prompt 네 가지 함수와 취소 처리만으로 가능하다.
  • 텍스트와 도구 호출 결과는 '세션 업데이트' 알림으로 클라이언트에 스트리밍되어 화면에 표시된다.
  • OpenCode·Cursor·JetBrains·Obsidian 등 이미 여러 클라이언트와 에이전트가 ACP를 지원한다.

쉽게 이해하기

발표자는 Rust로 작성된 AI 코드 편집기 Zed를 만드는 팀의 개발자다. 지난 한 해 Claude Code, Codex, Gemini CLI처럼 각 모델 제공사가 저마다의 터미널 기반 코딩 에이전트를 쏟아냈는데, Zed는 사용자가 원하는 에이전트를 골라 쓰면서도 편집기에서 통일된 경험을 누리게 하고 싶었다. 그래서 만든 것이 에이전트 클라이언트 프로토콜(ACP)이다.

ACP는 JSON-RPC 기반의 오픈 프로토콜로, MCP나 LSP와 같은 계열의 아이디어다. 에이전트와 클라이언트가 하나의 통일된 규격으로 대화하게 만들어, 특정 에이전트의 고유 방식을 어댑터로 변환하거나 CLI에 ACP 모드를 내장하는 식으로 연동한다. 발표 시점에 이미 약 40개의 클라이언트가 이 규격을 구현했고 JetBrains, Obsidian 등도 지원 대열에 합류했다.

발표자는 파일 읽기와 편집이라는 두 도구만 가진 아주 단순한 코딩 에이전트를 예로 들며 에이전트의 작동 원리를 설명한다. 모델 API는 상태를 저장하지 않으므로, 지금까지의 대화를 붙여 엔드포인트를 호출하고, 모델이 텍스트로 답을 끝내거나 도구를 호출하면 그 도구를 로컬에서 실행한 뒤 결과를 다시 모델에 올려보내는 '에이전트 루프'가 핵심이다.

이 에이전트를 ACP에 맞추려면 TypeScript SDK가 제공하는 에이전트 인터페이스를 구현하면 된다. 최소한으로는 지원하는 프로토콜 버전을 알리는 initialize, 여기서는 환경 변수 API 키를 쓰므로 생략되는 인증, 무작위 ID를 만들어 현재 작업 디렉터리와 함께 에이전트를 생성해 내부 맵에 저장하는 세션 생성, 그리고 세션 ID로 해당 에이전트를 찾아 도구 호출 루프를 돌리는 prompt까지 네 함수와 취소 처리를 갖추면 된다.

모델이 내놓는 토큰을 편집기 화면에 실제로 보여주려면 '세션 업데이트'라는 알림을 보내야 한다. 텍스트 조각은 메시지 청크로, 도구 호출은 진행 중·완료 같은 상태와 내용을 담은 tool call 및 tool call update로 전달된다. 또한 ACP는 파일 시스템 접근을 대신 중계해, 편집기 버퍼에만 있고 아직 저장되지 않은 변경까지 에이전트가 볼 수 있게 한다.

주요 인사이트

  • ACP의 목표는 새 기능이 아니라 '통일'이다. 서로 다른 에이전트를 같은 규격으로 묶으면 사용자는 편집기를 바꾸지 않고도 원하는 에이전트를 자유롭게 갈아 끼울 수 있다.
  • 에이전트 루프의 본질은 단순하다. 상태 없는 모델 API에 지금까지의 대화를 붙여 호출하고, 도구 호출을 로컬에서 실행해 결과를 되돌려 보내는 반복이다.
  • 파일 편집 결과는 old text와 new text를 보내면 클라이언트(Zed)가 직접 diff를 계산해 보여준다. 에이전트가 아니라 편집기가 화면 표현을 담당하는 역할 분담이다.
  • ACP가 파일 시스템을 중계하기 때문에, 저장하지 않은 편집 중인 내용도 에이전트가 반영할 수 있다는 점은 편집기 통합에서 특히 실용적이다.
  • 발표자는 이 코딩 에이전트가 스스로에게 터미널 도구를 추가하도록 시켜 기능을 확장하는 모습까지 시연했다. 현재는 표준 입출력으로 통신하며 원격 전송 방식도 준비 중이다.

자주 묻는 질문

ACP는 무엇이고 왜 만들어졌나요?

ACP(에이전트 클라이언트 프로토콜)는 Zed가 만든 JSON-RPC 기반 오픈 프로토콜입니다. 서로 다른 AI 코딩 에이전트를 편집기 같은 클라이언트와 통일된 규격으로 연결해, 사용자가 원하는 에이전트를 하나의 인터페이스에서 쓰도록 하려고 만들어졌습니다.

ACP 호환 에이전트를 만들려면 최소한 무엇을 구현해야 하나요?

SDK가 제공하는 에이전트 인터페이스에서 프로토콜 버전을 알리는 initialize, 인증, 세션 생성, prompt 네 함수와 취소 처리를 구현하면 됩니다. 그리고 텍스트와 도구 호출 결과를 세션 업데이트 알림으로 클라이언트에 보내면 화면에 표시됩니다.

ACP는 MCP와 어떤 관계인가요?

발표에서는 ACP를 MCP나 LSP와 같은 계열의 발상이라고 설명합니다. 통일된 규격으로 프로그램 간 대화를 표준화한다는 점이 비슷하며, ACP는 특히 에이전트와 편집기 같은 클라이언트 사이의 연결에 초점을 둡니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식