4B 파라미터 모델로 벤치마크 87%를 달성하는 코딩 에이전트 개발기
I built a coding agent that gets 87% on benchmarks with a 4B parameter model, here's how
핵심 요약
소형 로컬 모델에서도 높은 성능을 내도록 설계된 코딩 에이전트 'SmallCode'를 소개합니다.
- 복합 도구 사용 — 여러 단계의 작업을 하나의 도구로 통합하여 소형 모델의 논리적 오류를 절반으로 줄임.
- 자동 오류 수정 — 코드 작성 즉시 컴파일 및 린트를 수행하고 오류 발생 시 피드백을 통해 모델이 스스로 수정하게 함.
- 작업 분해 전략 — 모델이 동일한 작업에 두 번 실패하면 문제를 더 작은 단위로 쪼개어 해결하도록 유도함.
- 토큰 효율화 — 전체 파일을 로드하지 않고 심볼 그래프를 통해 필요한 코드만 추출하여 컨텍스트를 최적화함.
I built a coding agent that gets 87% on benchmarks with a 4B parameter model, here's how
기존의 모든 코딩 에이전트(OpenCode, Cursor, Claude Code)가 GPT-5.4나 Claude Opus 같은 거대 모델을 전제로 한다는 점이 답답했습니다. Gemma나 Qwen 같은 로컬 모델로 실행하면 제대로 작동하지 않죠. 도구 호출 실패, 컨텍스트 오버플로우, 다단계 작업 붕괴가 빈번하게 발생하더군요.
그래서 SmallCode를 만들었습니다. 소형 로컬 모델을 위해 처음부터 새로 설계했죠.
결과는 성공적이었습니다. 토큰당 4B 파라미터만 활성화하는 Gemma 4 모델로 벤치마크 100개 중 87개를 통과했습니다. OpenCode는 14B 모델로 약 75%를 기록합니다. 모델 크기가 아니라 하네스(harness)가 핵심 역할을 하는 셈이죠.
작동 방식(소형 모델을 안정적으로 만드는 비결):
- 복합 도구: 모델이 4번의 도구 호출(파일 찾기 → 읽기 → 수정 → 검증)을 연쇄적으로 수행하게 하는 대신, SmallCode는 이 모든 과정을 한 번에 처리하는 도구를 제공합니다. 소형 모델은 3번 이상의 순차적 호출 이후에는 논리적 일관성을 잃기 때문입니다. 이 방식으로 실패율을 절반으로 줄였습니다.
- 자동 오류 수정: 모델이 코드를 작성할 때마다 SmallCode는 즉시 컴파일 및 린트를 수행합니다. 실패하면 오류를 자동으로 피드백합니다. 모델이 처음부터 완벽할 필요는 없습니다. 오류를 보여주면 수정만 하면 되니까요.
- 작업 분해 전략: 모델이 동일한 작업에 두 번 실패하면, SmallCode는 재시도를 멈추고 문제를 더 작은 단위로 쪼갭니다. "200줄짜리 파일 수정"이 "45번째 줄만 수정"으로 바뀌는 식이죠.
- 단계적 확장: 작업 분해로도 해결되지 않고 Claude/OpenAI 키가 설정되어 있다면, 해당 작업에 한해서만 더 큰 모델로 자동 전환합니다. 95%는 로컬에서, 5%는 클라우드에서 처리하는 방식입니다.
- 토큰 효율화: 소형 모델은 32k-256k의 컨텍스트를 가집니다. SmallCode는 전체 파일을 한꺼번에 넣지 않습니다. 요약하고, 자르고, 모든 토큰을 관리하여 모델이 중요한 코드 중간에 "..." 같은 생략 기호를 보지 않도록 합니다.
- 코드 그래프: grep으로 코드베이스를 검색하는 대신, SmallCode는 코드를 심볼 그래프(함수, 클래스, 호출 관계 등)로 인덱싱합니다. "인증 기능이 어떻게 작동해?"라고 물으면 무작위 파일 15개를 보여주는 대신, 관련 연결 코드만 찾아냅니다.
UI 구성:
전체 화면 터미널 UI(OpenCode/vim 스타일), 스크롤 가능한 채팅, / 명령 팔레트, 플러그인 시스템, 세션 간 지속적 메모리.
현재 지원하지 않는 기능:
- LSP 통합(준비 중)
- 다중 세션(준비 중)
- 데스크톱 앱
- 프론티어 모델 사용자를 위한 Claude Code와의 경쟁
설치 방법:
npm install -g smallcode
cd your-project
smallcode
LM Studio, Ollama 또는 OpenAI 호환 엔드포인트에 연결해서 사용하세요.
MIT 라이선스이며, 모든 코드는 GitHub에 공개되어 있습니다: https://github.com/Doorman11991/smallcode
아키텍처에 대해 궁금한 점이 있다면 언제든 답변해 드리겠습니다.

