AI의 발전으로 블로그 작성이 의미 있나 싶지만 잘 된버전을 기록하는것도 시간낭비를 줄이는거 같으므로 시작
추천 모델정리
퍼플렉시티
🏆 30B급 코딩 모델 순위 (사용자 후기)
⚡ 20B급 이하 전체 순위 Top 5 (사용자 후기)
딥시크
큐웬
🥇 30B 급 모델 순위 (품질 최우선)
대상: VRAM 20GB~24GB 이상 사용자, 복잡한 로직 및 리팩토링 목적 기준: 개발자 커뮤니티 후기 (코드 정확도, 자바 이해도, 할루시네이션 적음)
💡 30B 급 사용자 후기 핵심
- Qwen 2.5 Coder 32B: "Spring Boot 에서
@Transactional동작 방식이나 JPA N+1 문제 해결 제안이 가장 정확했다." - DeepSeek V2.5: "속도가 빨라서 채팅하다가 끊김이 적지만, 매우 복잡한 비즈니스 로직에서는 Qwen 32B 가 더 신뢰간다."
- VRAM 경고: 30B 급 모델은 4-bit 양자화해도 최소 20GB VRAM이 필요합니다. (RTX 3090/4090 또는 Mac 32GB 이상)
🚀 20B 이하 모델 순위 (속도 및 효율 최우선)
대상: VRAM 12GB~16GB 사용자, 자동 완성 및 일상 개발 목적 기준: 개발자 커뮤니티 후기 (토큰 속도, 일상 개발 커버율, 반응성)
💡 20B 이하 사용자 후기 핵심
- Qwen 2.5 Coder 14B: "VRAM 12GB 환경에서 32B 를 돌리느니 14B 가 훨씬 생산적이다. 속도 차이가 체감됨."
- DeepSeek V2 Lite: "코드 자동 완성 (Copilot 대체) 용도로는 이 모델이 가장 반응성이 좋다."
- Phi-3.5: "예상보다 똑똑하지만, Spring Boot 같은 프레임워크 특화 지식은 14B 이상이 낫다."
📊 3. 한눈에 보는 비교 및 추천
맥스튜디오 세팅
# 1. GPU 메모리 제한 해제 (핵심!)
sudo nvram iogpu.wired-limit=2852126720 # 2.7GB → 32GB 풀할당
# 2. Swap 비활성화 (속도 20%↑)
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist
# 3. Ollama 서비스 재시작
brew services restart ollama
2번이 안되서 이방법 타호용
# 현재 상태 확인
sudo sysctl vm.compressor_mode
# 4 = 압축 활성 (swap 역할)
# 즉시 비활성화
sudo sysctl vm.compressor_mode=0
# Tahoe 영구 적용
sudo nvram vm-compressor=0
# 확인
sudo sysctl vm.compressor_mode # 0 출력 ✅
올라마 파일 수정
35B
cat > Modelfile-35B << 'EOF'
FROM qwen3.5:35b
PARAMETER num_gpu -1
PARAMETER num_thread 14
PARAMETER num_ctx 8192
PARAMETER temperature 0.15
PARAMETER top_p 0.9
PARAMETER repeat_penalty 1.1
EOF
ollama create qwen35-speed -f Modelfile-35B
# 27B 품질 모델
cat > Modelfile-27B << 'EOF'
FROM qwen3.5:27b
PARAMETER num_gpu -1
PARAMETER num_thread 14
PARAMETER num_ctx 16384
PARAMETER temperature 0.1
EOF
ollama create qwen27-quality -f Modelfile-27B
continue.dev의 세팅
# ============================================
# M1 Max 32GB Mac Studio 완전 최적화 설정
# ============================================
name: MacStudio Config # config 식별자 (cn 명령어용)
version: 1.0.0 # 버전 관리 (업데이트 추적)
schema: v1 # Continue.dev 스키마 버전
# ============================================
# 🏎️ 모델 설정: 2개 모델 역할 분담
# ============================================
models:
# 🔥 qwen35-speed: 속도 특화 (MoE 35B-A3B)
- title: "🚀 qwen35-speed (0.4초 Tab)"
provider: ollama # Ollama 로컬 서버 사용
model: qwen35-speed # Modelfile로 최적화된 모델
apiBase: "http://localhost:11434" # Ollama 서버 주소 (로컬호스트 명시)
contextLength: 8192 # 8K 토큰 컨텍스트 (빠른 Tab용)
useFor: # 이 모델이 담당하는 작업들
- tab # Tab 자동완성 (가장 중요!)
- inline # 인라인 코드 생성
- edit # Ctrl+K 코드 수정
completionOptions: # 생성 품질 최적화
temperature: 0.1 # 낮은 창의성 = 코드 정확도↑
topP: 0.85 # 85% 확률 토큰만 고려 (안정성)
stop: # 생성 중지 조건들
- "<|endoftext|>" # Qwen3.5 종료 토큰
- "\n\n" # 이중줄바꿈 = 완성
- "```" # 마크다운 코드블럭 종료
frequencyPenalty: 0.1 # 반복 단어 10% 패널티
presencePenalty: 0.05 # 이미 나온 단어 약간 억제
requestOptions:
timeout: 30000 # 30초 타임아웃 (M1 Max 빠름)
# 🧠 qwen27-quality: 품질 특화 (Dense 27B)
- title: "🧠 qwen27-quality (복잡 분석)"
provider: ollama
model: qwen27-quality
apiBase: "http://localhost:11434"
contextLength: 16384 # 16K 토큰 (코드베이스 분석용)
useFor:
- chat # 일반 대화
- "@codebase" # 전체 프로젝트 분석 (@codebase 컨텍스트)
- "@files" # 특정 파일들 분석
completionOptions:
temperature: 0.05 # 더 낮은 온도 = 최고 정확도
topP: 0.9 # 약간 여유있는 토큰 선택
stop:
- "<|endoftext|>"
- "\n\n"
# ============================================
# ⚡ Tab 자동완성 전용 설정 (별도 모델)
# ============================================
tabAutocompleteModel:
title: "35B FIM (최고속)" # FIM(Fill-In-the-Middle) 최적화
provider: ollama
model: qwen35-speed # Tab은 무조건 빠른 모델
apiBase: "http://localhost:11434"
contextLength: 4096 # Tab은 짧은 컨텍스트만 필요
fuzzyMatch: true # 유사 코드 빠른 검색
debounceDelay: 150 # 0.15초 입력대기 (너무 빠르면 버벅임)
maxSuffixLength: 10 # 완성할 코드 길이 제한
maxPrefixLength: 1500 # 앞부분 컨텍스트 제한
# ============================================
# 🤖 자동 모델 전환 로직
# ============================================
modelSwitching:
autoSwitch: true # 자동 전환 활성화
complexityThreshold: 0.6 # 60% 이상 복잡 → 27B 전환
reasoningKeywords: # 한국어 추론 키워드 감지
- 분석 # "분석해줘" → 27B
- 설명 # "설명해줘" → 27B
- 생각 # "생각해봐" → 27B
- 왜 # "왜이렇지?" → 27B
- 이유 # "이유는 뭐야?" → 27B
- 최적화 # "최적화해줘" → 27B
- 디버그 # "디버그" → 27B
- 리팩토링 # "리팩토링" → 27B
- 설계 # "설계해줘" → 27B
- 아키텍처 # "아키텍처" → 27B
# ============================================
# 🗣️ 시스템 메시지 (모든 모델 공통)
# ============================================
systemMessage: "M1 Max Tahoe 최적화된 Spring Boot/Kotlin 전문가. 한국어로 명확하고 간결하게. 코드 위주, 설명 최소화. Ollama Qwen3.5 듀얼모델 환경."
# ============================================
# 🎭 역할별 모델 지정
# ============================================
roleSwitching:
code: qwen35-speed # 코드 작성/수정 → 빠른 모델
reasoning: qwen27-quality # 논리/분석 → 품질 모델
autocomplete: qwen35-speed # 자동완성 → 빠른 모델
# ============================================
# ⚙️ 커스텀 명령어 (슬래시 명령)
# ============================================
customCommands:
- name: spring-boot # /spring-boot 사용
prompt: "Spring Boot {{language}} {{framework}} 프로젝트의 {{task}}를 완성해줘. JPA, Redis, Spring Security 고려."
model: qwen27-quality # Spring Boot는 품질 모델
- name: debug # /debug 사용
prompt: "이 코드의 문제점 분석하고 수정해줘. 단계별로 설명: {{text}}"
model: qwen27-quality # 디버깅은 품질 모델
# ============================================
# 🛡️ 검증 우회 (Tahoe 호환성)
# ============================================
dangerouslySkipValidation: true # macOS Tahoe M1 Max 호환 보장
config.yaml 파일의 내용
name: MacStudio Config
version: 1.0.0
schema: v1
models:
- name: "🚀 qwen35-speed (0.4초 Tab)"
provider: ollama
model: qwen35-speed
apiBase: "http://localhost:11434"
contextLength: 8192
useFor:
- tab
- inline
- edit
completionOptions:
temperature: 0.1
topP: 0.85
stop:
- "<|endoftext|>"
- "\n\n"
- "```"
frequencyPenalty: 0.1
presencePenalty: 0.05
requestOptions:
timeout: 30000
- name: "🧠 qwen27-quality (복잡 분석)"
provider: ollama
model: qwen27-quality
apiBase: "http://localhost:11434"
contextLength: 16384
useFor:
- chat
- "@codebase"
- "@files"
completionOptions:
temperature: 0.05
topP: 0.9
stop:
- "<|endoftext|>"
- "\n\n"
tabAutocompleteModel:
title: "35B FIM (최고속)"
provider: ollama
model: qwen35-speed
apiBase: "http://localhost:11434"
contextLength: 4096
fuzzyMatch: true
debounceDelay: 150
maxSuffixLength: 10
maxPrefixLength: 1500
modelSwitching:
autoSwitch: true
complexityThreshold: 0.6
reasoningKeywords:
- 분석
- 설명
- 생각
- 왜
- 이유
- 최적화
- 디버그
- 리팩토링
- 설계
- 아키텍처
systemMessage: "M1 Max Tahoe 최적화된 Spring Boot/Kotlin 전문가. 한국어로 명확하고 간결하게. 코드 위주, 설명 최소화. Ollama Qwen3.5 듀얼모델 환경."
roleSwitching:
code: qwen35-speed
reasoning: qwen27-quality
autocomplete: qwen35-speed
customCommands:
- name: spring-boot
prompt: "Spring Boot {{language}} {{framework}} 프로젝트의 {{task}}를 완성해줘. JPA, Redis, Spring Security 고려."
model: qwen27-quality
- name: debug
prompt: "이 코드의 문제점 분석하고 수정해줘. 단계별로 설명: {{text}}"
model: qwen27-quality
dangerouslySkipValidation: true
댓글
댓글 쓰기