어떤 모델도 다른 모델보다 낫지 않습니다. 문제는 도구와 템플릿이 망가졌고, 일부 도구는 깨끗한 파일 이름이 필요합니다.
요약
본 글은 특정 모델 자체보다 모델을 구동하고 사용하는 '하네스(harness)'와 도구 템플릿이 더 중요함을 강조합니다. 다양한 로컬 및 상용 LLM들을 테스트하며, 모델의 성능 차이는 주로 사용 환경과 설정에 기인한다는 점을 발견했습니다.
핵심 포인트
- 모델 간 성능 격차보다 '하네스' 구성이 핵심이다.
- 도구 호출 실패는 특정 모델/환경에서 흔히 발생한다.
- 프롬프트나 템플릿 수정만으로도 결과가 크게 달라진다.
- 테스트 시 러너(runners)를 작게 수정하는 것이 권장된다.
저는 로컬 모델들에 대해 몇 가지를 파악하려고 노력해 왔습니다. 이 모델들과 대화하면, 그들은 많은 최고 수준의 모델들만큼 비슷한 답변을 얻습니다. 코딩을 할 때, 제가 파일에 동일한 접근 권한을 주면... 그들은 서로 물어보는 두 명의 다른 사람에게 기대할 수 있는 것과 비슷한 답변을 얻습니다. 그렇다면 왜 사람들이 모델에 대해 파벌적(tribal)이 되는 걸까요? 글쎄요, 그것은 당신이 모델과 함께 실행하는 하네스(harness)가 무엇인지에 달려 있습니다.
누군가가 친절하게 hugging face의 qwen 템플릿을 공유해 준 덕분에, 저는 modelfile과 llama.cpp 파라미터들을 살펴보게 되었습니다. 최근 저의 "임무"는 "Gemma4:27b가 좋은 코드 어시스턴트가 될 수 있는가, 그리고 왜 지금은 아닌가"라는 질문에 답하는 것입니다. 과거에는 제 IDE에서 프롬프트(preprompt)를 사용하여 Gemma가 견고한 코드를 작성하도록 "강요"하려고 했지만, 컨텍스트가 가득 차면 도구를 사용하는 것을 거부해 버렸습니다.
처음에는 문서 링크를 제공하기 시작했고 더 나은 결과를 얻었습니다. 그러다가 재미로 Qwen을 사용해 보려고 했고... 깨진 도구 호출(broken tool calls)을 포함하여 이상하게 유사한 결과를 얻었습니다. 이것은 측정할 수 없었기 때문에, 저는 MCP 호스트를 연결하고 ML-Flow를 사용하기로 결정했습니다.
저는 각 모델당 4가지 변형(variants)을 가진 modelfile을 설정하고, 온도(temperature), 파라미터(parameters), 시스템 프롬프트(system prompts)가 다른 버전으로 구성했으며, 프로그래밍에 맞는 특정 모델 설정(낮은 온도, 낮은 반복 페널티)에 맞게 조정했습니다. 그래서 저는 대형 파라미터 모델들(qwen3를 다운로드해야 했음)로 시작했고, 둘 다 동일한 시스템 프롬프트와 원샷 사용자 프롬프트(one-shot user prompt)로 작업을 수행하는 것처럼 보였습니다. 여기서 수치를 추적하는 것이 매우 유용해졌습니다.
저는 제 이전 gemma4 모델이 엄청난 양의 실패한 도구 호출을 받고 있다는 것을 보았습니다.... 하지만 새 모델은 도구 실패가 전혀 없었습니다. 저는 새로운 gemma4를 가져와서 15 기가바이트 업데이트를 받았습니다. 다시 실행해 보니 작동했습니다! 그래서 gemma e2b를 기준선(baseline)으로 삼으려고 했더니... 이제는 도구 실패가 만연합니다 (RAMPANT).
저는 이것을 더 조사할 계획이지만, 모델이 기본적으로 다른 하네스(harness)를 위해 구성되어 있다는 동일한 문제가 존재한다고 믿습니다.
하지만 재미있는 점은, 작업 자체가 여전히 비슷한 결과를 내고 있었다는 것입니다. 왜냐하면 깨진 도주들을 우회하는 방법을 찾아냈기 때문입니다. 그러자 qwen2.5는 tool calls에서 높은 수준의 실패율을 보였기 때문에 qwen3만큼 애정과 관심이 쏟아지지 않았습니다. 이것은 저로 하여금 비교가 공정하려면 도구 오류 없이 기준선(baseline) 실행 결과를 얻을 수 있을지 확인하게 만들었습니다. 또한 놀라웠던 점은, 도구 실패 때문에 한 에이전트가 필사적으로 무작위 유튜브 영상의 스크립트를 읽으려고 시도했다는 것입니다. 일부 도구가 망가진 것 중 하나는 제가 파일 이름에 대괄호([ ])를 사용했기 때문입니다. 일부 도구나 모델에게 이것은 문제가 되었습니다. 그래서 이러한 테스트 루프를 설정할 때 러너(runners)를 작게 수정하는 것을 강력히 권장합니다. 저는 단지 그 변경만 했고, 프롬프트(pre-prompt)가 결과에 영향을 미친다고 처음에 생각했습니다. 저에게 가장 큰 교훈은 모델들이 기본적으로 서로 다른 것에 맞춰 튜닝된다는 것입니다. 모델들은 깨진 도구 템플릿을 가질 수 있고, 특정 하네스(harness)나 다른 것들을 위해 공통으로 도구 템플릿을 가지고 있을 수 있습니다. 이것은 오픈 소스이므로, 이는 직접 구축하는 경험과 SaaS (Frontier models)의 경험이 다름을 의미합니다. 파일 이름이 도구를 망가뜨릴 수 있으니, 저는 사람들이 한 오픈 모델이 다른 모델보다 낫다고 제안할 때는 정말 상세한 검토가 필요하다고 말하기 위해 이 글을 작성합니다. submitted by /u/bigorangemachine [link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기