Opencode: 다양한 LLM을 사용할 수 있는, 터미널 기반의 오픈소스 AI 코딩 에이전트

Opencode 소개

Opencode는 터미널 환경에서 사용할 수 있는 AI 코딩 에이전트로, 개발자가 프로젝트 코드베이스를 이해하고, 새로운 기능을 추가하거나, 기존 코드를 리팩토링하는 작업을 AI와 함께 수행할 수 있도록 설계된 오픈소스 도구입니다. 대부분의 AI 코딩 보조 도구들이 IDE나 웹 기반 에디터에 집중하고 있는 것과 달리, Opencode는 터미널 네이티브 경험을 중점적으로 제공합니다. 네오빔(Neovim) 사용자들이 주도하여 개발되었기 때문에, 코드 편집과 빌드 환경에 최적화된 터미널 UI(TUI)를 제공하며, 동시에 다양한 LLM(Language Model)과 연동할 수 있는 유연성을 갖추고 있습니다.

최근 Claude Code, GitHub Copilot 등 AI 기반 코딩 도구들이 개발자의 작업 방식을 크게 변화시키고 있습니다. 하지만 이들 대부분은 특정 모델 혹은 클라우드 제공업체에 종속적이라는 한계가 있습니다. 반면 Opencode는 Anthropic, OpenAI, Google 등 주요 AI 모델은 물론, 로컬 모델까지 지원하여 개발자가 원하는 환경에 맞게 AI를 활용할 수 있게 해줍니다. 특히 provider-agnostic(특정 제공업체에 얽매이지 않는) 아키텍처를 통해, 모델 경쟁이 치열해지고 가격이 내려가는 상황에서 장기적인 유연성을 제공합니다.

Opencode는 단순한 코드 자동 완성 기능을 넘어, 멀티 세션 관리, LSP(Language Server Protocol) 자동 로딩, 공유 가능한 세션 링크 제공 등 협업과 확장성에도 중점을 두고 있습니다. 또한 클라이언트/서버 아키텍처를 채택하여, 로컬에서 실행하면서도 원격지(예: 모바일)에서 접근할 수 있는 확장성을 갖추고 있습니다. 이러한 기능들로 Opencode를 통해 “혼자 개발할 때 생산성 향상”뿐 아니라 “팀 단위 협업과 디버깅”에서도 유용하게 활용될 수 있습니다.

Claude Code와의 비교

많은 개발자들이 Opencode를 Anthropic의 Claude Code와 비교합니다. 기능은 유사하지만 철학과 구조에서 차이가 있습니다.

  • 오픈소스 여부: Claude Code는 상용 제품인 반면, Opencode는 완전한 오픈소스 프로젝트입니다.
  • 제공업체 종속성: Claude Code는 Anthropic 모델에 최적화된 반면, Opencode는 OpenAI, Google, Anthropic, 로컬 모델 등 다양한 선택지를 지원합니다.
  • 사용 환경: Claude Code는 주로 IDE나 클라우드 환경에서 사용되지만, Opencode는 터미널 네이티브 경험에 집중합니다.
  • 아키텍처 차이: Opencode는 클라이언트/서버 구조를 채택하여 원격 제어, 멀티 디바이스 접근 가능성이 높습니다.

즉, Claude Code가 “Anthropic 중심의 상용 솔루션”이라면, Opencode는 “오픈소스 기반, 모델 독립적, 터미널 최적화”라는 점에서 뚜렷한 차별점을 가집니다.

Opencode 설치와 설정

사전 준비

설치 방법

가장 간단한 설치 방법은 설치 스크립트를 통한 설치입니다:

curl -fsSL https://opencode.ai/install | bash

또는 다양한 패키지 매니저들을 활용해서 설치할 수 있습니다:

# Node.js 환경
npm install -g opencode-ai

# macOS/Linux (Homebrew)
brew install sst/tap/opencode

# Arch Linux (Paru)
paru -S opencode-bin

Windows의 경우 자동 설치는 아직 지원되지 않으며, GitHub 저장소의 Releases 메뉴에서 바이너리를 직접 내려받아야 합니다.

모델 제공업체 설정

설치 후, 아래와 같은 명령어를 실행하면 Anthropic, OpenAI, Google, Azure 등 원하는 제공업체를 선택할 수 있습니다. Opencode 팀은 비용 대비 성능을 고려할 때 Claude Pro/Max를 추천합니다:

opencode auth login

프로젝트 초기화 및 사용법

프로젝트 초기화

작업하려는 프로젝트 폴더에서 Opencode를 실행하면 프로젝트를 분석한 뒤 AGENTS.md 파일을 생성합니다. 이 파일은 Opencode가 프로젝트 구조와 패턴을 이해하는 데 활용됩니다.

주요 활용 사례

코드 질문하기

How is authentication handled in @packages/functions/src/api/index.ts

위와 같은 프롬프트를 통해 코드베이스 내 특정 기능의 구현 방식을 빠르게 파악할 수 있습니다.

기능 추가하기

Opencode는 Plan 모드Build 모드를 지원합니다:

  • Plan 모드(Tab 키로 전환): AI가 실행 계획만 제시
  • Build 모드(Tab 키로 전환): 실제 코드 변경 수행

다음과 같은 방식으로 프롬프트를 작성합니다:

When a user deletes a note, flag it as deleted in the DB. 
Then create a screen that shows recently deleted notes.

코드 변경하기

단순한 요청이라면 바로 Build 모드에서 코드 변경을 지시할 수 있습니다. 아래 예시 프롬프트를 참고해주세요:

Add authentication to /settings route like in /notes route

변경 취소/재적용

다음 명령어들로 변경 사항들을 취소(undo)하거나 다시 적용(redo)할 수 있습니다:

  • /undo: 이전 변경 취소
  • /redo: 다시 적용

세션 공유

대화 내용을 공유 가능한 링크로 만들어 팀과 협업할 수 있습니다.

다음은 이러한 세션 공유의 예시입니다: Analyzing authentication in Hono API routes | opencode

커스터마이징

Opencode는 다양한 커스터마이징 기능을 지원합니다. 관련한 내용들은 다음 문서들을 참고하세요:

라이선스

Opencode 프로젝트는 MIT License으로 배포됩니다.

:house: Opencode 공식 홈페이지

:books: Opencode 공식 문서 사이트

:github: Opencode 프로젝트 GitHub 저장소




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck: