OpenCode 2.0, 코딩 에이전트의 서버 구조와 API를 전면 개편

AI 코딩 에이전트 도구인 OpenCode가 2.0 버전을 공개하며 내부 구조를 대대적으로 바꿨다. 단순한 기능 추가가 아니라 클라이언트-서버 동작 방식, API 설계, 스크립트 실행 엔진까지 근본적으로 다시 설계한 것이 특징이다. 매일 수백만 명이 사용하는 과정에서 쌓인 사용 패턴을 반영해, 터미널(TUI)과 웹, 데스크톱 앱이 하나의 백그라운드 프로세스를 공유하도록 바뀐 점이 가장 눈에 띈다.

항상 켜져 있는 백그라운드 서버로 전환

OpenCode는 처음부터 클라이언트/서버 구조를 채택했지만, 실제로는 일부 파워 유저만 이 구조를 적극 활용해왔다. 2.0부터는 이 서버가 사용자의 컴퓨터에서 단일 백그라운드 프로세스로 자동 실행된다. TUI, 웹 인터페이스, 데스크톱 앱을 어떤 경로로 열든 모두 같은 중앙 프로세스와 통신하는 구조다.

프로그래밍 방식으로 접근하는 @opencode/client 패키지를 쓰는 개발자라면, 별도 설정 없이도 로컬에서 실행 중인 서비스를 자동으로 찾아 연결한다. 스케줄링된 작업을 자동화하려는 경우 특히 유용하다. CLI에서도 opencode api 명령으로 동일한 기능에 접근할 수 있고, /pair 또는 opencode pair 명령으로 이 서버를 외부 호스트에 노출시켜 다른 애플리케이션과 연결하는 것도 가능하다. 이런 구조를 바탕으로 한 네이티브 앱도 개발 중이라고 밝혔다.

처음부터 다시 설계한 API

기존 API는 OpenCode 팀과 업계가 “에이전트란 무엇이어야 하는가”를 함께 배워가는 과정에서 그때그때 덧붙여진 탓에 구조가 지저분했다고 개발팀은 스스로 평가한다. 2.0에서는 수백만 사용자가 실제로 겪은 다양한 사용 사례를 분석해 API를 처음부터 재설계했다.

그 결과 OpenCode는 자기 자신의 API를 인식하고 이를 스스로 호출해 작업을 처리할 수 있게 됐다. 예를 들어 새로운 작업을 시작할 때 현재 세션을 자동으로 git worktree로 옮기는 식이다. 또한 바닐라 자바스크립트와 Effect용 클라이언트를 모두 포함한 새 패키지 @opencode/client도 함께 배포됐다.

MCP 서버를 코드로 엮어 호출하는 코드 모드

이번 업데이트에서 가장 기술적으로 흥미로운 부분은 @opencode/codemode 패키지다. 이는 OpenCode 내부에 직접 구현한 경량 자바스크립트 인터프리터로, Node.js VM이나 QuickJS 같은 복잡한 임베딩 솔루션 없이도 스크립트를 네이티브하게 실행할 수 있다.

이 인터프리터는 MCP(Model Context Protocol) 서버나 OpenAPI 엔드포인트를 에이전트가 호출 가능한 함수로 변환한다. 덕분에 에이전트는 “툴을 호출하고, 그 결과를 매핑해서 다른 툴을 또 호출하는” 작업을 왕복 통신 여러 번이 아니라 한 번의 스크립트 실행으로 처리할 수 있다. 2.0의 모든 MCP 서버는 기본적으로 코드 모드를 사용하도록 설정되어 있어, MCP 서버를 수백, 수천 개 등록해도 컨텍스트가 크게 부풀지 않으면서 에이전트가 필요한 것들을 알아서 발견하고 조합해 쓸 수 있다는 설명이다.

백그라운드 서브에이전트와 비동기 셸 명령

최신 모델들이 작업을 조율(orchestration)하는 능력이 뛰어나다는 점에 주목해, OpenCode 2.0은 이를 최대한 활용할 수 있는 두 가지 기능을 추가했다.

  • 백그라운드 서브에이전트: 메인 에이전트가 특정 작업을 다른 에이전트에게 맡기고 자신은 계속 다음 작업을 진행할 수 있다. 자동으로 발동되기도 하고, “이 코드를 검토할 서브에이전트를 백그라운드에서 실행해줘” 같은 식으로 다른 모델을 지정해 수동으로 트리거할 수도 있다.
  • 백그라운드 셸 명령: 오래 걸리는 셸 작업을 비동기로 실행해 메인 에이전트의 작업 흐름을 막지 않는다. 포그라운드에서 실행 중인 셸 명령이나 서브에이전트가 예상보다 오래 걸리면 단축키 하나로 백그라운드로 전환할 수도 있다.

플러그인 시스템 안정화와 핫 리로드

OpenCode 1.0에도 플러그인 시스템은 있었지만 충분히 관리되지 못했다. 이를 바로잡기 위해 개발팀은 2.0의 거의 모든 기능을 내부 플러그인으로 구현했고, 그 수가 80개 이상에 달한다. 이렇게 하면 플러그인 API 자체가 실제 핵심 기능들이 의존하는 인터페이스가 되어 자연스럽게 잘 관리될 수밖에 없다는 전략이다.

TUI용 플러그인도 실험 단계에서 정식(stable) 단계로 승격됐다. OpenTUI 기반이라 거의 모든 형태의 터미널 UI 확장을 만들 수 있다. 또한 모든 구성 요소가 핫 리로드를 지원하도록 만들어, 세션 도중에 에이전트가 스스로 플러그인을 작성하고 즉시 적용해 사용하는 것도 가능하다고 소개했다.

한국 개발자 입장에서 눈여겨볼 점

국내에서 AI 코딩 에이전트를 업무나 개인 프로젝트에 도입하려는 개발자라면, OpenCode 2.0의 변화는 단순 기능 추가 이상의 의미가 있다. 여러 클라이언트(터미널, 웹, 데스크톱)가 하나의 서버 프로세스를 공유한다는 점은 사내 여러 도구를 하나의 에이전트 세션에 연결하는 식의 통합 작업을 쉽게 만들어 줄 수 있다. 또한 MCP 서버를 대량으로 연결해 쓰는 경우, 코드 모드 덕분에 컨텍스트 비용 부담 없이 다양한 외부 툴을 조합해 쓸 수 있다는 점도 실무적으로 유용하다.

다만 원문에는 구체적인 출시일, 가격 정책, 벤치마크 수치 등은 제시되어 있지 않다. 실제 도입을 검토한다면 공식 저장소나 문서를 통해 플러그인 생태계의 성숙도와 API 안정성을 직접 확인해보는 것이 좋다.

원문: OpenCode 2.0


코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다