Harness-1: 상태를 외부화하는 검색 하네스 (Search Harness)
요약
Harness-1은 검색 에이전트의 컨텍스트 윈도우 고갈 문제를 해결하기 위해 작업 메모리를 외부화하는 20B RL 학습 모델입니다. 전체 이력을 재생하는 대신 구조화된 '하네스'를 통해 필요한 정보만 컨텍스트에 렌더링하여 비용 효율적인 심층 검색을 가능하게 합니다.
핵심 포인트
- 작업 메모리를 외부화하여 컨텍스트 비용을 일정하게 유지
- 20B 파라미터 규모의 RL(강화학습) 기반 검색 에이전트
- 전체 트랜스크립트 대신 구조화된 하네스(Harness) 사용
- 예산 제한적 슬라이스 렌더링을 통한 효율적 정보 관리
무엇인가 (What): Harness-1 논문은 계속해서 늘어나는 트랜스크립트 (transcript) 대신, 후보군 (candidate pools), 증거 링크 (evidence links), 검증 기록 (verification records)과 같이 **구조화된 하네스 (harness)로 작업 메모리 (working memory)를 외부화하는 20B RL-학습된 검색 에이전트 (search agent)**를 소개합니다.
왜 필요한가 (Why): **매 단계마다 전체 이력을 재생 (replay)**하는 심층 검색 에이전트 (deep search agent)는 컨텍스트 윈도우 (context window)를 고갈시킵니다. Harness-1은 검색이 깊어짐에 따라 컨텍스트 비용 (context cost)을 일정하게 유지하며, 이는 에이전트 엔지니어링 (agent-engineering) 분야에서 강조하는 '상태로서의 하네스 (harness-as-state)' 개념을 구체화하고 RL (강화학습)로 학습시킨 것입니다.
이전 방식과의 차이 (vs prior): 이전의 검색 에이전트들은 점점 늘어나는 트랜스크립트 (transcript)를 기반으로 학습하기 때문에, 모든 후보, 관찰, 검증 내용이 다시 컨텍스트 (context)로 들어갑니다. Harness-1은 **외부 워크스페이스 (external workspace)**를 기반으로 학습하며, **예산 제한적 슬라이스 (budget-bounded slice)**만을 렌더링합니다. 즉, 정책 (policy)은 무엇을 검색하고 검증할지 결정하며, 하네스 (harness)가 메모리 (memory)를 소유합니다.
비유하자면
인덱스 카드 (index card)로 브리핑을 받는, 벽에 걸린 탐정의 사건 게시판 (case-board)과 같습니다.
점점 커지는 사건 (THE GROWING CASE)
│
┌──────────┴──────────┐
...
- 벽에 걸린 사건 게시판 (case-board on the wall) = 내구성이 있는 하네스 워크스페이스 (durable harness workspace) (모든 단서, 증거 링크, 검증된 사실)
- 인덱스 카드 브리핑 (index-card briefing) = 매 단계 모델의 컨텍스트 (context)로 렌더링되는 예산 제한적 슬라이스 (budget-bounded slice)
- 모든 인터뷰마다 전체 사건 파일을 들고 가는 것 (lugging the whole case file into every interview) = 계속해서 늘어나는 전체 트랜스크립트 (transcript)를 재생하는 것
- 책상 공간이 부족해지는 것 (running out of desk space) = 검색이 깊어짐에 따라 컨텍스트 윈도우 (context window)가 넘치는 것
빠른 용어 정리
하네스 (Harness) — 도구, 상태 (state), 그리고 매 단계 모델에 정확히 무엇을 보여줄지를 관리하는 **모델 주변의 스캐폴딩 (scaffolding)**입니다. 모델이 두뇌라면, 하네스는 책상, 서류함, 그리고 메모장입니다.
컨텍스트 윈도우 (Context window) — 모델이 단일 단계에서 읽을 수 있는 **고정된 토큰 예산 (fixed token budget)**입니다. 이 범위를 벗어나는 모든 것은 모델에게 보이지 않으며, 토큰은 무료가 아니므로 전체 윈도우를 사용하는 것은 비용이자 물리적인 한계(hard ceiling)가 됩니다.
점점 늘어나는 기록 (Growing transcript) — 단순한 에이전트-메모리 설계 방식: **전체 행동 및 관찰 이력 (action-and-observation history)을 연결 (concatenate)**하여 매 단계마다 다시 입력하는 방식입니다. 이는 제한 없이 계속 커지기 때문에, 긴 검색 과정은 결국 컨텍스트 윈도우 (context window)를 초과하게 됩니다.
상태 외부화 (State externalization) — 내구성이 있는 작업 메모리 (working memory)를 모델의 컨텍스트 외부 — 즉, 하네스 (harness) 내부에 — 유지함으로써, 축적된 증거들이 컨텍스트 예산을 소모하지 않도록 합니다. 모델은 가공되지 않은 저장소 (raw store)가 아닌, 렌더링된 뷰 (rendered view)를 읽습니다.
예산 제한 렌더링 (Budget-bounded rendering) — 매 단계마다 하네스는 컨텍스트로 렌더링할 워크스페이스 (workspace)의 **토큰 예산이 할당된 슬라이스 (token-budgeted slice)**만을 선택하므로, 컨텍스트 크기는 검색 깊이와 관계없이 일정하게 유지됩니다.
큐레이션된 세트 (Curated set) — 원본 후보 풀 (candidate pool)과는 구별되는, **중요도 태그가 지정되고 검증된 증거 (importance-tagged, verified evidence)**들로 구성된 에이전트의 실행 중인 단축 목록 (shortlist)입니다. Harness-1의 핵심 지표는 **큐레이션된 재현율 (curated recall)**로, 정답 증거 (gold evidence)가 이 세트에 얼마나 포함되는지를 나타냅니다.
큐레이션된 재현율 (Curated recall) — 8개의 검색 벤치마크 (retrieval benchmarks) 전체에 걸쳐 평균을 낸, 정답 (correct) 증거가 큐레이션된 세트에 포함되는 비율입니다. Harness-1은 0.730을 기록하였으며, 이는 차순위 오픈 검색 에이전트보다 11.4포인트 높은 수치입니다.
뉴스. 2026년 6월 1일, Harness-1 (arXiv:2606.02373)은 의미론적 의사결정 (semantic decision-making)을 상태 관리 (state management)로부터 분리하는 **20B-파라미터 검색 에이전트 (20B-parameter search agent)**를 소개했습니다. 정책 (policy)은 무엇을 검색하고, 조사하고, 큐레이션하고, 검증할지, 그리고 언제 멈출지를 결정합니다. **상태를 외부화하는 하네스 (state-externalizing harness)**는 후보 풀 (candidate pools), 중요도 태그가 지정된 큐레이션 세트, 증거 링크, 검증 기록, 압축된 관찰값 (compressed observations)과 같은 작업 메모리 (working memory)를 보유하며, 매 단계마다 예산 범위 내의 슬라이스 (budget-bounded slice)만을 모델의 컨텍스트 (context)로 전달합니다. 계속해서 늘어나는 트랜스크립트 (transcript)를 기반으로 학습하는 대신, 이 에이전트는 **구조화된 외부 작업 공간 (structured external workspace)에 대한 강화학습 (reinforcement learning)**을 통해 학습됩니다. 이 에이전트는 8개의 검색 벤치마크 (웹, 금융, 특허, 멀티홉 QA)에서 평균 큐레이션 재현율 (average curated recall) 0.730을 기록하였으며, 이는 차순위 오픈 검색 서브 에이전트보다 11.4포인트 높습니다. 논문 읽기 →
장기 미제 사건을 다루는 형사를 상상해 보십시오. 모든 단서, 사진, 검증된 알리바이는 **벽에 있는 사건 게시판 (case-board on the wall)**에 핀으로 고정되고 빨간 실로 연결됩니다. 이 게시판은 지속적인 기록이며, 시간이 지남에 따라 계속해서 커집니다. 형사가 인터뷰를 하러 갈 때, 사건 파일 전체를 방 안으로 끌고 들어가지 않습니다. 대신 이번 대화에 꼭 필요한 내용만 담긴 단 한 장의 **인덱스 카드 브리핑 (index-card briefing)**만을 지참합니다. 게시판은 벽에 그대로 남아 있고, 브리핑만이 방 안으로 들어가는 것입니다. 반면, 계속 커지는 파일 상자 전체를 모든 인터뷰마다 짊어지고 다니는 신참 형사는 결국 책상 공간이 부족해지게 됩니다. 이것이 바로 검색 에이전트가 유한한 컨텍스트 창 (context window) 안에 자신의 전체 트랜스크립트를 다시 재생할 때 발생하는 상황과 정확히 일치합니다.
그것이 바로 Harness-1이 구체화한 움직임입니다. 나이브한 (naïve) 설계는 에이전트의 메모리를 **점점 커지는 트랜스크립트 (growing transcript)**로 취급합니다. 즉, 모든 관찰(observation), 모든 후보 문서, 모든 검증 단계가 하나로 연결(concatenate)되어 다음 단계에서 모델로 다시 입력됩니다. 이는 몇 단계 동안은 작동하지만, 곧 트랜스크립트가 급격히 팽창하여 검색이 중단됩니다. 이는 에이전트가 단서를 다 써서가 아니라, 공간이 부족해졌기 때문입니다. 대신 Harness-1은 그 지속적인 상태(durable state)를 하네스인 케이스 보드(case-board)에 유지하며, 에이전트의 작업 상태(working state)가 어디에 위치할지를 정책(policy)이 결정하도록 합니다. 매 단계마다 하네스는 **예산 제한적 렌더링 (budget-bounded rendering)**을 수행합니다. 즉, 워크스페이스(workspace)에서 토큰 제한이 있는 슬라이스(slice)인 브리핑(briefing)을 선택하여 모델에게 오직 그것만을 보여줍니다. 보드는 수백 개의 항목으로 늘어날 수 있지만 브리핑의 크기는 일정하게 유지되므로, 검색이 얼마나 깊게 진행되든 컨텍스트 비용 (context cost)은 일정하게 유지됩니다. 결정적으로, 에이전트는 트랜스크립트가 아닌 이 워크스페이스 위에서 강화학습 (reinforcement learning)을 통해 훈련되므로, 정책은 큐레이션(curate), 중요도 태깅(importance-tag), 검증(verify), 압축(compress), 중단(stop)과 같은 하네스 기술을 일급 시민 액션 (first-class actions)으로서 학습합니다.
점점 커지는 트랜스크립트 vs 상태를 외부화하는 하네스
| 설계 | 컨텍스트에 존재하는 것 | 검색이 깊어짐에 따른 컨텍스트 비용 | 실패 모드 |
|---|---|---|---|
| 점점 커지는 트랜스크립트 | 매 단계마다 다시 재생되는 전체 액션 + 관찰 이력 | 매 단계마다 증가함 | 컨텍스트 창 초과; 단서가 아닌 길이에 의해 검색이 정체됨 |
| 상태를 외부화하는 하네스 | 워크스페이스에서 렌더링된 예산 제한적 슬라이스 | 렌더링 예산에 의해 설정된 ~일정한 수준 | 잘못 선택된 슬라이스가 필요한 항목을 누락할 수 있음 (중요도 태그 + 큐레이션된 회상(recall)으로 완화됨) |
두 행은 Harness-1이 트랜스크립트 방식의 메모리와 외부화된 워크스페이스 사이에 그리는 대조를 설명합니다; "예산 제한적 슬라이스" 주장은 논문에서 인용되었습니다. 히어로 애니메이션의 토큰 수치는 예시를 위한 것입니다.
대략적인 수치로 예산을 살펴보겠습니다 (예시용). 각 검색 단계가 약 **2,000 토큰 (tokens)**의 새로운 관찰 결과(observations)를 추가한다고 가정해 봅시다. 점진적 기록(growing-transcript) 설계 방식에서는 이 토큰들이 결코 사라지지 않습니다. 8단계 후 모델은 약 16,000 토큰의 이력을 읽게 되고, 20단계 후에는 약 40,000 토큰을 읽게 되며, 진정으로 깊은 멀티홉(multi-hop) 검색은 일반적인 작업 창(working window)을 가볍게 넘어섭니다. 반면 상태 외부화 하네스(state-externalizing harness) 방식에서는 이 2,000 토큰의 관찰 결과가 워크스페이스(workspace)에 저장되지만, 모델에게는 항상 고정된 약 6,000 토큰의 렌더링(render) 결과만 보여집니다. 즉, 8단계나 20단계나 컨텍스트(context) 비용은 동일하게 6,000 토큰입니다. 축적된 증거는 여전히 존재하지만, 브리핑(briefing) 내용이 아닌 케이스 보드(case-board)에 머물 뿐입니다. 이것이 바로 Harness-1이 기록 기반 에이전트(transcript agent)라면 용량이 부족했을 깊은 벤치마크에서도 **0.730의 재현율 (recall)**을 유지하며 큐레이션을 지속할 수 있는 이유입니다. 이는 에이전트 엔지니어링(agent-engineering) 트랙에서 프롬프트에 흩뿌려진 상태(state)가 아닌, 하네스가 소유하는 '지속 가능한 상태(durable state)'로 정의하는 것과 동일한 원리입니다.
이는 최근 검색 에이전트가 '어떻게' 행동하는지에 대한 연구 흐름과 날카로운 보완 관계를 형성합니다. GrepSeek이 더 나은 행동 공간 (action space) (코퍼스에 대한 셸 명령)을 학습한다면, Harness-1은 더 나은 상태 기질 (state substrate) (외부화된 워크스페이스)을 학습합니다. 동일한 RL(강화학습) 기반 검색 에이전트 계열이지만, 서로 직교하는(orthogonal) 레버를 사용합니다. 연구에서 정의하듯, 모델은 의미론적 호출(semantic calls)을 수행해야 하고 하네스는 메모리를 소유해야 합니다. 이는 넘쳐나는 컨텍스트에 대한 표준적인 해결책들이 계속 시도해 왔던 방식을 이제 엔드 투 엔드(end-to-end)로 학습하여 구현한 깔끔한 분업입니다.
더 자세한 내용: AI Agents → The Agent Loop & State → The Anatomy of a Harness
관련 설명서
- GrepSeek — 쉘 명령 검색 에이전트 학습 — 또 다른 레버: 상태 기질 (state substrate) 대신 검색 액션 공간 (action space)을 학습하는 것.
- Is Grep All You Need? — grep vs 벡터 검색 — 하네스 (harness) 설계가 검색 알고리즘보다 더 지배적이라는 실증적 증거.
- RecMem — 잠재의식 + 재귀 트리거 메모리 — 내구성이 있는 에이전트 메모리를 라이브 컨텍스트 (live context) 외부로 유지하는 또 다른 방법.
FAQ
Harness-1이란 무엇인가요?
Harness-1은 모델의 의미론적 결정(무엇을 검색, 조사, 큐레이션, 검증할지, 그리고 언제 멈출지)을 상태 관리 (state management)로부터 분리한 20B 파라미터 규모의 RL (강화학습) 기반 검색 에이전트입니다. 상태를 외부화하는 하네스 (state-externalizing harness)는 후보 풀 (candidate pools), 중요도 태그가 지정된 큐레이션 세트, 증거 링크, 검증 기록, 압축된 관찰값과 같은 내구성이 있는 작업 메모리를 보유하며, 매 단계마다 예산 범위 내의 슬라이스 (slice)만을 모델의 컨텍스트 (context)에 렌더링합니다. 이 모델은 8개의 검색 벤치마크에서 평균 0.730의 큐레이션 재현율 (curated recall)을 기록하며, 그다음으로 강력한 오픈 소스 검색 서브 에이전트 (search sub-agent)보다 11.4포인트 높은 성능을 보여줍니다.
상태를 외부화하는 것이 왜 중요한가요?
매 단계마다 전체 트랜스크립트 (transcript)를 컨텍스트에 다시 재생하는 검색 에이전트는 관찰이 늘어날 때마다 컨텍스트가 커지게 됩니다. 따라서 심층 검색을 수행하다 보면 결국 컨텍스트 윈도우 (context window)를 초과하게 되어, 증거가 충분하지 않음에도 길이 제한 때문에 검색이 중단됩니다. 상태를 외부화하면 축적된 증거를 하네스에 보관하고 고정된 크기의 슬라이스만 렌더링하므로, 검색 깊이에 관계없이 컨텍스트 비용이 일정하게 유지됩니다. 이를 통해 에이전트는 깊은 다중 홉 (multi-hop) 벤치마크 전반에 걸쳐 큐레이션을 지속할 수 있습니다.
단순히 길어지는 트랜스크립트와는 어떻게 다른가요?
길어지는 트랜스크립트 (growing transcript)는 전체 행동-관찰 이력 (action-and-observation history)을 연결하여 매 단계마다 다시 입력하므로, 그 크기가 단계 수에 따라 확장됩니다. 반면 Harness-1은 해당 이력을 구조화된 외부 작업 공간 (external workspace)에 저장하고, 해당 작업 공간에 대해 강화학습 (reinforcement learning)을 통해 정책 (policy)을 학습시킵니다. 이를 통해 모델은 명시적인 행동으로서 정보를 큐레이션, 검증 및 압축하는 법을 배우며, 모델이 읽는 컨텍스트 (context)는 가공되지 않은 무제한 로그가 아니라 작업 공간을 예산 범위 내에서 렌더링한 결과물이 됩니다.
원문은 Learn AI Visually에 게시되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기