LocalLLM 을 활용하다 보면 가장 많이 하게 되는 짓이 수 많은 모델들 중에 무엇을 사용해야 할지와 다운로드 받은 모델이 쓸만 할지 판단하는게 꽤나 귀찮은 일입니다.
저는 최근에는 Claude Code 의 환경변수와 설정파일을 수정해서 Claude Code 는 Opus, Sonnet, Haiku 인주 알고 돌겠지만 실제로는 제 Mac Studio M3 Ultra(512gb ram)에서 동작중인 LM Studio 의 모델들로 돌아가게 되는 식으로 설정을 변경해서 사용중인데요..
이게 모델 교체를 해서 쓰려면 환경변수든 설정파일이든 수정을 해서 써야하는데 꽤 귀찮기도하고 ..
보통 Ai 모델들의 크기가 꽤 큽니다.
LLM PARAMS ARCH SIZE DEVICE
gemma-4-31b-it 31B gemma4 21.07 GB Local
glm-4.7-flash 64x2.6B DeepSeek 2 17.52 GB Local
glm-5 256x22B glm-dsa 402.90 GB Local
minimax-m2.5 256x4.9B minimax-m2 131.32 GB Local
qwen2.5-coder-3b-instruct 3B Qwen2 1.93 GB Local
qwen3-coder-next 512x2.5B qwen3next 49.61 GB Local
qwen3-vl-8b-instruct 8B qwen3vl 7.45 GB Local
qwen3.5-2b 2B qwen35 2.67 GB Local
qwen3.5-397b-a17b 397B-A17B qwen35moe 247.10 GB Local
qwen3.5-9b 9B qwen35 7.79 GB Localglm-5 같이 400GB가 넘는 모델들은 순수하게 다운로드 받는데만 3~4시간이 소요됩니다. 1~20GB 정도의 모델이야 보통 1~20분 내외로 다운로드가 가능하지만 .. 프론티어 모델들을 대체할 용도로 사용해보려는 모델들은 최소한 1~200B 이상은 되어야 하고 이런 모델들은 보통 다운로드 받는데 한시간 이상은 생각해야 하지요..
그렇다보니 마냥 “이거나 한번 써볼까?” 하고 가벼운 마음으로 막 받아서 쓰기엔 부담스럽긴 합니다.
그렇다고 자는 사이에 이놈저놈 다 다운로드를 걸어두고 골라가며 쓰기엔 .. SSD 저장공간도 한정적이고 동일 모델이어도 양자화 타입과 누가 파인튜닝 한거냐에 따라서 다수를 받아야 하는 경우도 많아서. 특히 제 경우엔 허깅페이스의 MLX 커뮤니티에 올라오는 MLX 모델과 Unsloth의 UD 모델, 공식 모델 까지 해서 보통 동일 모델에 대해서 3~4개 정도를 받아서 테스트를 해보니까 저장공간도 고려를 해야 합니다.
이렇게 여러 모델을 다운받아서 이 놈들을 Claude Code 와 함께 물려서 쓸만한가? 문제 없이 동작하는가? 를 판단해야 하는데 말이죠..
기존에 제가 올린 글들에는 “python snake game” 같은 간단한 단일 요청에 대해서 특정 모델의 tps가 어느정도 나오는지 정도나 작성해 놓곤 했습니다만, 비싼돈 들여서 LocalLLM을 구축했거나 하려는 마당에 채팅기반의 단순한 형태의 사용만 하려는 분들은 없으실겁니다. Opencode 든 클로드코드든 간에 에이전틱 스럽게 사용해 보려 하실테니까요 ..
우선 저는 현재까지는 무조건 Unsloth이 파인튜닝 하여 제공하는 모델들만 사용합니다. 허깅페이스의 mlx-community에 올라오는 모델들도 현재까진 오류 없이 동작하는 모델은 제 경험상 없었습니다. 위에 설명 했듯이 모델 파일을 새로 다운받는게 시간이 꽤 들어가는 일이라 매일 매일 새로 다운로드를 받아 볼 순 없는 관계로, 일단 현재까진 개발에 주로 사용하는 제 입장으로는 mlx 대비 다소 성능의 저하가 있더라도 Unsloth의 모델들만이 저에겐 구세주 였습니다.
최근에는 AdamBench 에서 벤치마킹에 사용하는 프롬프트를 사용해서 그 프롬프트를 완수 가능한가 결과가 제대로 동작하는가, 그리고 볼만한가? 정도로 판단을 하고 있습니다.
깃헙 주소는 위에 주소를 참고하시구요..
prompt 디렉토리 내에도 md파일로 정리되어 있지만..
#Prompt 1
Create a React + Typescript app.
Requirements:
- login page
- dashboard page
- fake authentication
- protected routes
Use good project structure.
#Prompt 2
Refactor the authentication logic to make it more modular and testable.
#Prompt 3
Add user profile page with editable name and email.
#Prompt 4
Add a new page accessible for unauthenticated users.
The page should contain a simple snake game.
Requirements:
- A minimal amount of code for the game
- Simplest possible, but human-readable visuals
- There has to be rules and controls for the game written in this page
#Prompt 5
Simplify the project structure and remove unnecessary complexity.이렇게 5개의 프롬프트를 단계적으로 진행시키고 완수 여부나 수준을 리뷰하고 수치화, 시각화 해서 벤치 데이터를 생성하내는게 AdamBench 인데요 저는 그냥 저 프롬프트만 따와서 Claude Code 로 진행 시키고 결과를 눈으로 확인해서 해당 모델을 LM Studio 를 통한 LocalLLM 과 Claude Code를 사용해서 쓸만 한가를 판단하고 있습니다.
최근에 확인한 모델 몇가지에 대해서 작성해 보겠습니다.
아래 설명하는 각 모델별 결과 파일들은
위 깃헙 저장소에 올려두었습니다.
qwen3-coder-next / Q4_K_XL UD
우선 많은 분들이 관심 가지시고 사용중이신 qwen3-coder-next 모델입니다. 양자화는 Q4_K_XL 이고 Unsloth 의 Unsloth Dynamic 2.0 GGUFs 모델입니다.
AdamBench 의 프롬프트를 따르면 간단한 웹페이지를 구성하고 먼저 구성한 웹페이지와 별도로 Snake Game 페이지를 개발하라는 프롬프트입니다.


프롬프트 1~3까지 해당하는 내용은 이렇게 구성되었습니다.

Snake game 은 이렇게 div로 그리드 구성을 하고 css 클래스를 변경 해서 게임을 진행시키는 방식으로 개발을 했습니다.
문제는 qwen3-coder-next의 경우 snake game 을 한번에 완료하지 못했습니다. 처음에는 사과(?) 역할의 빨간 박스, 뱀 역할을 녹색 박스 둘다 전혀 표시가 되지 않는 상태였고 이는 css 스타일을 누락시킨 결과였는데 이 내용을 아무리 클로드코드에 프롬프트를 쳐 대도 제대로 잡지 못해서.. js 코드를 직접 개발자도구에서 확인하고..
“css 가 누락된것 같으니 확인해봐.”
라고 직접 문제의 원인을 찾아서 알려주기 전까지는
“모든 문제를 확인했습니다. 이제 테스트 해보시면 사과와 뱀 모두 표시될겁니다.”
라고 끝내지만 아무것도 변한것이 없는 상태? ㅎㅎ
결론은 qwen3-coder-next 는 AdamBench 의 프롬프트를 완수하지 못했습니다..
glm-4.7-flash
GLM 모델의 경우 flash 가 아닌 모델들이 오픈소스 모델 시장에선 꽤 좋은 평을 받는 편이지만 워낙 크기가 큰 모델들이라 Q4 양자화 이상을 512GB 램의 맥스튜디오에서도 돌려보기엔 쉽지 않은 모델들이긴 합니다만, glm-4.7-flash 의 경우에는 20기가 안되는 크기에 나름 써봄직한 놈이고 Unsloth 에서 Unsloth + Claude Code 의 설명에 이 모델을 사용하는 걸 보고 쓰기 시작한 모델입니다.

우선 테스트용 계정이어도 로그인 페이지에 admin/1234 라고 로그인 정보를 노출하는 패기! 그리고 로그인 안됩니다.

Snake game 의 경우 이렇게 생성이 되었으나, qwen3-coder-next의 경우 게임 진행이 불가했지만 이 모델의 경우 게임이 실행은 되었습니다. 단, Snake Game 이 녹색 뱀이 빨강 사과(?)를 먹으면 꼬리가 길어지고 랜덤하게 다음 사과가 등장해야 하는데 꼬리도 안길어지고 뱀과 사과 위치도 처음 시작하는 것 같이 초기화 된 상태로 시작하는 문제가 있었습니다.
다만 발생한 문제를 프롬프트로 알려주고 몇번에 거쳐서 “여전히 문제가 해결되지 않았어. 다시 확인해줘.”를 10여회 반복하고 나니 제대로 동작하는 Snake Game을 만들어 줬습니다.
수십번을 반복해도 문제의 원인조차 찾지 못했던 qwen3-coder-next에 비해선 이 부분은 오히려 glm-4.7-flash가 나았던것 같네요.
Qwen-3.5-397b-a17b
가장 최근에 나온 모델이고 397b의 덩치가 큰 모델입니다. 대부분의 분들은 이 모델을 제대로 돌려보기도 힘드실 수도 있겠습니다만. Q4_K_XL 모델이 250GB 가 좀 안됩니다.




확실히 파라미터수가 크다보니 React 를 쓸지 UI는 어떤식으로 할지 좀더 세세하게 묻고 진행하고 꽤 볼만한 UI구성과 Admin 대시보드가 그래도 제대로 동작하는 결과물을 만들어 줬습니다.
Snake Game도 수정 요청 없이도 동작 가능한 상태의 결과를 만들어 냈습니다.
그리고 앞서 사용해본 Qwen3-coder-next 와 glm-4.7-flash 와 달리 git 저장소를 만들어서 진행을 했네요.
프로젝트 구조 자체도 훨씬 정교합니다.
이렇게 저는 최근에 이런 프롬프트를 가지고 모델을 쓸지 말지를 판단하고 있습니다.
이 모델 저 모델 .. 설정을 변경해가며 클로드코드를 쓰기도 귀찮아서 ..
이런 코드를 작성해서 claude-setting-manager 라는 놈을 만들어 쓰고 있기도 합니다.

이렇게 .claude/setting-manager 경로에 설정 파일들을 모아두면 ..

요래 선택만 하면 .claude/settings.json 파일로 해당 모델을 위한 설정파일을 덮어씌워주는 그런 간단한 놈입니다.
{
"env": {
"ANTHROPIC_BASE_URL": "http://192.168.0.110:11434",
"ANTHROPIC_AUTH_TOKEN": "lmstudio",
"ANTHROPIC_MODEL": "gemma-4-31b-it",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "gemma-4-31b-it",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "gemma-4-31b-it",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "gemma-4-31b-it",
"CLAUDE_CODE_SUBAGENT_MODEL": "gemma-4-31b-it",
"CLAUDE_CODE_ENABLE_TELEMETRY": "0",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_ATTRIBUTION_HEADER" : "0"
},
"model": "haiku",
"language": "korean",
"effortLevel": "high"
}
이건 제가 사용중인 settings.json 파일 샘플입니다.
LocalLLM 과 클로드 코드를 어떻게 쓰는지에 대한 정보는 ..

Unsloth 에서 작성해둔 How to Run Local LLMs with Claude Code 글을 참고하십시요.
댓글을 달려면 로그인해야 합니다.