Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

OpenCode

OpenCode는 오픈 소스 코드 에이전트 하네스(harness)입니다. 다양한 공급자(Provider)를 통해 모델을 연결해서 사용할 수 있습니다.

1코드 에이전트

2022년 말 출시된 OpenAI ChatGPT가 2023년 역사상 가장 빠르게 성장한 서비스가 된 이후, 2년 정도 만에 언어 모델은 도구를 사용하는 에이전트로 빠르게 발전했습니다. 정보를 가공해서 전달하는 것도 충분히 유용하지만, 소프트웨어 개발 작업 등에서 인공지능이 직접 명령을 실행하거나 소스 코드를 편집하고 실행 결과에 따라 수정해 나가는 도구를 사용할 수 있는 실행력(agency)을 부여함으로써 인공지능의 산업적 활용 가치가 크게 높아졌습니다.

코드 에이전트는 기본적으로 채팅과 마찬가지로 언어 모델(language model) 기반입니다. 언어 모델의 사고 과정에는 맥락(context)이 중요합니다. 맥락은 대화 이력, 파일 등에서 추출되거나 첨부된 내용, 여러 대화에 걸쳐 생성된 기억(memory), 사용할 수 있는 도구에 대한 설명 등이 포함됩니다.

2설치

opencode.ai 웹사이트의 최신 안내를 참조하여 터미널 인터페이스(TUI) 또는 앱을 설치합니다.

3구성

코드 에이전트는 능력 있는 LLM이 필요합니다. 각 모델은 능력이나 초점이 다양하고, 지속적으로 새로운 모델이 출시되고 있습니다. SWE-Bench.com와 같은 웹사이트에서 에이전트 코딩(Agentic Coding) 벤치마크에서 높은 점수를 받은 모델을 참고할 수 있습니다.

3.1OpenCode Zen

OpenCode는 기본 모델 목록으로, OpenCode Zen이 설정되어 있습니다. LLM 기본 구성인 OpenCode Zen은 OpenCode 팀이 제공하는, 테스트와 검증을 거친 모델 목록입니다. 모델은 클라우드 제공자를 통해 제공되며 OpenCode Zen은 그러한 모델들을 제공하는 게이트웨이(gateway) 역할을 합니다. 이는 완전히 선택 사항이며, OpenCode를 사용하기 위해 반드시 사용할 필요는 없습니다.

3.2OpenAI 호환 모델 서버

온프레미스 내부망에서 사용하고자 할 때는 직접 모델을 구성해야 합니다. baseURL은 모델 서버가 동작 중인 API의 기본 주소(base URL)로 설정합니다. 모델 서버는 Ollama, vLLM을 비롯하여 OpenAI 호환 API라면 무엇이든 가능합니다.

OpenCode 구성 파일은 전역(global), 프로젝트(project), 또는 원격(remote)에 있을 수 있습니다. 편집과 확인이 용이한 것은 프로젝트 폴더에서 설정 파일을 생성하는 것입니다. 동작을 확인한 다음, 공통적인 설정의 경우 전역 파일에 추가하여 사용하는 것을 권장합니다.

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "qwen3.8:27b-64K": {
          "name": "Qwen 3.8:27B (64K)"
        }
      }
    }
  }
}

opencode.json 온프레미스 ollama 모델 구성 예시. Qwen 3.8:27B (컨텍스트 64K)