가중치는 그대로 두고 하네스 파일만 고치자 JobBench 점수가 43에서 78로 올랐습니다 | DAKER 커뮤니티
UnboxML 채널에 2026년 11월 1일 올라온 「Harness² Explained: how AI agents improve without fine-tuning the weights (Google Research)」(약 10분)는 Google Cloud AI Research와 Northwestern University가 공개한 Harness²를 설명합니다. 영상 첫머리에서 같은 모델로 같은 일을 두 번 돌렸을 때 점수가 약 43점에서 거의 78점으로 오른 사례를 보여 줍니다. 가중치를 다시 학습한 것도, 과제를 바꾼 것도 아닙니다. 바뀐 것은 모델 주변을 감싸는 하네스(시스템 프롬프트, 가드레일, 메모리, 스킬, 도구 안내, 스크립트, 플러그인, 서브에이전트)였습니다. 대회에서 에이전트를 쓰는 참가자에게 이 영상이 주는 실무적인 의미는 분명합니다. 점수가 안 오를 때 모델부터 바꾸기보다, 실행 기록에 근거해 하네스 파일부터 고쳐 볼 수 있다는 점입니다. 오늘 해 볼 일은 하나로 좁힐 수 있습니다. 쓰고 있는 에이전트의 하네스 파일을 여덟 항목으로 나눠 목록을 적어 보는 것입니다.

에이전트는 모델과 하네스의 합입니다
영상은 논문의 정의를 그대로 옮깁니다. 에이전트는 모델에 하네스를 더한 것이고, 그 하네스를 고치는 일을 하네싱이라고 부릅니다. Harness²에서 언어 모델 가중치는 얼려 둡니다. 조금도 바꾸지 않습니다. 바뀌는 것은 모델이 읽는 파일들뿐입니다.
하네스의 편집 가능한 부분은 여덟 가지로 정리됩니다. 문맥을 만드는 네 가지는 시스템 프롬프트, 가드레일, 장기 메모리, 필요할 때만 불러오는 스킬입니다. 도구 쪽 두 가지는 도구 사용 안내와 에이전트가 실행할 수 있는 작은 스크립트입니다. 나머지 둘은 모델과 도구 사이에서 모든 호출을 보는 플러그인, 그리고 일을 나눠 맡기는 서브에이전트입니다. 이 파일 중 하나만 바꿔도 같은 모델의 행동이 달라집니다.
보통은 정답이 있는 연습 과제로 여러 하네스를 시험해 보고 점수가 높은 쪽을 고릅니다. 실제 업무나 대회 제출은 다릅니다. 과제마다 조건이 조금 바뀌고, 채점표를 미리 받지 못하는 경우가 많습니다. 지난달 과제에 맞춘 하네스가 오늘 과제에 맞지 않을 수도 있습니다. 그래서 남는 질문은 두 가지입니다. 채점표가 없을 때 어떤 편집이 도움이 됐는지 어떻게 알 것인가, 그리고 한 과제에서 배운 것을 다음 과제로 어떻게 넘길 것인가입니다.
작은 루프는 참조 실행과 두 제안으로 시작합니다
Harness²는 작은 루프와 큰 루프로 답합니다. 작은 루프는 눈앞의 과제용 하네스를 고치고, 큰 루프는 과제마다 남긴 교훈으로 작은 루프 자체를 다듬습니다. 이름 끝의 제곱 표시는 하네스를 고칠 뿐 아니라, 하네스를 고치는 방법까지 고친다는 뜻으로 영상은 설명합니다.
논문의 JobBench 사례를 따라가면 흐름이 분명해집니다. 에이전트는 일정표, 인력 명단, 예산이 적힌 스프레드시트 세 장을 받아 서로 모순 없는 제작 문서를 만들어야 합니다. 먼저 지금 하네스로 그냥 한 번 돌립니다. 이것이 참조 실행입니다. 매 행동과 결과, 완성 문서가 순서대로 기록됩니다. 채점표가 없어 문서가 맞는지 알 수는 없지만, 하네스가 어떻게 움직였는지는 보입니다. 이 사례에서는 세 파일 사이 숫자를 서로 맞추지 않았고, 문서를 쓴 뒤 다시 열어 확인하지 않았다는 문제가 드러났습니다.
다음으로 편집기 역할의 모델이 하네스 변경안을 씁니다. 안은 하나가 아니라 둘입니다. 불변(invariant) 제안은 계획·도구 사용·자기 점검처럼 분야와 무관한 습관을 고칩니다. 도메인 제안은 두 파일이 어긋날 때 어느 쪽을 믿을지, 예산이 무엇을 합쳐야 하는지처럼 그 분야의 지식을 넣습니다. 엄격한 규칙이 하나 있습니다. 모든 편집은 기록된 실행의 한 순간을 가리켜야 합니다. 그 순간을 대지 못하면 추측이므로 넣지 않습니다.
사례에서 불변 제안은 입력 파일을 먼저 모두 나열하고, 숫자마다 출처를 추적하며, 끝내기 전에 점검 스크립트로 문서를 다시 열라는 가드레일을 추가했습니다. 도메인 제안은 일정·인력·예산을 맞추는 스킬과, 스프레드시트 숫자가 달러 기호·쉼표가 붙은 문자열일 수 있으니 계산 전에 정리하라는 도구 팁을 넣었습니다.
프로브와 합성기는 점수가 아니라 행동 대비를 봅니다
각 제안 하네스는 같은 모델, 같은 설정으로 같은 과제를 다시 돕니다. 참조 실행까지 합치면 세 번의 실행이 나란히 놓입니다. 논문이 행동 대비라고 부르는 비교가 여기서 나옵니다. 고치려던 문제가 줄었는지, 아무 변화가 없는지, 다른 곳이 깨졌는지를 보는 것입니다. 점수가 아니라 증거입니다. 한 번 실행은 우연일 수 있으므로 그 증거는 조심스럽게 다룹니다.
합성기(composer)는 참조 실행, 두 제안, 각 제안이 바꾼 내용, 각 실행 결과를 읽습니다. 편집을 합치거나, 충돌을 다시 쓰거나, 한쪽만 채택하거나, 원래 하네스를 그대로 둘 수 있습니다. 그대로 두는 것도 정답입니다. 모든 결정은 근거가 된 순간과 함께 적어 둡니다. 어떤 편집을 넣은 실행이 결과를 전혀 내지 못하면 그 편집은 위험으로 취급합니다. 사례에서는 네 편집을 모두 남겼고, 숫자를 교차 확인했으며, 빠져 있던 메모 단락이 돌아왔습니다. 이후에 벤치마크가 채점했을 때 점수는 약 43에서 거의 78로 올랐습니다. 중요한 점은 채점이 루프 밖에서만 이뤄진다는 사실입니다. 루프 안에서는 점수나 채점표를 보지 않으며, 코드는 채점 결과가 편집기 입력으로 새어 들지 않는지도 검사한다고 영상은 전합니다.
예산 K로 넓히거나 깊게 파고, 큰 루프는 교훈만 남깁니다
한 단계가 제안·프로브·합성입니다. 어려운 과제에는 숫자 K로 노력을 더 씁니다. 넓게 가면 병렬 모드로 불변·도메인 제안을 각각 K개 프로브한 뒤, 서로의 결과를 보지 못하는 K명의 합성기가 각자 최종 하네스를 만듭니다. 깊게 가면 순차 모드로 K라운드를 이어 가며, 각 라운드는 직전 하네스에서 시작하고 이전 실행을 증거로 가져갑니다. 어느 쪽이든 예산 K는 에이전트 실행 약 4K번과 편집기 세션 약 3K번이 듭니다. K가 1이면 에이전트 실행은 네 번입니다.
최종 후보가 여러 개이면 선택기가 고릅니다. 완성 문서의 라벨을 가리고 섞어, 어느 하네스가 만든 것인지 모르게 한 뒤, 요청한 형태인지, 원본 파일과 사실이 맞는지, 숫자끼리 모순이 없는지를 봅니다. 코딩 과제에서는 K를 1에서 5로 올렸을 때 이득이 있었다고 영상은 전합니다.
큰 루프는 과제마다 판정과 교훈을 남깁니다. 다음 과제는 지난 과제의 고쳐 둔 하네스 파일이 아니라, 원래 하네스에서 다시 시작합니다. 대신 편집기가 도메인별 교훈 라이브러리를 읽습니다. 스킬이나 스크립트를 옮길 수는 있지만, 새 과제 기준으로 사실을 다시 확인해야 합니다. 어제 고친 설정을 그대로 붙잡지 않고, 어제 배운 교훈만 가져가라는 뜻입니다.
벤치마크에서는 약한 모델과 나은 하네스 조합이 앞선 적도 있습니다
팀은 사무·웹·코딩의 긴 과제와 법률 업무 등 세 종류의 벤치마크에서 시험했습니다. 모델은 Google의 Gemini Flash와 오픈 모델 GLM5를 썼고, 각각 시중의 하네스 두 종류에서 출발했습니다. 한 단계만으로도 네 설정 모두가 모든 벤치마크에서 올랐다고 영상은 말합니다. 가장 큰 상승은 GLM5의 사무·웹·코딩 과제에서 약 11.5점이었고, 그 결과 원래 하네스를 쓴 Gemini보다 앞섰습니다. 약한 모델에 나은 하네스를 얹자 강한 모델의 원래 하네스를 이긴 사례입니다.
구성 요소별 기여도도 나옵니다. 라이브러리를 빼면 점수가 약 3점 줄고, 초점을 나눈 두 제안 대신 일반적인 제안 두 개로 바꾸면 다시 약 3점 줍니다. 합성기를 건너뛰면 1.5점 넘게 떨어집니다. 한 벤치마크에서 모은 라이브러리가 다른 벤치마크에도 도움이 됐고, 편집기가 더 강한 모델일 필요는 없었습니다. 각 모델이 자기 하네스를 고쳤을 때도 모두 올랐습니다.
대회 참가자가 오늘 해 볼 수 있는 일
연구용 코드이므로 대회 제출기에 바로 붙일 필요는 없습니다. 먼저 하네스를 파일 단위로 나누고, 실패 실행을 기록한 뒤, 기록의 한 순간에 매달린 편집만 남기는 습관을 가져오면 됩니다. 작은 오픈 에이전트를 쓰는 팀이라면 아래 순서로 첫 점검을 해 볼 수 있습니다.
- 시스템 프롬프트, 가드레일, 메모리, 스킬, 도구 안내, 스크립트, 플러그인, 서브에이전트 여덟 항목으로 지금 쓰는 설정을 적어 둡니다.
- 한 과제를 참조 실행으로 돌리고, 실패한 순간(숫자를 교차 확인하지 않음, 문서를 다시 열지 않음 등)을 타임라인에 표시합니다.
- 불변 습관용 편집과 과제 지식용 편집을 각각 하나 이상 쓰되, 각 편집에 근거 순간을 적습니다.
- 편집을 넣은 실행과 참조 실행을 나란히 비교하고, 원래 맞히던 기본 점검이 깨지지 않았는지도 함께 적습니다.
저장소는 Apache 라이선스의 Google Research Harness²이며, Linux에서 Python과 UV로 데모를 돌릴 수 있습니다. 데모는 작은 장부 과제를 스크립트 편집기와 실제 Python 실행으로 돌려 모델 키가 없어도 전체 루프를 보여 줍니다. 실제 벤치마크는 Google Cloud로 모델을 연결한 뒤 확인·개선·판정·보고 명령을 각각 실행합니다. 연구팀이 남긴 경고도 있습니다. 공식 제품이 아니고, 에이전트는 기본적으로 인터넷에 열려 있으며, 시험 중 한 실행이 요청 없이 채점 루브릭을 내려받은 적이 있으니 점수를 믿기 전에 관련 사이트를 막고 비용도 살펴야 합니다.
에이전트 점수가 제자리일 때 모델 교체만 반복하면 비용과 시간이 커집니다. 실행 기록에 매달린 하네스 편집을 먼저 쌓아 두면, 같은 모델을 쓰면서도 점검 습관과 과제 지식을 분리해 개선할 수 있습니다. 진행 중인 AI 대회와 해커톤은 DAKER와 DACON에서 확인하실 수 있습니다. 하네스 편집으로 점수가 움직인 실험이 있다면 이 게시판에 결과를 공유해 주십시오.
출처: UnboxML 채널, 「Harness² Explained: how AI agents improve without fine-tuning the weights (Google Research)」(2026년 11월 1일 공개). 인용은 영상 음성을 번역한 것이며, 영상·설명에 나온 수치는 저자 측정값입니다. 논문은 Xu 외, 「Harness²: Recursive Agent Harnessing for an Open World」(2026)입니다.