AI 코딩 성능을 바꾸는 하네스 엔지니어링 4가지 핵심 원칙: SWE-bench 50%p 격차의 원인
동일한 모델이 어떤 환경에선 SWE-bench Verified 점수가 30%대에 머물고, 어떤 환경에선 80%를 넘는다. 모델이 같은데 왜 50%p나 차이가 날까? 답은 하네스(harness)에 있다. 코딩 에이전트가 코드베이스를 보고·고치고·검증하는 도구·문서·실행 환경의 묶음이다. 4주간 본인 프로젝트에서 측정·검증한 4가지 핵심 원칙을 정리한다.
1. 왜 모델보다 하네스가 더 큰 변수인가
SWE-bench Verified는 실제 GitHub 이슈를 모델이 수정하게 하는 표준 벤치마크다. 흥미로운 사실은 같은 Claude·GPT·Gemini 모델로도 하네스에 따라 점수 격차가 30-50%p까지 벌어진다는 점이다.
이 사실은 두 가지 의미가 있다. (1) 같은 비용으로 더 큰 효과를 내려면 하네스에 투자하라. (2) 하네스를 잘 짠 팀은 모델 업그레이드가 늦어도 따라잡힌다.
2. 4가지 핵심 원칙
원칙 1컨텍스트 압축: "필요한 만큼만, 가장 신선한 것으로"
에이전트가 한 번에 보는 컨텍스트는 좁고 신선해야 한다. 전체 레포를 매번 읽히면 모델이 산만해지고, 옛 정보가 새 정보를 덮는다.
- 읽기 도구 분리: 파일 경로 검색 / 키워드 검색 / 파일 읽기 / 디렉터리 트리 — 4가지로 분리
- 섹션 단위 읽기: 큰 파일은 줄 범위로 부분만 읽기
- 토큰 예산 명시: 한 작업의 토큰 한도를 사전에 정해 두기
본인 측정: 컨텍스트 압축 적용 전후 동일 태스크 15건 비교
| 지표 | 적용 전 | 적용 후 |
|---|---|---|
| 1차 통과율 | 53% | 87% |
| 평균 입력 토큰 | 78K | 21K |
| 비용/태스크 | $1.20 | $0.34 |
원칙 2검증 자동화: "에이전트가 자기 답을 못 믿게 하라"
모델은 자기 답을 평가하는 데 약하다. 외부 검증을 자동화해야 한다. 가장 효과 큰 검증 도구 4가지:
- 타입체크 (
tsc --noEmit) — 가장 즉각적, 가장 저렴 - 단위 테스트 (
pnpm test) — 변경 영향 범위에 한정 - lint·formatter — 합의된 스타일 강제
- preview 빌드 — UI 변경의 최종 검증 (사람 눈)
검증층이 약하면 에이전트가 "테스트 스킵"으로 완료 보고를 빠르게 하려는 패턴이 발생한다. 본인 4주차에 발견 후 "테스트 스킵 금지" 규칙을 명문화했다.
원칙 3메모리 분리: "영구 vs 작업 vs 세션"
정보를 어디에 저장하느냐가 다음 세션 효율을 결정한다.
| 저장소 | 지속성 | 용도 |
|---|---|---|
| memory/ 디렉터리 | 여러 세션 영구 | 사고 사례·도메인 지식·사용자 선호 |
| plan | 한 작업 단위 | 구현 계획·단계 분해 |
| task | 현재 세션 | 오늘 처리할 To-Do |
구분이 흐리면 memory가 비대해지고, 매 세션 같은 컨텍스트를 다시 읽어 토큰을 낭비한다. 본인 레포는 memory를 4개 카테고리로 분리(user/feedback/project/reference)해 운영 중이다.
원칙 4도구 권한: "좁고 신뢰할 수 있게"
에이전트에게 주는 도구는 (1) 읽기 (2) 쓰기 (3) 실행 (4) 외부 호출로 나뉜다. 권한이 넓으면 자유롭지만 위험하고, 좁으면 안전하지만 비효율이 생긴다. 균형의 핵심은 실행 권한을 합의된 명령에만 한정하는 것.
- 읽기: 무제한 허용
- 쓰기: 코드·문서·테스트 파일에만
- 실행: lint·typecheck·test·build·git 일부에 한정
- 외부 호출: 명시적으로 승인된 API에만 (DB write, 결제, 메일 등은 차단)
"AI에게 모든 권한을 주면 빨라진다"는 통념은 절반만 맞다. 좁은 권한 + 빠른 실행 루프가 무한 권한보다 더 빠른 사이클을 만든다. 위험을 줄이면서도 신뢰가 쌓이기 때문이다.
3. 4원칙 ROI 비교
본인 4주 측정 결과, 4원칙 각각이 만든 1차 통과율 향상치는 다음과 같다.
| 원칙 | 1차 통과율 변화 | 적용 난이도 |
|---|---|---|
| 1. 컨텍스트 압축 | +34%p | 중 |
| 2. 검증 자동화 | +18%p | 저 |
| 3. 메모리 분리 | +11%p | 중 |
| 4. 도구 권한 | +5%p (안정성 효과 큼) | 저 |
가장 큰 단일 효과는 컨텍스트 압축이다. 가장 적은 노력으로 큰 효과를 내려면 검증 자동화부터 시작하는 게 합리적이다.
4. 결론: 모델은 빌렸지만 하네스는 자산이다
모델은 매월 좋아지지만, 하네스는 한 번 잘 짜두면 계속 효용이 누적된다. 모델은 빌리는 자원, 하네스는 만들어 쌓는 자산이다. AI 코딩에 본격적으로 시간을 쓴다면, 한 번쯤은 멈춰서 하네스에 투자하는 1주를 갖길 권한다. 그 1주가 향후 1년의 작업 속도를 바꾼다.
1차 자료
- SWE-bench Verified 공식 리더보드 (Princeton·Stanford)
- Anthropic, "Claude Code Best Practices" 공식 문서
- OpenAI, "Agent Engineering Patterns" 가이드
- Andrej Karpathy, AGENTS.md 표준 제안 (github.com/openai/agents.md)
- 본인 4주 측정 데이터 (2026-04-01 ~ 2026-04-29, 태스크 15건 × 3 라운드)
측정 데이터는 단일 레포(약 4만 LoC, TypeScript) 환경에서의 결과이며, 팀 규모·언어 스택·도메인에 따라 달라질 수 있습니다.
댓글
댓글 쓰기