TL;DR
- Apple Silicon MacBook Pro M5 48GB 환경에서 Qwen 3.8 27B와 Gemma 4 31B를 활용한 로컬 대규모 언어 모델(LLM) 애플리케이션 개발이 실용적인 수준에 도달함.
- Ollama는 Apple Silicon용 MLX, 모델 디렉터리, 안정성을 제공해 로컬 모델 실행 도구로 선택됨.
- OpenCode는 로컬 모델을 활용하는 개발 하니스(harness)로 사용되고, Docker Sandbox(sbx)는 호스트 시스템 보호를 위한 격리 환경으로 사용됨.
- 프로젝트마다 sbx kit을 구성해 Docker Sandbox 내부의 OpenCode가 Mac 호스트의 Ollama에 연결되도록 설정함.
- Qwen 3.8 27B MXFP8은 기본 장시간 작업용 모델로, Gemma 4 31B MXFP8은 더 큰 모델이 필요한 심층 파일 분석과 추론용 모델로 구성됨.
로컬 LLM 개발 환경
- 실용적인 로컬 대규모 언어 모델(LLM) 개발 환경이 마련된 상태임.
- Qwen 3.8과 Gemma 4 같은 강력한 모델을 활용해 웹 애플리케이션을 구축할 수 있음.
- 사용 환경은 Apple MacBook Pro M5 48GB 모델임.
- 이 구성은 적절한 크기의 컨텍스트를 유지하면서 30B 모델을 실행할 수 있어 로컬 개발에 적합한 지점으로 평가됨.
Ollama와 OpenCode 및 sbx를 사용하는 이유
- Ollama는 사용이 쉬운 도구임.
- Apple Silicon에서 MLX를 지원해 빠르게 실행됨.
- 모델 디렉터리가 비교적 잘 구성되어 있음.
- 안정성이 높고 충돌이 발생하지 않음.
- OpenCode는 개발을 시작하기 위한 하니스로 사용됨.
- Docker Sandbox, 즉 sbx도 함께 사용함.
- 업무에서는 샌드박스가 필요한 프런티어 모델을 사용하므로 하니스를 샌드박싱해야 함.
- 로컬 모델도 컨테이너에서 실행함. 원치 않는 환각으로 컴퓨터를 손상시킬 수 있기 때문임.
도구 설치
- Docker Sandbox 설치를 위해
docker/tap저장소를 신뢰한 뒤sbx를 설치함. brew trust docker/tap && brew install docker/tap/sbx- OpenCode는
anomalyco/tap/opencode저장소에서 설치함. brew install anomalyco/tap/opencode- Ollama는 https://ollama.com/에 접속해 애플리케이션을 내려받아 설치함.
모델 설치
- 모델을 설치하기 전에 Ollama가 실행 중인지 확인함.
- Qwen 3.8 27B MXFP8(32GB)은 대부분의 장시간 작업을 처리하는 작업용 모델이며, OpenCode에서 여러 시간 동안 중단 없이 실행할 수 있음.
ollama pull qwen3.8:27b-mxfp8- Gemma 4 31B MXFP8(34GB)은 더 큰 모델이 필요한 경우 사용하는 대형 밀집 모델임.
ollama pull gemma4:31b-mxfp8- 48GB Apple을 사용하지 않는 경우 표준 모델인
qwen3.8:27b-mlx와gemma4:31b-mlx를 설치할 수 있음.
프로젝트 구성
- 이 설정에서는 프로젝트마다 sbx kit을 구성해야 함.
- kit은 샌드박스를 맞춤 설정하는 방식임.
- 다음 디렉터리와 파일을 생성함.
./sbx-kit/files/home/.config/opencode-local.json./sbx-kit/spec.yamlspec.yaml은 schemaVersion 2,mixin유형,local-ollama-opencode라는 이름과0.1.0버전을 사용함.- 표시 이름은
Local Ollama for OpenCode이며, Mac 호스트에서 실행되는 Ollama를 Docker Sandbox의 OpenCode가 사용하도록 구성하는 설명을 포함함. opencode에이전트를 필수 구성 요소로 지정함.- 환경 변수
OPENCODE_CONFIG를/home/agent/.config/opencode-local.json으로 설정함. - 네트워크 권한은 다음 로컬 주소에 허용함.
localhost:11434localhost:5173localhost:4000- 에이전트 지침에는 로컬 Ollama가 호스트에서 실행된다는 내용과 다음 모델 역할을 지정함.
- 기본 모델:
qwen3.8:27b-mxfp8 - 심층 파일 분석 및 추론 모델:
gemma4:31b-mxfp8
OpenCode 로컬 설정
opencode-local.json은 OpenCode 설정 스키마https://opencode.ai/config.json을 사용함.- 기본 모델과 소형 모델을 모두
ollama/gemma4:31b-mxfp8로 지정함. - 언어 서버(LSP)는 비활성화함.
- Ollama 제공자는
@ai-sdk/openai-compatible패키지를 사용하고 이름을Mac Ollama로 지정함. - Docker Sandbox 내부에서 Mac 호스트의 Ollama에 연결하기 위해 기본 URL을
http://host.docker.internal:11434/v1로 설정함. qwen3.8:27b-mxfp8-64K모델은 다음과 같이 구성함.- 실제 모델 ID:
qwen3.8:27b-mxfp8 - 표시 이름:
Qwen 3.8 27B MXFP8 [31 GB] [64K ctx] - 컨텍스트 한도:
65536 - 출력 한도:
8192 - 추론 강도 변형:
low,medium,high,xhigh gemma4:31b-mxfp8모델은 다음과 같이 구성함.- 표시 이름:
Gemma 4 31B MXFP8 [33 → ~50 GB] [256K ctx] - 컨텍스트 한도:
262144 - 출력 한도:
8192 - Qwen 모델의 컨텍스트를 64K로 제한해 메모리 부족 시 시스템이 멈추는 상황을 방지함.
- 샌드박스에도 3GB의 메모리가 필요함.
OpenCode 실행
- 다음 명령으로 OpenCode를 실행함.
sbx run opencode --kit ./sbx-kit/- 실행 시 Qwen이 선택된 상태로 OpenCode가 시작됨.
/models명령을 사용해 추론 강도를low로 낮춰야 함.- Docker Sandbox 실행을 위해 Docker 로그인도 필요함.
- 이 로그인 요구 사항은 개발 커뮤니티에서 선호되지 않는 기능이지만 우회 방법은 없음.
최신 글로 돌아가기
- [← Back to the latest]( )
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요