TECH 으로 돌아가기
TECH HACKER NEWS 오늘 7분 읽기 29 READS

오픈코드 2.0, 코딩 에이전트의 구조를 다시 짜다

오픈코드 2.0, 코딩 에이전트의 구조를 다시 짜다
SOURCE IMAGE · HACKER NEWS

오픈코드(OpenCode)가 2.0으로 대대적인 개편을 발표했다. 개발팀은 수백만 명에 이르는 일일 사용자의 사용 경험을 바탕으로 에이전트가 요구하는 거의 모든 형태에 유연하게 대응할 수 있도록 시스템을 다시 설계했다고 밝혔다. 새 기능과 성능 개선, 버그 수정이 다수 포함됐지만, 실무자 입장에서 눈여겨볼 만한 것은 아키텍처와 확장성에 관한 변화들이다.

백그라운드 서버로 통합된 실행 구조

오픈코드는 초기부터 클라이언트/서버 모델을 채택했지만, 실제로는 기본값으로 활용되지 않고 일부 파워 유저만 쓰는 기능에 가까웠다. 2.0에서는 이 서버가 머신 위에서 단일 백그라운드 프로세스로 자동 실행된다. TUI, 웹 인터페이스, 데스크톱 앱 중 무엇을 열든 모두 동일한 중앙 프로세스와 통신하는 구조다. 이는 단순한 편의 개선이 아니라, 여러 진입점에서의 작업 상태를 하나로 모으는 설계 결정이라는 점에서 의미가 있다.

프로그래밍 방식으로 접근하는 @opencode/client를 쓰면 스크립트가 로컬 서비스를 자동으로 발견해 그대로 동작한다. 개발팀은 특히 예약 작업(scheduled task)에 유용하다고 설명한다. CLI에서는 opencode api 명령으로 호출할 수 있고, 서버를 다른 호스트에 노출한 뒤 /pair 또는 opencode pair로 다른 애플리케이션과 연결하는 것도 가능하다. 이 흐름을 활용하는 네이티브 앱도 준비 중이라고 한다.

API 재작성과 코드모드

기존 API는 에이전트가 무엇이고 어때야 하는지를 업계 전체가 배워가는 과정에서 중구난방으로 커졌고, 개발팀은 이를 솔직하게 "나빴다"고 표현했다. 2.0에서는 이를 처음부터 새로 만들어 사용자들의 다양한 사례를 점검해 반영했다. 주목할 점은 오픈코드가 자기 자신의 API를 인식하고 직접 호출한다는 것이다. 예컨대 새 작업을 시작할 때 현재 세션을 깃 워크트리(git worktree)로 옮기는 식의 동작을 스스로 수행한다. 바닐라 자바스크립트와 Effect용 클라이언트를 담은 @opencode/client 패키지도 함께 제공된다.

가장 특징적인 기능은 @opencode/codemode 패키지에 담긴 경량 자바스크립트 인터프리터다. 이 패키지는 MCP 서버나 OpenAPI 엔드포인트를 받아 에이전트가 스크립트 안에서 호출할 수 있는 함수로 변환한다. Node.js VM이나 QuickJS 같은 복잡한 임베딩 없이 스크립트를 네이티브로 실행하는 것이 핵심이다. 덕분에 에이전트는 도구를 호출하고 그 결과를 매핑한 뒤 다른 도구를 다시 호출하는 작업을, 하나씩 왕복하지 않고 한 번의 라운드트립으로 처리할 수 있다. 2.0에서는 모든 MCP 서버가 코드모드에 기본 적용되므로, 수천 개를 추가해도 컨텍스트 부담이 적고 에이전트가 이를 조합해 작업을 처리한다고 한다. MCP를 대량으로 붙이려는 실무 환경에서 체감 효과가 클 부분이다.

오케스트레이션과 백그라운드 작업

최근 모델들이 오케스트레이션 능력에서 강점을 보이는 만큼, 2.0은 이를 표현할 여지를 넓혔다. 먼저 백그라운드 서브에이전트가 추가됐다. 주 에이전트가 일부 작업을 다른 에이전트에 맡기고 자신은 계속 진행할 수 있으며, 자동으로 일어나기도 하지만 다른 모델을 지정해 수동으로 띄우는 것도 가능하다. 코드 리뷰용 서브에이전트를 백그라운드로 돌리면서 계속 프롬프트를 입력하는 식이다. 셸 명령도 비동기로 실행할 수 있어, 오래 걸리는 작업이 주 에이전트를 막지 않고 완료 시 알림을 받는다. 전경에서 실행 중인 명령이나 서브에이전트가 예상보다 길어지면 단축키로 백그라운드로 옮길 수 있다.

플러그인과 라이브러리화

1.0에도 플러그인 시스템이 있었지만 충분히 다듬어지지 못했다. 이를 바로잡기 위해 개발팀은 2.0의 기능 대부분을 내부 플러그인으로 구현하도록 스스로를 강제했고, 현재 80개 이상이 존재한다. 플러그인 API가 꾸준히 관리되도록 보장하려는 장치다. OpenTUI 기반의 TUI 플러그인은 실험 단계에서 정식(stable)으로 승격됐고, 모든 요소가 핫 리로드를 지원하도록 공을 들여 세션 도중에 자신을 위한 플러그인을 작성해 즉시 사용할 수도 있다.

나아가 @opencode/sdk 패키지를 통해 오픈코드를 라이브러리로 쓸 수 있게 됐다. CLI를 구동하는 바로 그 코드이며, 이를 덜어내 서버나 Durable Objects 같은 특수 환경에서 돌아가는 자신만의 변형 오픈코드를 만들 수 있다. 표준 서버 프로토콜을 따르므로 어떤 오픈코드 클라이언트에서든 접속 가능하다. Effect 기반 API도 선택적으로 제공되지만 아직 개발 중이라는 점은 감안해야 한다. 업그레이드는 최신 1.x 릴리스로 올린 뒤 opencode upgrade --major를 실행하면 되고, 나머지 변경은 하위 호환이라 오픈코드에 이 문서를 가리켜 마이그레이션을 맡길 수 있다고 안내한다.

정리하면 2.0의 방향성은 분명하다. 단일 백그라운드 서버로 실행 환경을 통합하고, 코드모드로 도구 조합의 비용을 낮추며, 플러그인과 SDK로 확장성을 열어 모델의 오케스트레이션 능력을 최대한 끌어내겠다는 설계다. 다만 Effect API와 pair 기반 네이티브 앱처럼 아직 진행 중인 요소가 섞여 있어, 도입을 검토하는 팀이라면 어떤 기능이 안정 단계이고 어떤 것이 개발 중인지 구분해 받아들이는 편이 안전하다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://anoma.ly/notes/opencode-2-0/
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기 →
처리 중...