프로덕션 규모 AutoResearch에서 드러난 다섯 실패 모드와 3원칙 보강 설계
AutoResearch at Production Scale: Failure Modes and a Multi-Agent Framework
무엇인가
안드레이 카파시의 AutoResearch는 LLM이 학습 스크립트를 반복적으로 고쳐 실행하고, held-out 스칼라 지표를 개선한 수정만 남기는 자율 연구 패러다임이다. 원래는 단일 GPU에서 5분이면 끝나는 언어모델링 실험이었지만, 프로덕션 ML은 세 축에서 그 가정을 깬다. 반복 하나가 수 시간의 멀티 GPU 연산을 태우고, 평가가 단일 스칼라가 아닌 서로 경쟁하는 여러 기준으로 이뤄지며, 캠페인이 수 주에 걸쳐 어떤 컨텍스트 윈도우보다 길어진다. 이 논문은 아마존 도서 추천 파이프라인 안에서 이 패러다임을 12주간 프로덕션 규모로 돌린 결과를 보고한다.
어떻게 동작하나
실험은 독립적으로 개발된 두 표현학습 시스템에서 이뤄졌다. System A는 활성 카탈로그의 98%(수천만 권)에 대해 128차원 구매 최적화 검색 임베딩을 학습하며, 멀티 GPU에서 반복당 9~19시간이 걸리고 에이전트가 학습 스크립트 전체를 다시 쓴다. System B는 RQ-VAE 잔차 양자화로 책의 계층적 Semantic ID를 학습하고, 단일 GPU에서 반복당 6~52분이 걸리며 에이전트는 하이퍼파라미터와 인코더 아키텍처만 건드린다. 두 시스템의 반복 비용 차이는 약 760배, 즉 거의 세 자릿수다. 캠페인 전체에 220회 이상의 실험(System A 60+회/6런, System B 150+회/15런)이 들어갔다.
무엇과 다른가
저자들이 관찰한 실패 모드는 다섯 가지다. 인프라 취약성은 평가 타임아웃, OOM, GPU 분산 버그, 에이전트 간 메시지 손상처럼 연산만 태우고 신호를 얻지 못하는 실패다. System A에서는 멀티 GPU 래퍼 버그로 7천만 건의 텍스트 인코딩이 GPU 한 장에서 10시간 넘게 돌았고, System B에서는 한 런의 30회 반복 중 11회가 600초 타임아웃으로 연속 실패했다. 에이전트 기억 감쇠는 이미 실패한 설정을 다시 시험하는 현상으로, program.md에 100 에폭은 과적합을 일으키니 재시험하지 말라고 적혀 있었는데도 최소 6번 재시험됐다. 탐색 방향 정체는 국소 최적점에서 노이즈 수준의 미세 조정을 반복하는 것이고, 반복 비용 비대칭은 15시간짜리 멀티 GPU 런과 30분짜리 절제 실험을 같은 무게로 다루는 것이다. 지표 고착은 주어진 지표를 의심 없이 최적화하는 것으로, System B에서 코드북 크기를 키우면 가중 일관성이 쉽게 올라가지만 계층이 사실상 쓸 수 없게 되는 문제로 나타났다.
어떻게 쓰나
대응은 prevent, persist, redirect 세 원칙과 이를 구현한 3-에이전트 확장이다. Researcher(claude-sonnet-4-6)가 코드를 생성하고, Code Fixer(claude-opus-4-6)가 실행 전 의미론적 게이트 역할을 한다. 구문 검증으로 잡히지 않는 GPU 미활용, 분산 학습 오설정, 메모리 누수를 한 번의 패스로 고쳐 쓴다. 첫 배포에서 잠재 버그 14개를 한 번에 잡았고, 8-GPU 작업을 단일 장치에서 10시간 이상 돌릴 뻔한 DDP 래퍼 버그도 여기서 걸렸다. Criticizer는 최근 5회 반복 동안 최고 Recall@6가 상대 8% 이상 개선되지 않을 때만 발동해 2~5문장의 전략 지시를 내리고, 다음 Keep에서 지시를 지운다. System A에서 가장 큰 효과를 낸 지시는 이 격차는 모델링 문제가 아니라 입력 표현 문제라는 한 줄이었고, 이후 3회 반복에서 5.48%에서 5.98%로 올라 결국 iter-12에서 6.90%에 도달했다. persist는 program.md를 런 간 영속 저장소로 옮겨 이전 작업의 발견을 새 학습 작업이 물려받게 하는 것이다.
전제와 한계
결과는 System A에서 손으로 튜닝한 베이스라인 3.79% Recall@6 대비 1.82배, 배포된 검색 베이스라인 2.82% 대비 2.45배다. 단일 평가일의 운을 배제하려고 11개 고객 구매 날짜에서 재평가했고, 평균 6.18%(±0.28pp)로 1.63배 상승이 유지됐다. System B는 손 튜닝 베이스라인 0.348에서 캠페인 최고 0.735로 2.1배 올랐다. 절제 증거도 제시된다. 설정 수준 AutoResearch는 3.73%(0.98배)로 베이스라인을 넘지 못했고, 단일 에이전트 코드 수준도 4.17%(1.10배)에서 멈췄으며, Reviewer/Fixer를 붙여 1.45배, Criticizer를 붙여 1.82배가 됐다. 별도의 성과로, 에이전트가 행동 co-purchase 그래프가 전체 아이템의 약 17%만 덮는다는 사실을 스스로 발견하고 텍스트만 쓰는 폴백(작은 MLP로 같은 128차원 공간에 투영)을 설계해 카탈로그 커버리지를 한 번의 반복으로 5.8배 확장했다. 저자들은 두 시스템을 합쳐 약 8 엔지니어-주를 절약했다고 추정한다.
실무적으로 중요한 건 비용 의존 원칙이다. 반복이 비싼 System A에서는 실행 전 게이트의 오버헤드가 정당화되지만, 반복이 저렴한 System B에서는 실행 후 자동 revert로 충분하다. System B는 한 런의 21회 반복 중 4회에서 OOM으로 revert가 발동했는데, 반복 비용이 달러 단위라 이 방식이 통한다. 반대로 System A에서 같은 접근은 비현실적이다. 저자들의 권고는 다섯 가지로 정리된다. 의미 있는 신호를 내는 가장 작은 자기완결 실험 루프를 찾고, 비용이 무시할 수 없는 반복에는 실행 전 의미 게이트를 붙이고, 발견을 첫날부터 런 간 영속 저장소에 남기고, 매 반복이 아니라 정체 시에만 발동하는 리다이렉션 신호를 두고, 지표 고착은 미해결 문제로 취급해 다지표 보고와 런 사이 인간 QA를 예산에 넣으라는 것이다.
저자들이 밝힌 한계는 세 가지다. 첫째, System A의 구성요소 절제는 관찰적이다. 캠페인 전환은 통제된 실험이 아니라 자연스러운 전환이었고, 누적된 반복 자체가 기여했을 가능성을 완전히 배제하지 못한다. 둘째, 두 시스템 모두 단일 조직의 단일 도메인(도서 추천)에서 돌았다. 다섯 실패 모드와 비용 의존 원칙이 다른 도메인으로 일반화되는지는 미검증이다. 셋째, Recall@6와 가중 일관성은 오프라인 프록시 지표이며 이 연구에서 실제 고객 결과와 검증되지 않았다. 온라인 A/B 파일럿이 진행 중이고 오프라인-온라인 변환이 다음 단계다. 미해결 문제로는 비용 인식 반복 계획, 병렬 탐색, 시스템 간 에이전트 통신, 그리고 가장 근본적인 지표 자기평가, 즉 에이전트가 지표 자체가 옳은지 의심하게 만드는 것이 남아 있다.