같은 AI인데 성능이 6배 차이 난다 — 하네스가 뭔지 이제 제대로 이해해보자

같은 AI 모델을 써도, 그 주변 시스템을 어떻게 설계하느냐에 따라 성능이 최대 6배 달라진다. 그 시스템을 하네스(harness)라고 부른다. 2026년 3월 30일 Stanford·MIT·UW-Madison 연구팀이 발표한 논문(arXiv: 2603.28052)은 이를 수치로 증명했다.

이런 경험 있지 않나

AI 도구를 열심히 쓰는 동료가 있다. 나도 똑같은 Claude를 쓰는데 결과물이 다르다. 사용법 차이인가? 프롬프트를 더 잘 쓰는 건가?

어느 정도는 그렇다. 하지만 그게 전부가 아니다. 진짜 이유는 더 깊은 곳에 있다.

하네스(harness)란 무엇인가

논문의 정의는 명확하다.

“하네스는 모델이 각 단계에서 무엇을 볼지를 결정하는 상태를 가진 프로그램이다. 즉, 어떤 정보를 저장하고, 불러오고, 모델에게 제시할지를 결정하는 코드 전체다.” (Meta-Harness 논문, 2026)

쉽게 말하면 이렇다. AI 모델이 유능한 직원이라면, 하네스는 그 직원에게 업무 지시서를 건네는 방식 전체다. 무엇을 먼저 읽힐지, 어떤 순서로 정보를 줄지, 실패했을 때 어떻게 재시도할지, 어떤 정보를 버리고 어떤 정보를 남길지 — 이 모두가 하네스다.

하네스를 구성하는 요소들:

  • 프롬프트 구성 로직 — 예시, 배경 정보, 지시문을 어떻게 배열할지
  • 검색·불러오기 메커니즘 — 어떤 과거 사례나 데이터를 가져올지
  • 상태 관리 — 이전 단계의 결과를 어떻게 다음 단계에 전달할지
  • 도구 정의 — AI가 사용할 수 있는 기능들을 어떻게 설명할지
  • 컨텍스트 예산 배분 — 제한된 토큰을 어디에 얼마나 쓸지
  • 재시도·에러 처리 — 모델이 실패했을 때 어떻게 복구할지

Claude Code를 쓰는 사람이라면 이미 하네스를 다루고 있다. CLAUDE.md 파일, MCP 서버 설정, Hooks, Sub-agent 구성 — 이 모두가 하네스의 일부다.

같은 모델로 6배 차이가 실제로 났다

논문이 진행한 실험은 세 가지 도메인에 걸쳐 있다. 각각에서 하네스만 바꿨을 때의 성능 변화를 측정했다.

실험 1: 텍스트 분류 (GPT-OSS-120B 모델 사용)

온라인 학습 방식의 텍스트 분류 태스크. 라벨이 붙은 예시가 점점 쌓이는 환경에서 새로운 텍스트를 분류한다.

기존 하네스 (ACE 베이스라인)의 방식:
가장 유사한 예시 5개를 가져와 모델에게 보여주고 분류를 요청한다. 컨텍스트 토큰 사용량: 약 50,800 토큰.

Meta-Harness가 발견한 방식:
2단계 검증 구조를 도입했다.

  1. 유사한 예시 5개를 보여주고 모델이 초안 판단을 내린다
  2. 초안 판단(예: “긍정”)을 조건으로 재검색 — 같은 판단을 지지하는 예시 5개(confirmer) + 반대 판단의 예시 5개(challenger)를 함께 제시한다
  3. 모델이 양쪽 증거를 보고 최종 판단을 내린다. 초안이 틀렸다면 이 단계에서 수정된다.

결과: 정확도 +7.7포인트 향상, 토큰 사용량 75% 감소(50,800 → 11,400 토큰).

프롬프트 문구가 달라진 게 아니다. 정보를 건네는 구조가 달라졌다. AI에게 자기 판단을 반박할 증거를 준 것뿐인데 정확도가 크게 오르고 비용은 줄었다.

실험 2: IMO 수준 수학 문제 200개

국제 수학 올림피아드(IMO) 난이도의 문제 200개. 5개의 미공개 모델(실험 중 한 번도 보지 못한 모델)에 적용해 일반화 가능성을 검증했다.

기존 하네스: 유사한 풀이 예시를 일괄 검색해서 모델에게 제공한다.

Meta-Harness가 발견한 방식: 문제를 먼저 분류하고, 유형마다 다른 전략을 쓴다.

  • 조합론: BM25 검색으로 20개 후보를 가져온 뒤 중복 제거 → 리랭킹 → 최종 3개만 선택
  • 기하학: 고정 참조 자료 1개 + BM25 이웃 2개 (리랭킹 없음)
  • 정수론: BM25 12개 후보 → 난이도 보너스를 가중한 리랭킹
  • 대수/기타: 10개 검색 → 점수 분포를 보고 개수를 유동적으로 조정

결과: 5개 미공개 모델 평균 +4.7포인트. 이 하네스를 한 번도 학습에 쓴 적 없는 새 모델들에서도 효과가 유지됐다. 하네스가 모델 종류를 초월하는 성능 향상을 가져올 수 있음을 보여준다.

실험 3: 코딩 에이전트 (TerminalBench-2, 89개 태스크)

에이전트가 실제 터미널 환경에서 코딩 태스크를 자율적으로 수행하는 벤치마크.

기존 하네스의 문제: 에이전트가 작업을 시작하기 전에 환경을 탐색하는 데 초반 턴을 낭비했다. “이 디렉토리엔 뭐가 있지? 어떤 언어를 쓰지?” 같은 탐색이 반복됐다.

Meta-Harness가 발견한 방식: 샌드박스 환경의 초기 상태를 자동으로 스냅샷으로 캡처해 첫 번째 프롬프트에 주입한다. 에이전트는 탐색 없이 바로 작업에 착수한다.

결과: 리더보드 1위(Haiku 4.5: 37.6%)2위(Opus 4.6: 76.4%) 동시 달성. 같은 모델들이 기존 하네스로는 이 순위에 없었다.

기존 하네스의 근본적인 문제: 피드백이 너무 빈약하다

인간이 하네스를 개선하는 전형적인 방식은 이렇다.

  1. 코드를 실행한다
  2. 결과를 본다 (성공 1 / 실패 0)
  3. 뭔가 수정해본다
  4. 다시 실행한다

50단계짜리 작업이 있다고 생각해보자. 2단계에서 잘못된 정보를 메모리에 저장했다. 그 오류가 3단계, 10단계, 30단계를 조용히 거쳐 50단계에서 폭발한다. 인간이 받는 피드백은 딱 하나다.

“태스크 실패 — 0점.”

2단계가 원인인지, 35단계가 원인인지 알 수 없다. 그래서 엔지니어들은 잘못된 방향으로 수정하거나, 우연히 맞는 방향으로 수정하거나를 반복한다.

논문이 이 문제를 정면으로 실험했다. “어떤 정보를 줬을 때 하네스를 가장 잘 개선할 수 있나?”

제공한 정보중앙값 정확도최고 정확도
성공/실패 점수만34.6%41.3%
점수 + LLM이 생성한 요약34.9%38.7%
전체 실행 로그 원본 (Meta-Harness)50.0%56.7%

요약을 추가했더니 오히려 나빠졌다. 논문은 명확하게 말한다.

“원본 실행 로그에 대한 접근이 하네스 검색을 가능하게 하는 핵심 요소다. 요약은 누락된 신호를 복구하지 못하며, 오히려 해가 될 수 있다.” (논문 표 3 해설)

요약은 인과관계를 지운다. “7단계에서 이 함수가 빈 문자열을 반환했고, 그것이 12단계의 파싱 실패로 이어졌다”는 정보는 요약으로 전달되지 않는다. 원본 로그를 직접 읽어야 보인다.

Meta-Harness는 기존 하네스와 뭐가 다른가

여기가 이 논문의 핵심이다.

기존 하네스 최적화Meta-Harness
누가 고치나인간 엔지니어AI 에이전트 (Claude Opus 4.6)
근거 정보성공/실패 점수, 또는 요약전체 실행 로그 원본
정보량최대 26,000 토큰약 1,000만 토큰
반복 방식인간이 직접 수동 수정자동 반복 (인간 개입 없음)
과거 이력 활용제한적모든 이전 시도와 로그를 파일시스템에 축적해 참조

Meta-Harness의 작동 방식을 단계별로 설명하면 이렇다.

  1. 기존 하네스를 실행하고 전체 로그를 저장한다 (어떤 정보를 검색했는지, 모델이 뭐라 응답했는지, 어떤 에러가 발생했는지 — 전부)
  2. AI 에이전트(Claude Opus 4.6)가 이 로그를 직접 읽는다. 실행 한 번당 약 82개의 파일을 참조하며, 그 중 41%는 이전 하네스 코드, 40%는 실행 로그다.
  3. 에이전트가 인과 가설을 세운다. “이터레이션 3에서는 X를 시도했고 실패했다. 이터레이션 15에서는 Y를 시도했고 성공했다. 차이는 Z다.”
  4. 새로운 하네스 코드를 제안한다.
  5. 검증 후 파일시스템에 추가하고 반복한다.

논문에 실린 에이전트의 실제 추론 사례가 있다. 6번 연속으로 성능이 나빠지는 시도가 이어졌을 때 에이전트는 이렇게 판단했다.

“이전 모든 이터레이션이 프롬프트와 제어 흐름을 수정했기 때문에 성능이 떨어졌다. 다른 접근: 순수하게 추가(additive)하는 방식만 시도한다.” (논문 내 에이전트 추론 인용)

이 판단으로 성능이 반등했다. 인간이 6번 실패 후 같은 결론에 도달하려면 훨씬 오랜 시간이 걸린다. Meta-Harness는 기존 최적화 방식 대비 10배 적은 평가 횟수로 같거나 더 좋은 결과를 냈다.

Claude Code는 이미 하고 있나?

자주 나오는 질문이라 팩트로 정리한다.

Claude Code에는 /init 명령어가 있다. 코드베이스를 분석해서 CLAUDE.md 파일을 자동으로 생성해준다. 한 번의 실행으로 하네스 설정의 초안을 만들어주는 기능이다.

하지만 이것과 Meta-Harness는 명확히 다르다.

  • /init: 사람이 명령하면 한 번 생성한다. 이후 수정은 사람이 직접 한다.
  • Meta-Harness: 실행 로그를 읽고 반복적으로 스스로 개선한다. 사람이 명령하지 않아도.

Meta-Harness는 Anthropic의 제품이 아니다. Stanford, MIT, UW-Madison 연구팀이 만든 외부 연구 시스템으로, 내부적으로 Claude Code를 하나의 도구로 사용한다. 2026년 4월 기준으로 Claude Code 자체에 Meta-Harness 방식의 자동 최적화는 탑재되어 있지 않다.

왜 요약이 아니라 원본 로그여야 하나

이 부분을 조금 더 설명할 필요가 있다. 왜 “AI가 만든 요약”은 안 되고 “원본 로그”는 되는가?

비유를 들면 이렇다. 의사가 환자를 진단할 때, 다른 의사가 작성한 “환자 상태 요약”만 보는 것과 직접 혈액검사 수치 원본을 보는 것의 차이다. 요약에는 “백혈구 수치 약간 높음”이라고 쓰여 있지만, 원본에는 “백혈구 12,500, 중성구 비율 82%, 호산구 0.5%”가 있다. 진단에 중요한 정보는 요약에서 사라진다.

하네스 디버깅도 같다. 요약에는 “7단계에서 검색 실패”라고 쓰여 있지만, 원본 로그에는 “7단계: 쿼리 ‘Q4_2024 earnings’로 BM25 검색 → 0건 반환 → 빈 배열로 다음 단계 진입 → 12단계에서 인덱스 범위 오류”가 있다. 요약만 보면 “검색 로직을 고쳐야겠다”고 생각하지만, 원본을 보면 “쿼리 형식이 문제다”라는 정확한 원인을 파악할 수 있다.

Meta-Harness가 한 번의 실행에서 다루는 진단 정보는 약 1,000만 토큰이다. 기존 최적화 방법들의 최대치인 26,000 토큰과 비교하면 약 400배 차이다.

핵심 메시지

프롬프트 엔지니어링이 한동안 유행했다. “어떻게 말할지”를 최적화하는 기술이었다.

하네스 엔지니어링은 한 단계 위다. “어떤 정보를, 어떤 순서로, 어떤 구조로 제시할지”를 설계하는 일이다. 프롬프트 문구보다 정보 아키텍처가 성능에 더 큰 영향을 준다는 것이 이 논문의 결론이다.

그리고 Meta-Harness는 그 설계 과정 자체를 자동화했다. 인간이 수작업으로 고치던 것을, AI가 원본 로그를 읽고 스스로 개선하게 만들었다.

같은 AI 도구를 써도 결과가 다른 이유의 상당 부분이 여기에 있다. 모델 차이가 아니라 하네스 차이다.

FAQ

일반 사용자도 하네스를 신경 써야 하나?

AI 도구의 설정, 지시문, 컨텍스트 파일을 어떻게 구성하느냐가 전부 하네스다. 코드를 몰라도 “AI에게 어떤 정보를 어떤 순서로 줄지”를 의식하면 활용도가 달라진다.

프롬프트 엔지니어링이랑 뭐가 다른가?

프롬프트는 “뭐라고 물을지”다. 하네스는 “어떤 정보를 준비해서, 어떤 순서로 보여주고, 실패했을 때 어떻게 처리하고, 결과를 어떻게 다음 단계로 넘길지”까지 포함한다. 범위가 다르다.

Meta-Harness는 지금 당장 쓸 수 있나?

논문과 함께 코드가 공개되어 있다(프로젝트 페이지: yoonholee.com/meta-harness). 하지만 상용 서비스에 통합된 것은 아직 없다. 연구용 구현으로, 실제 사용하려면 상당한 설정이 필요하다.

ChatGPT와 Claude 중 어느 쪽이 더 좋은가?

같은 Claude라도 하네스 설계에 따라 성능이 크게 달라진다. 이 논문의 실험에서 하네스를 최적화했을 때 미공개 5개 모델 모두에서 성능이 향상됐다. 어느 모델이 좋은지보다 어떻게 쓰느냐가 더 큰 변수다.

6배 차이는 어떤 조건에서 나온 수치인가?

이 수치는 논문의 선행 연구 인용(SWE-bench 계열 평가)에서 나온 것이다. Meta-Harness 논문 자체에서는 텍스트 분류 +7.7포인트, 수학 +4.7포인트, 코딩 에이전트 리더보드 1·2위 달성을 실험으로 입증했다. 6배는 문맥상의 상한치이며, 태스크와 조건에 따라 차이가 다르게 나온다.

출처

JAKO