MILO: AI 에이전트의 실행 구조와 개선 전략을 함께 진화시키기
프롬프트뿐 아니라 도구 사용과 실행을 관리하는 구조를 여러 에이전트가 탐색하고 개선하도록 설계했습니다.
쉽게 말하면비유하자면 선수는 그대로 두고 여러 코치 팀이 작전판을 따로 고쳐 보며, 실패한 작전까지 적어 두고 막히면 코치진 운영 방식도 바꾸는 것이다. 이 연구는 AI 모델은 고정한 채, 모델을 굴리는 실행 틀(하네스)을 이렇게 자동으로 고쳤다.
- 왜 봐야 하나
- 같은 모델이라도 실행 틀을 바꾸면 해결률과 토큰 사용량이 달라진다는 점을 보여 준다. 다만 탐색에는 72시간 예산이 주어졌고 그 비용은 따로 든다. 특정 벤치마크와 모델 두 종에 한정된 결과다.
이 글은 AI 에이전트의 성능을 좌우하는 '하네스(harness)'라는 소프트웨어 계층을 자동으로 설계하는 문제를 다룬다. 하네스는 모델이 제안한 행동을 실행하고, 프롬프트·도구·제어 흐름을 관리하는 코드다. 기존에는 전문가가 수작업으로 하네스를 만들고 모델이 바뀔 때마다 다시 조정해야 했는데, 이는 조합 공간이 넓고 비용이 크다. 이 논문은 MILO라는 메타 진화 프레임워크를 제안한다. MILO는 하네스 자체와 탐색 전략을 함께 진화시키며, 실패한 후보까지 기억해 비효율적 경로를 가지치고, 여러 '섬(island)'이 서로 다른 설계를 병렬로 탐색한다. 실험 결과, 세 가지 장기 과제 벤치마크에서 기존 최고 성능 하네스와 탐색 방법을 능가했고, 일부 수학 난제에서는 기존 최선 상한을 갱신했다.
알아낸 것
- Opus 4.8 모델에서 초기 실행 틀보다 해결률이 세 시험(벤치마크)에서 각각 12.0, 28.3, 10.3퍼센트포인트 높아졌다. 기존 탐색 방법의 최고 개선 폭은 4.5, 18.3, 0퍼센트포인트였다.
- Terminal-Bench 2.1에서 86.1±2.0%를 기록해 공식 순위표 1위인 83.8±2.3%를 넘었다. 초기 실행 틀보다 토큰도 26% 덜 썼다.
- 찾아낸 실행 틀은 최소 산출물 먼저 만들기, 남은 시간 알려 주기, 별도 검증자 확인이라는 세 장치를 더했다. 더 어려운 Frontier-Bench에서도 추가 탐색 없이 Mini-SWE-Agent의 2.7배 점수를 냈다.
한계와 주의할 점
- 성능이 오른 것은 모델을 둘러싼 실행 틀을 바꿨기 때문이다. 모델은 그대로 두었으므로 모델이 더 똑똑해졌다고 읽으면 안 된다.
- 실험은 정해진 시험들과 두 모델(Opus 4.8, gpt-oss-120b)에서만 했다. 다른 과제나 모델에서도 같은 이득이 난다는 보장은 없다.
- 코드가 공개되지 않은 일부 기존 방법은 비교하지 못했다. 토큰 절감은 과제를 푸는 단계만 센 것이고, 실행 틀을 찾고 평가하는 데 든 비용은 따로다.
용어 풀이
- 하네스(harness)
- AI 모델이 제안한 행동을 실행하고 프롬프트·도구·컨텍스트·제어 흐름을 관리하는 소프트웨어 계층. 이 연구에서는 하네스의 소스 코드를 진화시켜 에이전트 성능을 개선한다.
- 진화 탐색(evolutionary search)
- 후보 해를 생성하고 평가하여 다음 세대를 안내하는 반복 최적화 방법. LLM이 변이자 역할을 하여 코드나 프롬프트를 수정한다.
- 계보 메모리(lineage memory)
- 각 후보 하네스의 부모-자식 관계와 편집 내용, 평가 결과를 트리 형태로 저장한 구조. 실패한 돌연변이까지 보존해 같은 실수를 반복하지 않게 한다.
- 섬(island)
- 서로 다른 초기 하네스에서 출발해 독립적으로 진화하는 하위 개체군. 섬 간 경쟁을 없애 다양성을 보존하고, 오케스트레이터가 필요할 때만 아이디어를 교환한다.
- 오케스트레이터(orchestrator)
- 탐색이 정체될 때 전체 탐색 구성을 진단하고 변이자 재배정, 계보 접목, 분화, 커리큘럼 수정 등을 수행하는 에이전트. 탐색 전략 자체를 진화시킨다.
- 해결률(RR@k)
- 각 과제를 k번씩 실행한 전체 시도 가운데 해결 기준을 충족한 시도의 비율이다. 한 번이라도 성공한 과제의 비율인 pass@k와 다르다. 일반적으로 점수 1을 완전 해결로 보지만, PaperBench에서는 점수 0.9 이상을 해결로 센다.
더 깊이 읽기 읽는 데 약 8분
배경과 문제
생성형 AI가 소프트웨어 공학을 바꾸면서, 코드 완성 도구에서 출발해 깃허브 이슈 해결이나 머신러닝 엔지니어링 같은 장기 과제를 자율 수행하는 'AI 에이전트'가 등장했다. 에이전트는 보통 대형 언어 모델(LLM)과 '하네스'라는 소프트웨어 계층으로 구성된다. 하네스는 모델이 제안한 행동을 실제 환경에서 실행하고, 프롬프트·도구·컨텍스트·메모리 같은 '스캐폴딩'과 제어 흐름을 관리한다. 예를 들어 하위 에이전트를 생성하거나, 도구 호출을 가로채고, 출력을 검증하고, 언제 멈출지 결정하는 일이 모두 하네스의 몫이다.
하네스 설계는 에이전트 성능에 모델만큼이나 큰 영향을 준다. 논문에 따르면 Terminal-Bench에서 GPT-5는 Terminus 2 하네스로 35.2%를 풀지만 Codex 하네스로는 49.6%를 풀고 토큰도 35% 덜 쓴다. 그런데도 하네스 공학은 여전히 '장인 수작업'에 가깝다. 전문가가 실패 사례를 살피고 휴리스틱을 조정하며 소수의 설계만 반복 시도한다. 하네스는 모델마다 도구 사용 방식, 오류 패턴, 프롬프트 민감도가 달라서 한 모델에 맞춘 하네스가 다른 모델에는 오히려 나쁠 수 있다. 따라서 모델이 업데이트될 때마다 재조정이 필요하고, 이 노력은 끝이 없다.
기존 접근의 한계
하네스 자동 발견(AHD)은 대개 LLM 기반 진화 탐색으로 구현된다. LLM이 후보 하네스를 제안하고, 평가자가 점수를 매기고, 그 결과가 다음 라운드를 안내하는 반복 구조다. 기존 방법은 크게 인스턴스 수준과 전략 수준으로 나뉜다. 인스턴스 수준은 단일 과제에 대한 해법을 초최적화하고, 전략 수준은 과제 분포 전반에 일반화되는 '해결사' 자체(즉 하네스)를 최적화한다. AHD는 전략 수준에 속한다.
기존 진화 탐색 방법은 하네스 발견에 적용할 때 네 가지 문제를 안고 있다. 첫째, LLM 기반 변이자는 탐색보다 활용에 치우쳐 같은 계열의 편집만 반복하고 다양성이 줄어든다. 둘째, 하네스 하나를 평가하는 데 몇 시간이 걸리므로 실패한 평가까지 활용해야 하는데, 대부분 방법은 실패를 버리고 생존자만 기억해 실패한 방향을 다시 시도한다. 셋째, 탐색 전략(부모 선택, 변이 방식, 후보 유지 기준)을 사전에 고정해 지역 최적점에서 빠져나오지 못한다. 넷째, 정확도만 최적화해 토큰 소비나 지연 시간이 큰 하네스로 표류한다.
연구방법을 단계별로
MILO는 하네스와 탐색 전략을 함께 진화시키는 메타 진화 프레임워크다. 핵심 구성 요소는 세 가지다. 첫째, '계층적 계보 메모리'는 모든 생성 하네스를 섬 단위 트리로 저장한다. 각 섬은 서로 다른 초기 하네스(시드)에서 출발해 독립적으로 진화하며, 거부된 돌연변이까지 부정적 증거로 보존해 유망하지 않은 경로를 가지치고 유망한 계보로 탐색을 유도한다. 둘째, '섬별 변이자 에이전트'는 전역 탐색 이력과 부모의 약점 피드백을 결합해 하네스 전체를 다시 작성한다. 셋째, '오케스트레이터 에이전트'는 진전이 멈추면 섬을 진단하고, 계보를 접목하거나 분화하고, 변이자를 재배정하고, 평가 과제 커리큘럼을 수정해 탐색 전략 자체를 바꾼다.
진화 루프는 다섯 단계로 진행된다. 먼저 각 섬의 허용 후보 집합에서 부모를 선택한다. 이때 지배 관계와 행동 유사성을 결합한 점수로 활용과 탐색을 균형 잡는다. 다음으로 섬의 변이자 에이전트가 부모의 실패 증거와 계보 스냅샷을 보고 하네스 소스 코드를 수정해 자식을 만든다. 자식은 탐색 과제에서 여러 번 실행되어 정확도·비용·실행 흔적을 기록하고, 다중 목적 파레토 기준으로 허용 여부가 결정된다. 허용된 하네스는 별도 검증 분할에서 재평가되어 과적합을 방지한다. 한 섬이 일정 라운드 동안 검증 정확도 향상이 없으면 오케스트레이터가 개입해 진단과 개입을 수행한다.
결과와 숫자의 의미
MILO는 Terminal-Bench 2.1, PaperBench, DeepSWE 세 벤치마크에서 기존 최고 성능 하네스 8종과 진화 탐색 방법 6종을 능가했다. Opus 4.8 모델을 쓸 때, 초기 하네스 대비 해결률(RR@k)이 각각 12.0, 28.3, 10.3퍼센트포인트 높아졌다. 반면 기존 탐색 방법 중 가장 좋은 해결률 개선 폭은 각각 4.5퍼센트포인트(GEPA), 18.3퍼센트포인트(Meta-Harness), 0퍼센트포인트(개선 없음)였다. Terminal-Bench 2.1에서는 86.1±2.0%를 기록해 공식 리더보드 1위(83.8±2.3%)를 넘었고, 초기 하네스보다 토큰을 26% 덜 썼다.
오픈 웨이트 모델 gpt-oss-120b에서는 DeepSWE 해결률이 15.6%로 초기 하네스의 20배에 달했고, 기존 탐색은 1% 미만에 머물렀다. MILO가 발견한 Terminal-Bench 2.1 하네스는 더 어려운 Frontier-Bench에서 추가 탐색 없이 Mini-SWE-Agent보다 2.7배 높은 점수를 얻어 재사용성을 입증했다. 수학 난제 벤치마크 EinsteinArena에서는 Erdős 최소 중첩 문제의 상한을 0.3808586에서 0.3808568로, 제1·제3 자기상관 부등식의 상한도 각각 1.50274365→1.50274360, 1.45081→1.44889로 낮췄다.
구체적인 예시
MILO가 Terminal-Bench 2.1에서 발견한 최고 하네스는 초기 시드의 계획 게이트를 삭제하고 세 가지 메커니즘을 추가했다. 첫째, '스캐폴드 플로어'는 첫 모델 호출 시 모든 필수 산출물의 최소 유효 버전을 먼저 만들도록 지시한다. 예를 들어 adaptive-rejection-sampler 과제는 파일이 존재하고 함수 이름만 있어도 부분 점수를 주는데, 기존 에이전트는 전체 알고리즘을 탐색하다 시간 초과로 아무것도 남기지 못해 0점을 받았다. 스캐폴드 플로어는 이런 경우 부분 점수를 확보한다.
둘째, '데드라인 거버너'는 컨테이너 시계를 읽어 남은 시간을 알려주고, 마감이 가까워지면 탐색을 멈추고 검증된 결과를 저장하도록 유도한다. 셋째, '독립 검증자 게이트'는 리드 에이전트가 스스로 성공을 선언하지 못하게 하고, 별도의 적대적 검증자 하위 에이전트가 처음부터 결과를 다시 도출해 반증을 시도한 후에만 종료를 허용한다. 다만 마감이 임박하면 검증을 강제하지 않아 시간 초과로 0점 받는 것을 피한다. 이 세 메커니즘은 모두 일반적인 검색·검증 장치로, 특정 과제에 대한 하드코딩이 없어 다른 벤치마크로 전이될 수 있었다.
한계와 오해하기 쉬운 점
MILO의 성능 향상은 하네스 재설계와 자기 적응 탐색에서 나온 것이지, 기반 모델을 재학습한 결과가 아니다. 논문은 모델을 고정한 채 하네스만 바꿔 정확도와 비용을 개선했다고 명시한다. 따라서 '모델이 더 똑똑해졌다'고 해석하면 안 된다. 또한 실험은 특정 벤치마크와 모델(Opus 4.8, gpt-oss-120b)에 한정되며, 모든 과제 분포나 모델에 동일한 이득이 보장되지는 않는다.
탐색에는 72시간이라는 벽시계 예산이 주어졌고, 각 변이·오케스트레이션 호출은 45분으로 제한되었다. 이는 실용적이지만, 더 긴 탐색이나 다른 하이퍼파라미터에서 결과가 달라질 수 있다. 논문은 Self-Harness, DarwinX, AIDE2 같은 일부 기존 방법을 코드가 공개되지 않아 평가하지 못했다고 밝혔다. 따라서 '모든 기존 방법을 이겼다'는 주장은 평가 가능했던 방법에 한정된다. 또한 EinsteinArena의 기록은 특정 시점의 리더보드 기준이며, 이후 다른 시스템이 더 나은 값을 찾을 수 있다.
실제로 어떻게 활용할까
MILO는 모델에 구애받지 않고 하네스 소스 코드만 편집하고 점수를 매기므로, 다양한 에이전트 프레임워크와 과제 분포에 적용할 수 있다. 논문은 YAML 설정 기반 에이전트, 도구·스킬 저장소, OpenHands SDK나 Mini-SWE-Agent 같은 다른 프레임워크에도 적용 가능하다고 설명한다. 실제 배포에서는 주어진 에이전트와 과제 분포에 대해 MILO를 실행해 더 나은 하네스를 자동 발견하고, 그 하네스를 재사용할 수 있다.
비용 관점에서도 의미가 있다. Terminal-Bench 2.1에서 MILO 하네스는 초기 하네스보다 토큰을 26% 덜 쓰면서 해결률을 높였다. 이는 고정된 모델에서 하네스를 바꾸면 추론 토큰을 줄이면서 해결률을 높일 수 있음을 보여준다. 다만 하네스 탐색과 평가 비용은 별도이며, 모델 재학습과의 총 계산 비용을 직접 비교한 실험은 아니다. 다만 실제 적용 시에는 탐색 예산(라운드 수, 시간 제한)과 평가 비용을 고려해야 하며, 검증 분할을 통해 과적합을 방지하는 절차를 따라야 한다.
원문에서 확인한 근거 5곳
- MILO는 Opus 4.8 모델에서 Terminal-Bench 2.1, PaperBench, DeepSWE의 해결률을 초기 하네스 대비 각각 12.0, 28.3, 10.3퍼센트포인트 높였다.Abstract
- Terminal-Bench 2.1에서 MILO는 86.1±2.0%를 기록해 공식 리더보드 1위(83.8±2.3%)를 넘었고, 초기 하네스보다 토큰을 26% 덜 썼다.Abstract
- MILO가 발견한 Terminal-Bench 2.1 하네스는 더 어려운 Frontier-Bench에서 추가 탐색 없이 Mini-SWE-Agent보다 2.7배 높은 점수를 얻었다.Contributions
- EinsteinArena에서 MILO는 Erdős 최소 중첩 문제의 상한을 0.3808586에서 0.3808568로, 제1·제3 자기상관 부등식의 상한도 각각 1.50274365→1.50274360, 1.45081→1.44889로 낮췄다.Abstract
- MILO의 최고 Terminal-Bench 2.1 하네스는 스캐폴드 플로어, 데드라인 거버너, 독립 검증자 게이트를 추가했으며, 특정 과제에 대한 하드코딩이 없어 다른 벤치마크로 전이될 수 있었다.D.2 Best Harness Evolved byMILO
10월 2일(금) 정리 · AI가 쓰고 원문과 대조
AI 목록