매번 코딩 프롬프트를 클라우드 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 사용하기 글을 참고하세요.