매번 코딩 프롬프트를 클라우드 API로 보내는 게 지겹다면, OpenCode와 Ollama 조합이 바로 찾던 해결책일 것입니다. 작동은 잘 합니다. 다만 데모에서 보는 것보다는 느리고 불안정합니다.

적절한 기대치는 간단합니다. 로컬 OpenCode는 작고 비공개이며 반복적인 작업에 탁월합니다. 복잡한 다중 파일 마이그레이션을 맡기기에는 적합하지 않습니다. 일일이 지켜보며 챙겨줄 마음이 없다면요.

Ollama 설치

macOS에서는:

brew install --cask ollama-app
open -a Ollama

Linux에서는:

curl -fsSL https://ollama.com/install.sh | sh

그다음 모델을 다운로드합니다:

ollama pull gemma4

사용 가능한지 확인하세요:

ollama list

출력에 표시된 모델 이름 그대로 OpenCode 설정에 사용하세요.

OpenCode 설정

OpenCode는 OpenAI 호환 프로바이더와 통신할 수 있습니다. Ollama는 다음 주소에서 호환 엔드포인트를 제공합니다:

http://localhost:11434/v1

OpenCode 설정에 Ollama 프로바이더를 추가하세요:

{
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "gemma4:latest": {}
      }
    }
  }
}

OpenCode가 인증을 요구하면 임시 키를 사용하세요:

{
  "ollama": {
    "type": "api",
    "key": "ollama"
  }
}

OpenCode를 재시작한 다음 모델 선택기에서 Ollama 모델로 전환하세요.

처음 써볼 만한 모델

Gemma 4

좋은 첫 선택입니다. 설명, 간단한 편집, 작은 코딩 작업을 잘 해냅니다. 더 큰 코딩 모델에 비해 낮은 사양의 기기에서도 실행됩니다.

Qwen3.5

특히 더 큰 버전을 실행할 수 있다면 코드 작업에서 더 나은 성능을 보여주는 경우가 많습니다. 27B급 모델은 작은 모델보다 훨씬 유용하지만, 그만큼 실질적인 메모리가 필요합니다.

Llama 3.3

하드웨어가 받쳐준다면 좋은 범용 모델입니다. 작은 노트북에서는 덜 편리합니다.

성능 기대치

최근 로컬 모델 관련 스레드들을 보면 결국 다들 같은 말을 꺼내 놓습니다. 프롬프트도 잘 작동하고 코드도 괜찮게 나오지만, 도구 호출이 쌓이기 시작하면 전체적으로 느려진다는 점이죠.

이건 지극히 정상입니다. 코딩 에이전트는 단순한 채팅 요청이 아닙니다. 파일을 읽고, 계획을 세우고, 수정하고, 결과를 확인한 뒤 다시 반복합니다. 로컬 추론에서는 이 모든 반복이 더 크게 체감됩니다.

견딜 만하게 쓰려면:

  • 컨텍스트를 작게 유지하세요
  • 간단한 편집에는 더 작은 모델을 사용하세요
  • 모델을 웜(warm) 상태로 유지하세요
  • 메모리를 많이 차지하는 앱은 닫으세요
  • 긴 리팩토링에는 클라우드 폴백을 쓰세요

Ollama 웜 상태 유지하기

export OLLAMA_KEEP_ALIVE="-1"

설정 후 Ollama를 재시작하세요. 그러면 코딩 세션 중 반복되는 콜드 스타트를 피할 수 있습니다.

클라우드 폴백을 써야 할 때

로컬 OpenCode를 사용하기 좋은 경우:

  • 낯선 코드 읽기
  • 작은 변경 초안 잡기
  • 테스트 생성
  • 오류 설명
  • 비공개 파일 작업

클라우드 모델을 사용하기 좋은 경우:

  • 여러 파일 리팩토링
  • 어려운 디버깅
  • 아키텍처 변경
  • 한 줄 한 줄 검토하고 싶지 않은 모든 작업

최고의 설정은 로컬 전용이 아니라 로컬 우선입니다.

관련 설정

원하는 모델이 정확히 Gemma 4라면 Gemma 4 Ollama 설정을 읽어보세요. OpenCode 대신 OpenClaw를 사용 중이라면 OpenClaw에서 Gemma 4 사용하기 글을 참고하세요.

HAIMAKER로 클라우드 폴백 추가하기