Google Cloud AI Research가 모델은 그대로 두고 에이전트를 둘러싼 코드와 파일을 고쳐 성능을 끌어올리는 프레임워크 Harness²를 오픈소스로 공개했다. 현재 버전은 0.1.0이고 코드 라이선스는 Apache-2.0이다.
Linux에서 Python 3.12 또는 3.13과 uv로 실행하며, 모델 호출은 Vertex AI를 거친다. 이 프레임워크는 모델을 직접 학습하지 않아 학습하는 파라미터가 0개다. 프로젝트는 GPU 요구 사양을 밝히지 않았다.
작동 방식
하네스는 모델을 뺀 나머지 전체를 가리킨다. 프롬프트, 도구, 메모리, 스킬, 작업 분배가 모두 여기에 속한다. Google Research의 플러그 앤 플레이 프레임워크인 Harness²는 에이전트를 배포해 쓰는 중에 이 하네스를 고치고, 모델 가중치는 건드리지 않는다.
대상은 과제가 처음 보는 형태로 들어오고 답이 맞는지 알려 주는 검증기가 없는 열린 환경이다. 연구팀은 기존 자기 개선 방식 대부분이 정답 라벨이나 테스트 케이스를 전제로 한다고 주장하며, Harness²는 이런 자료 없이 동작하도록 만들었다고 밝혔다.
고칠 수 있는 구성 요소는 파일 형태로 붙는 8개다.
이 8개 요소는 컨텍스트 구성, 도구 인터페이스, 위임, 도구 루프 안에서의 행동을 다룬다. 이전 Agentic Harness Engineering 연구의 7개 파일 구성에 하나를 더한 구조다.
재귀는 두 층으로 돌아간다. 과제 단위 재귀는 대비형 Propose, Probe, Compose 단계를 쓴다. 먼저 기본 하네스로 과제를 한 번 실행하고, 편집기가 후보 둘을 제안한다. invariant 후보는 계획이나 도구 사용처럼 에이전트 전반의 실패를 겨냥하고, domain 후보는 해당 분야의 지식과 절차를 겨냥한다. 두 후보를 같은 과제에 돌린 뒤 Compose 단계에서 실행 궤적을 기준(reference)과 비교해, 실제 행동으로 뒷받침된 수정만 남긴다.
하네스 단위 재귀는 과제가 끝날 때마다 일어난다. 반영 단계가 채택된 하네스와 교훈을 적은 EXPERIENCE.md를 라이브러리에 저장하고, 이후 제안에 참고한다. 다만 새 과제는 언제나 기본 하네스에서 시작한다. 예산 k는 탐색 규모를 정한다. 병렬 모드는 후보를 k개씩 시험한 뒤 조합을 k번 하고, 순차 모드는 개선 단계를 k번 잇는다.
벤치마크 결과
연구팀은 WorkBuddy-Bench, JobBench, Harvey의 LAB 세 가지 전문 업무 벤치마크로 시험했다. 실행 모델은 Gemini 3.5 Flash와 GLM-5이고, 각각 OpenCode와 Codex 위에서 돌렸다. 기본 편집기는 Claude Opus 4.8이며 점수는 3회 평균이다. 아래는 개선 단계 1회(k=1) 전후 점수다.
| 실행 조합 | WorkBuddy 평균 | JobBench | LAB Partial |
|---|---|---|---|
| Gemini 3.5 Flash, OpenCode | 72.4 → 77.5 | 31.5 → 36.0 | 79.9 → 81.9 |
| Gemini 3.5 Flash, Codex | 74.5 → 77.5 | 33.9 → 35.3 | 71.6 → 75.6 |
| GLM-5, OpenCode | 64.2 → 75.7 | 20.6 → 24.2 | 59.6 → 71.4 |
| GLM-5, Codex | 64.4 → 75.3 | 23.6 → 24.8 | 58.1 → 65.9 |
단계 1회로 4개 조합 모두 3개 벤치마크에서 점수가 올랐다. 가장 큰 폭은 OpenCode 위의 GLM-5가 WorkBuddy-Bench에서 64.2점에서 75.7점으로 11.5점 오른 경우다. 가장 작은 폭은 Codex 위의 GLM-5가 JobBench에서 23.6점에서 24.8점으로 1.2점 오른 경우다.
단계 1회로 4개 조합 모두 3개 벤치마크에서 점수가 올랐다. WorkBuddy-Bench에서 가장 큰 폭은 OpenCode 위의 GLM-5가 64.2점에서 75.7점으로 11.5점 오른 경우다. 같은 조합은 LAB Partial에서도 59.6점에서 71.4점으로 11.8점 올라, 표 전체에서 가장 큰 상승 폭을 보였다. 가장 작은 폭은 Codex 위의 GLM-5가 JobBench에서 23.6점에서 24.8점으로 1.2점 오른 경우다.
| 방식 | 개발 주체 | 코드 라이선스 | 학습 분할 필요 | WorkBuddy(Gemini/OpenCode) | JobBench(Gemini/OpenCode) | LAB Partial(Gemini/Codex) |
|---|---|---|---|---|---|---|
| Harness² | Google Cloud AI Research, Northwestern 등 | Apache-2.0 | 불필요 | 77.5(k=5에서 80.8) | 36.0 | 75.6 |
| Meta-Harness | Stanford IRIS Lab 등 | MIT | 필요 | 76.4 | 35.8 | 76.5 |
| ReasoningBank | Google Research 등 | 미공개 | 불필요 | 73.4 | 30.8 | 74.8 |
| Harness Scaling | Wang 등 | 미공개 | 불필요 | 75.3 | 32.9 | 67.9 |
비교 대상 방식은 이 벤치마크 점수를 자체 보고하지 않았고, 표의 수치는 모두 Harness² 논문이 측정한 값이다. Harness²는 LAB Partial에서 Meta-Harness의 76.5점보다 낮은 75.6점이다. Meta-Harness가 하네스 코드를 오프라인으로 탐색하는 것과 달리 Harness²는 과제마다 8개 구성 요소를 고치고, 과제 사이에서는 라이브러리와 교훈으로 학습 내용을 이어 간다.
marktechpost는 이 프레임워크를 쓰면 과제마다 추가 실행이 생기는 점을 예상해야 하고, 샌드박스는 사용자가 직접 갖춰야 한다고 짚었다.
설치와 실행
README는 Linux, Python 3.12, uv를 기준으로 한다. uv로 가상환경을 만들고 uv pip install -e '.[render]'로 설치한 뒤 harness2-demo --output runs/demo --k 2를 실행하면, 모델 자격 증명 없이 두 재귀 모드를 로컬에서 시험해 볼 수 있다.
실제 모델을 쓰는 실행에는 Node.js 20 이상, Google Cloud CLI, Vertex AI 프로젝트가 필요하다. LAB 벤치마크에는 Pandoc과 Poppler가, WorkBuddy-Bench에는 Docker가 필요하다. 실행기는 기본이 OpenCode이고, --substrate cx 옵션을 주면 Codex를 쓴다.
출처
이 기사는 아래 자료를 바탕으로 정리했습니다. 제목을 누르면 원문이 새 창으로 열립니다.
- Google Open-Sources Harness2, a Recursive Agent Harnessing Framework marktechpost.com