- 여러 LLM을 동일한 조건에서 테스트한 결과, 코드 수정 도구만 바꿔도 성능이 크게 향상됨
- 기존의 Patch·Replace 방식 대신 각 코드 줄에 해시 태그를 부여하는 ‘Hashline’ 포맷을 적용해 수정 정확도를 높임
- Hashline은 16개 모델 중 14개에서 기존 방식보다 높은 정확도를 보였으며, 평균 20~30% 토큰 절감 효과도 확인됨
- 특히 Grok Code Fast 1 모델은 성공률이 6.7%에서 68.3%로 급상승, 단순한 하니스 변경만으로 10배 개선됨
- 연구는 모델 자체보다 ‘하니스(harness)’가 실제 성능의 병목임을 보여주며, 오픈소스 생태계의 협업 필요성을 강조함
코드 편집 벤치마크 개요
- 실험은 Patch, Replace, Hashline 세 가지 편집 포맷을 비교하는 형태로 진행됨
- 16개 모델을 대상으로 동일한 코드 수정 과제를 수행
- 각 모델은 React 코드베이스에서 무작위로 선택된 파일의 버그를 수정하는 방식으로 테스트됨
-
Hashline 포맷은 14개 모델에서 Patch보다 우수한 결과를 보였으며, 평균적으로 20~30%의 토큰을 절약함
- 가장 큰 개선은 Grok Code Fast 1 모델로, 성공률이 6.7%에서 68.3%로 상승 (+61.6pp)
- Gemini 3 Flash는 5.0pp, Claude Sonnet 4.5는 1.6pp 향상
하니스(harness) 문제
- 현재 논의는 주로 “어떤 모델이 코딩을 가장 잘하나”에 집중되어 있으나, 실제 병목은 모델이 아닌 하니스임
- 하니스는 입력 토큰을 관리하고, 모델 출력과 워크스페이스 변경을 연결하는 핵심 인터페이스
- 대부분의 실패는 모델이 아니라 하니스의 구조적 한계에서 발생
- 작성자는 오픈소스 코딩 에이전트 Pi를 포크한 개인 프로젝트 oh-my-pi를 통해 약 1,300개의 커밋을 수행하며 개선을 시도함
- 이 환경은 모델에 독립적이며, 하니스만 변수로 두고 실험 가능
기존 편집 도구의 한계
-
Codex의 apply_patch 방식은 OpenAI 전용 diff 포맷을 사용해 다른 모델에서는 실패율이 높음
- 예: Grok 4의 패치 실패율 50.7%, GLM-4.7은 46.2%
-
Claude Code의 str_replace 방식은 문자열을 완벽히 일치시켜야 하므로 공백이나 들여쓰기 차이로 오류 발생
- “String to replace not found in file” 오류가 GitHub에서 다수 보고됨
-
Cursor는 별도의 70B 모델을 훈련시켜 병합을 처리하지만, 400줄 이하 파일에서는 전체 재작성(full rewrite)이 더 나은 결과를 냄
- JetBrains의 Diff-XYZ, EDIT-Bench 연구에서도 편집 포맷에 따라 성능이 크게 달라짐이 확인됨
Hashline 방식의 원리
- 각 코드 줄에 2~3자 길이의 콘텐츠 해시를 부여해 모델이 수정 대상을 명확히 지정할 수 있게 함
- 예시: 22:f1| return "world";
- 모델은 “replace line 2:f1”처럼 해시를 기준으로 수정 요청
- 파일이 변경되어 해시가 불일치하면 수정이 거부되어 손상 방지
- 이 방식은 모델이 기존 내용을 재현할 필요가 없어, 공백·들여쓰기 오류를 줄이고 안정적인 수정 가능
벤치마크 결과
- 테스트는 180개의 버그 수정 과제, 3회 반복, 4개 도구(read, edit, write, etc.)로 구성
- 결과적으로 Patch 포맷은 거의 모든 모델에서 최악, Hashline은 Replace와 동등하거나 우수
- 약한 모델일수록 개선 폭이 큼
- Grok 4 Fast는 출력 토큰이 61% 감소, MiniMax는 두 배 이상 향상
-
Gemini의 성공률 +8% 는 일반적인 모델 업그레이드보다 큰 개선폭으로, 추가 학습 없이 달성됨
벤더 정책과 오픈소스 생태계
-
Anthropic은 오픈소스 코딩 에이전트 OpenCode의 Claude Code 접근을 차단함
- 이유는 “비공개 API 역공학”이지만, 결과적으로 “자체 하니스만 사용하라”는 신호로 해석됨
-
Google은 작성자의 계정을 차단해 Gemini 접근을 막음
- Hashline 적용으로 Gemini 3 Flash 성능이 78.3%로 향상된 벤치마크 직후 발생
- 작성자는 이러한 조치가 모델 개선 기회를 차단하는 역행적 행위라고 지적
- 하니스 최적화는 특정 모델이 아닌 모든 모델의 품질을 높이는 공공 연구에 해당
- “모델은 해자, 하니스는 다리”라는 표현으로, 폐쇄적 접근이 생태계 발전을 저해한다고 강조
결론
- 하니스 문제는 측정 가능하고 실제 성능에 직접적 영향을 주는 요인으로 확인됨
- 단순한 포맷 변경만으로도 모델 업그레이드에 준하는 개선 효과를 얻을 수 있음
- 향후 발전 방향은 단일 기업의 폐쇄적 개선이 아닌, 커뮤니티 기반의 공개 협력이어야 함
- 모든 코드, 벤치마크, 실행 결과는 GitHub 저장소 oh-my-pi에서 공개됨