Doorman11991/smallcode

AI coding agent optimized for small LLMs. 87% benchmark with 4B-active model.

해결하는 문제

SmallCode는 소비자 하드웨어에서 실행되는 소규모 로컬 LLM(8B~35B 파라미터)에 특별히 최적화된 터미널 기반의 코딩 에이전트입니다. 작은 모델이 자주 겪는 문제들—예를 들어, 도구 호출 실패, 컨텍스트 창 오버플로우, 편집 중 파일이 환상적으로 생성되거나 잘리는 현상—을 보완하기 위해 특화된 아키텍처를 구현했습니다.

작동 방식

SmallCode는 소규모 모델의 신뢰성을 높이기 위해 여러 전략을 사용합니다:

  • 컨텍스트 관리: 예산 엔진이 도구 결과를 제한하고, 단순히 기록을 삭제하는 대신 의미적 압축을 통해 요약합니다.
  • 도구 라우팅: 모델이 먼저 카테고리(예: 읽기, 쓰기, 검색)를 선택한 후 관련 도구 스키마만 제공받는 이중 단계 프로세스로 컨텍스트 오버헤드를 줄입니다.
  • 유연한 파싱: JSON, YAML, XML, 또는 일반 텍스트에서 도구 호출을 추출할 수 있는 다중 포맷 파서로, 소규모 모델의 일반적인 오류를 자동 복구합니다.
  • 편집 프리미티브: 전체 파일 쓰기보다는 검색-대체 패치를 우선시하여 잘림과 편차를 방지합니다.
  • 계획 기능: 복잡한 작업은 TODO 파일 기반 계획으로 분해되며, 모델은 각 턴마다 이를 참조하여 집중을 유지합니다.
  • 하이브리드 검색: 오프라인에서 심볼 인식 가능한 코드 검색을 위해 정규식/키워드 매칭과 의미적 순위를 결합합니다.

대상 사용자

Qwen 또는 Llama와 같은 모델을 자사 하드웨어에서 완전히 로컬로, 사생활 침해나 고비용 클라우드 API에 의존하지 않고 사용하고 싶은 개발자에게 적합합니다.

주요 특징

  • 모델 업그레이드: 로컬 모델이 심각한 실패를 일으킬 경우에만, 선택적으로 더 강력한 클라우드 모델(Claude, OpenAI, DeepSeek)로 전환하는 기능.
  • 지속적인 쉘: 환경 변수와 디렉터리 변경 사항이 턴 간에 유지되는 장기적인 bash 세션을 유지합니다.
  • 사고 예산 제어: 추론 모델이 사용하는 '사고' 토큰을 제한하여 사소한 작업에 낭비를 방지합니다.
  • 지식 주입: 사용자가 디렉터리에 참고 노트를 넣으면 키워드 일치 기반으로 시스템 프롬프트에 주입됩니다.
  • 플러그인 시스템: 프로젝트, 사용자, 글로벌 플러그인을 지원하여 도구, 명령어, 후크를 추가할 수 있습니다.
  • 읽기/쓰기 가드: 아직 읽지 않은 파일에 쓰는 것을 방지하고, 대용량 파일 읽기를 관리하여 컨텍스트 오버플로우를 피합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트