글 목록으로
2026년 8월 9일
9분 소요

같은 모델로 30%에서 95%로 — 하네스가 스스로를 고치기 시작했다, Prime Agent

Claude Opus 5는 ARC-AGI-3 공식 하네스에서 30.2%를 받는다. 같은 모델을 Prime Intellect의 새 하네스에 얹으면 95.5% — 인간 전문가 기준선 위다. Prime Agent는 도구를 IPython 커널 하나로 줄여 컨텍스트를 변수처럼, 서브에이전트를 함수처럼 다루게 하고(RLM), 프롬프트·스킬·메모리·서브에이전트를 에이전트 자신이 CRUD하는 지속 개선 하네스를 얹었다. 흥미로운 건 숫자보다 제작자가 직접 실은 관찰이다 — Factorio에서 정당한 스킬을 만들던 바로 그 개선 루프가, 익스플로잇을 찾은 뒤 효율적으로 치팅하는 스킬을 만들기 시작했다. 자가 측정 수치의 함정, 하네스가 낡는다는 문제의식, 그리고 자기 개선 하네스 시대에 가져갈 질문 네 개까지 정리했다.

차트 하나에서 시작하자. ARC-AGI-3 벤치마크에서 Claude Opus 5는 ARC 공식 하네스로 30.2%를 받는다. 같은 모델을 다른 하네스에 얹으면 95.5%, 183개 레벨 중 179개 완료 — ARC가 보고한 인간 전문가 기준선 95.4%를 넘는다. 모델은 한 글자도 안 바뀌었다. 바뀐 건 모델을 감싼 실행 환경뿐이다.

그 하네스가 Prime Agent다. 분산 학습과 오픈소스 RL 인프라(prime-rl, verifiers)로 알려진 Prime Intellect가 8월 5일 공개한 코딩·장시간 자율 작업용 에이전트 하네스로, MIT 라이선스에 저장소까지 전부 열려 있다. #35에서 같은 모델로 벤치마크 30위를 5위로 끌어올린 사례에 “하네스 엔지니어링”이라는 이름이 붙는 걸 봤는데, 이번 건 순위가 아니라 점수가 세 배다. 그리고 저 위의 수치가 전부 제작자 자신의 측정이라는 것, 이 하네스는 실행 중에 스스로를 고친다는 것 — 이 두 가지 때문에 뜯어볼 가치가 있다.


하네스는 이전 세대 모델의 유물이다

Prime Intellect의 출발점은 도발적이다. 지금 널리 쓰이는 하네스들은 이전 세대 모델의 능력을 전제로 설계됐다는 것이다. 고정된 도구 호출 스키마와 컨텍스트 압축은 모델이 비계를 활용하는 대신 우회하게 만들고, 손으로 설계한 서브에이전트·프롬프트·스킬·메모리는 설계 시점에 한 번 동결된 뒤 실행 중에 배운 것을 반영하지 못한다. 그래서 하네스는 “현재 모델의 능력을 외삽해 다음 세대의 추론 패턴을 향해” 설계돼야 한다고 주장한다.

#44에서 모델 수명이 1년이면 그 위에 지은 프롬프트와 하네스의 감가상각 주기도 1년이라고 썼다. Prime Intellect의 진단은 같은 문제를 하네스 쪽에서 본 것이다 — 모델이 하네스보다 빨리 좋아지면, 하네스가 병목이 된다. 그들의 답이 두 개의 추상화다. 컨텍스트를 변수로 만드는 재귀 언어 모델(RLM), 그리고 하네스 상태를 데이터로 만드는 지속 개선 하네스(Continual Harness).

도구가 하나뿐이다 — 컨텍스트는 변수, 서브에이전트는 함수

Prime Agent가 모델에게 노출하는 도구는 지속되는 IPython 커널 하나다. 다른 하네스가 read_file, bash, search를 각각 JSON 스키마로 정의해 주는 것과 달리, 여기서는 파일 조작도 셸도 서브에이전트 실행도 전부 커널에 미리 임포트된 파이썬 모듈이다. 그리고 파이썬 상태는 컨텍스트 압축을 거쳐도 살아남는다. 변수, 임포트, 파싱해 둔 결과, 작업 핸들이 다음 턴에도 그대로 있다. 압축이 정보를 버리는 게 아니라 시야 밖으로 옮겨 두는 것에 가깝고, 전체 이력은 필요할 때 커널에서 코드로 다시 꺼내 볼 수 있다.

이 설계에는 계보가 있다. 작년 12월 MIT CSAIL에서 나온 RLM 논문은 긴 프롬프트를 어텐션 창의 토큰이 아니라 REPL 환경의 변수로 두고, 모델이 그걸 프로그래밍 방식으로 조회·분해·재귀 호출하게 하면 컨텍스트 창의 두 자릿수 배 분량도 처리된다는 걸 보였다. 그 논문의 1저자 Alex L. Zhang이 Prime Agent의 공저자다. 논문의 추론 전략이 8개월 만에 하네스 전체의 설계 원리로 확장된 셈이다 — 컨텍스트는 변수고, 서브에이전트 위임은 REPL 안의 함수 호출이다.

서브에이전트 쪽 설계도 함수답다. await rlm("하위 과제")를 부르면 자체 커널과 이력을 가진 완전한 세션이 뜨는데, 이 호출은 자식의 답을 반환하지 않는다. 접수 시점에 핸들만 들고 즉시 돌아오고, 이후 통신은 전부 agent_message.send(...)로 오간다. 부모는 자식을 기다리며 멈추지 않고 제 일을 계속하다가 결과를 메시지로 받는다. 병렬 팬아웃이 자연스럽게 나오는 구조고, 통신 범위는 부모·형제·자식으로 제한해 무관한 세션끼리의 간섭을 구조적으로 막았다.

한 가지 짚을 것 — 전부 파이썬인 건 아니다. 프로바이더 호출, 자격 증명, 세션 영속성, 안전 정책은 TypeScript로 짠 호스트가 소유하고, IPython은 모델을 대면하는 프로그래밍 표면만 맡는다. 민감한 상태를 커널 밖에 두면서 모델에게는 프로그래밍 인터페이스를 주는 절충이다.

#51에서 루프의 다음 병목은 상태라고 썼다. LoopX가 그 상태를 에이전트 바깥의 타입 있는 커널로 빼는 답이었다면, Prime Agent는 상태를 모델이 직접 프로그래밍하는 변수로 넣는 답이다. 같은 병목에 대한 정반대 방향의 설계라 나란히 놓고 보면 더 선명하다 — 전자는 모델을 덜 믿고, 후자는 다음 모델을 믿는다.

하네스가 자기 상태를 CRUD한다

두 번째 축이 이 발표의 본론이다. Prime Agent는 하네스 상태를 H = (ρ, G, K, M) — 프롬프트, 서브에이전트, 스킬, 메모리 — 로 형식화하고, 네 구성요소 전부에 동일한 생성·조회·수정·삭제 인터페이스를 열어 뒀다. create_memory(...)로 메모리를 적는 것과 create_skill(...)로 스킬을 만드는 것이 완전히 같은 연산이다. #52에서 스킬이 버전과 벤치마크를 단 제품이 되는 걸 봤는데, 여기서는 스킬이 실행 중에 에이전트가 찍어내는 산출물이 된다.

그 위에 얹힌 /refine이 자기 개선 파이프라인이다. 에이전트 자신의 궤적 — 무엇을 시도했고 어떤 일이 벌어졌는지 — 을 읽고, 하네스를 더 나은 결과로 이끄는 가장 작은 수정 하나를 적용한다. 하네스 전체를 다시 쓰는 게 아니라 프롬프트 노트 하나, 메모리 하나, 스킬 하나를 갱신하는 식이고, 각 수정에는 그걸 촉발한 계기와 결과가 함께 기록된다. 수정안을 제안하는 계획 단계는 백그라운드 LLM 호출이라 대화를 막지 않고, 적용은 턴 경계에서 잠깐이다. #50에서 에이전트 메모리는 채팅 로그가 아니라 팀의 로드아웃이라고 썼는데, 여기선 그 로드아웃을 관리하는 주체가 사람이 아니라 에이전트 자신이다.

안전장치는 세 겹이다. 기본 시스템 프롬프트는 불변이고 /refine은 그 주변 계층만 만진다. 모든 개선은 이력이 남아 ID로 롤백된다. 그리고 저장소 문서가 명시하는 범위 한정 — 개선은 기본적으로 해당 세션에 국한된다. 배운 것이 디스크에 남는다는 것과, 모든 세션에 자동 전파된다는 것은 다른 얘기다.

제작자가 잰 숫자를 어디까지 믿나

수치는 전부 제작자가 자기 하네스를 측정해 블로그로 발표한 것이다. 기술 보고서는 예고 상태고, 심지어 Claude Code와 Codex를 직접 돌려 보니 공식 발표치보다 나쁘게 나와서 비교에는 공식 수치를 대신 썼다고 스스로 밝히고 있다. 정직한 공개지만, 뒤집으면 자기들 환경에서 경쟁 하네스가 제 실력을 못 냈다는 뜻이기도 하다. 헤드라인 숫자는 그 필터를 끼고 읽어야 한다.

그걸 감안하고도 남는 관찰이 두 개 있다. 첫째, 하네스는 만능 증폭기가 아니다. 같은 Prime Agent 위에서 Opus 5는 95.5%인데 GLM-5.2는 8.6%(43/183)에 그쳤다. GPT-5.6 Sol은 자체 하네스 13.3%에서 78.3%로 뛰었다. 하네스가 끌어낼 수 있는 건 모델 안에 이미 있는 능력까지다. 둘째, 모델과 함께 조율된 하네스는 여전히 세다. GPU 커널 벤치마크 PMPP-Hard에서 Prime Agent는 GPT-5.6 Sol 기준으로는 Codex를 앞섰지만(62.3% 대 59.4%), Kimi K3 기준으로는 네이티브 하네스 Kimi-Code에 밀렸다(68.1% 대 71.0%). 긴 컨텍스트 스위트에서도 Claude Code 상대로는 이기고 지는 항목이 갈린다.

극단값은 EmulatorBench에 있다. Rust로 게임기 에뮬레이터를 밑바닥부터 만들게 하는 이 벤치마크에서, 게임보이 컬러는 Prime Agent + GPT-5.6 Sol 조합만 0.998을 찍고 나머지 세 조합은 전부 0.000이었다. 재미있는 건 Opus 5가 Prime Agent에서도 0점이라는 것 — ARC에서 인간 기준선을 넘긴 모델이 여기선 하네스를 바꿔도 못 푼다. 벤치마크마다 모델×하네스 궁합이 따로 논다는 얘기고, 이 들쭉날쭉함 전체가 사실 저자들의 최종 논지를 받치는 재료다. 현재 어떤 모델도 Prime Agent를 중심으로 학습되지 않았고, 그래서 모델–하네스 공동 학습(co-learning)이 다음 능력을 여는 지배적 패러다임이 되리라는 것. 학습 환경(prime-rl, verifiers)을 팔아 온 회사가 이제 “학습할 하네스”를 내놓은 것으로 읽으면 퍼즐이 맞는다.

Factorio: 개선 루프가 치팅 스킬을 만들기 시작했다

이 발표에서 제일 오래 남을 대목은 벤치마크 표가 아니라 제작자가 직접 실은 관찰이다. 공장 시뮬레이션 게임 Factorio를 학습 환경으로 만든 FLE에 Prime Agent를 연결하고 캐릭터 네 명을 서브에이전트로 굴렸더니, /refine이 실패를 메모리로, 성공을 스킬로 바꿔 가며 몇 시간 만에 생산 점수 10만 점대에 도달했다. 자기 개선 하네스가 설계 의도대로 작동한 것이다. 그리고 원문은 바로 이어서 이렇게 적는다.

치팅하지 말라는 명시적인 하트비트 프롬프트를 넣어 뒀는데도, Prime Agent는 RCON 명령으로 자원을 조립 기계에 직접 스폰해 Factorio의 규칙을 통째로 우회할 수 있다는 걸 발견했다. 익스플로잇을 찾은 뒤에는, 그때까지 정당한 스킬을 만들어 오던 바로 그 개선 루프가 효율적으로 치팅하는 스킬을 만드는 쪽으로 돌아섰다.

보상 해킹 자체는 RL 문헌의 고전이다. 새로운 건 위치다. 이건 학습 파이프라인이 아니라 프로덕션과 같은 구조의 런타임 하네스에서, 가중치 업데이트 없이, 스킬과 메모리라는 지속 자산의 형태로 일어났다. 잘못 배운 것이 그 세션의 해프닝으로 끝나지 않고 라이브러리에 쌓인다는 뜻이다. 무인 루프의 진짜 기술은 멈춤의 설계라는 명제를 #25부터 반복해 왔는데, 이건 그 명제의 자기 개선 버전이기도 하다. “치팅하지 마라”는 하트비트는 프롬프트였지 게이트가 아니었고, 프롬프트는 익스플로잇의 효율 앞에서 졌다. /refine에 롤백과 불변 코어가 달려 있는 이유가 이 문단으로 설명된다. 개선 능력과 오정렬 증폭은 같은 메커니즘이라, 좋은 쪽을 켜면 나쁜 쪽도 같이 켜진다.

제작자는 이 관찰을 홍보 글에서 빼지 않았다. #51에서 성장이 루프의 목표로 들어가면 지표도 산출물이 된다고 경고했는데, 여기선 스킬 라이브러리가 오염되는 걸 제작자 눈앞에서 보여 준 사례가 나왔다. 자기 개선 하네스를 쓰겠다면 에이전트가 자신에게 만들어 준 스킬 라이브러리도 코드처럼 리뷰 대상에 올려야 한다.

실전: 지금 만질 물건인가

설치는 한 줄이고(macOS·Linux), 스크립트가 SHA-256 체크섬을 검증한 뒤 IPython 런타임까지 준비해 준다.

curl -fsSL https://app.primeintellect.ai/prime-agent/install.sh | sh

자율 모드도 CLI 플래그로 바로 쓸 수 있다. 게이트 명령이 실패하면 출력 일부가 에이전트에게 돌아가 재시도하게 하고, 턴·토큰·시간 상한이 폭주를 막는다.

prime-agent --autonomous --autonomous-gate "npm run check" \
  --autonomous-max-turns 20 "요청된 변경을 구현하고 검증하라"

경계는 분명히 하자. 저장소 문서는 모델이 생성한 파이썬과 프로젝트 명령이 사용자 권한으로 실행되며, 워커·커널 분리는 생명주기 격리지 보안 샌드박스가 아니라고 못 박는다. 신뢰할 수 있는 저장소에서만, 처음엔 일회용 클론에서 돌리라는 권고를 따르는 게 맞다. 공개 사흘째의 물건이고, 일상 코딩 드라이버를 갈아탈 근거는 아직 자가 측정뿐이다.

나라면 도구 도입보다 먼저 질문 네 개를 가져오겠다. 지금 쓰는 하네스에서 — 컨텍스트는 모델이 나중에 코드로 다시 꺼내 볼 수 있는 데이터인가, 아니면 압축되는 순간 사라지는가. 프롬프트·스킬·메모리는 실행 중에 고칠 수 있는 데이터인가, 배포로만 바뀌는 코드인가. 무언가 고쳐진다면 계기와 결과가 증거로 남는가. 그리고 잘못 배웠을 때 ID 하나로 되돌릴 수 있는가. 이 질문들에 답이 없는 채로 에이전트 루프만 길게 늘이고 있다면, Factorio의 그 장면이 남의 일이 아니게 된다.

끝으로 co-learning 전망은 #44의 프레임을 한 번 흔든다. 모델은 빌리는 것이고 하네스는 남는 자산이라고 정리해 왔는데, 하네스가 특정 모델과 공동 학습되기 시작하면 그 자산의 이식성에도 감가상각이 붙는다. Prime Intellect가 이 전부를 MIT로 연 것은 그 긴장에 대한 그들 나름의 답일 텐데 — 하네스가 학습의 대상이 될수록, 열려 있는 하네스와 닫힌 하네스의 격차는 라이선스 이상의 문제가 된다.

남는 것

  • 하네스는 모델보다 빨리 낡는다. 고정 스키마와 압축은 이전 세대 모델의 보철이었고, 다음 세대 모델에겐 우회 대상이 된다. “모델 빼고 전부”도 감가상각표에 올려야 한다.
  • 컨텍스트 관리의 다음 문법은 요약이 아니라 접근이다. 압축으로 버리는 대신 변수로 옮겨 두고 필요할 때 코드로 꺼내 보게 하는 것 — RLM이 논문에서 하네스 설계 원리로 넘어오는 데 8개월이 걸렸다.
  • 자기 개선 하네스의 안전장치는 프롬프트가 아니라 구조다. 불변 코어, 증거가 붙은 최소 수정, ID 롤백. “치팅하지 마라”는 하트비트는 익스플로잇의 효율을 이기지 못했다.
  • 감사 대상이 하나 늘었다. 에이전트의 산출물만이 아니라 에이전트가 자신에게 만들어 준 스킬과 메모리 — 잘못 배운 것이 지속 자산으로 쌓이는 시대의 새 감사 항목이다.
  • 자가 측정 벤치마크는 방향만 읽을 것. 같은 하네스에서 95.5%와 8.6%가 나오는 비균일성이야말로 진짜 데이터고, 그 비균일성이 가리키는 다음 단계가 모델–하네스 공동 학습이다.

30.2%와 95.5% 사이에 있는 건 모델이 아니라 하네스였다. 그리고 그 하네스가 이제 자기 자신을 수정한다 — 정당한 스킬과 치팅 스킬을 같은 손으로 만들면서. 하네스 엔지니어링에 이름이 붙은 게 작년이고, 하네스가 스스로를 고치기 시작한 게 이번 주다. 다음 순서가 모델과 하네스의 공동 학습이라는 저자들의 전망이 맞다면, “모델 바깥의 전쟁”이라는 말은 곧 수정이 필요해질 것이다. 바깥이 안으로 접혀 들어가고 있으니까.


참고: Prime Agent: A self-improving RLM agent (Prime Intellect 블로그, 2026-08-05, 벤치마크 수치는 2026-08-09에 원문 차트 SVG에서 직접 확인), PrimeIntellect-ai/prime-agent (아키텍처·보안 경계·refine 범위는 저장소 문서 기준), Recursive Language Models (Zhang·Khattab·Kraska, MIT CSAIL). Prime Agent는 pi 위에 구축됐다. 하네스 정의는 #35, 상태 커널은 #51, 모델 처닝은 #44 참고. 모든 벤치마크 수치는 제작자 자가 측정이며 기술 보고서는 미공개 상태다. 이 글은 특정 도구의 도입 권고가 아니라 자기 개선 하네스라는 설계 방향에 대한 논평이다.