AIDE²: 재귀적 자기개선(RSI)의 첫 실증 사례 — Weco AI
하네스(harness) 엔지니어링이 무르익기도 전에 루프(loop) 엔지니어링이 대세가 될 모양입니다. 굳이 사람이 하네스를 다듬을 필요없는 이중 루프 구조의 재귀적 자기 개선 에이전트가 등장했습니다.
https://www.facebook.com/share/p/196CCnrHFe/
관련 기술 블로그 : https://www.weco.ai/blog/first-evidence-of-recursive-self-improvement
들어가며
2026년 7월 14일, ML 엔지니어링 에이전트 개발사 Weco AI가 “AIDE²: The First Evidence of Recursive Self-Improvement”라는 제목의 기술 블로그 글을 공개했다. 요지는 단순하다. 사람이 2년 동안 손으로 다듬어온 자율 연구 에이전트의 하네스(harness, 모델을 실제로 작동시키는 스캐폴딩 구조)를, AI 에이전트 스스로가 8일 만에 더 나은 버전으로 재설계했다는 것이다. 그것도 사람의 개입 없이, 100번의 반복 끝에 일곱 차례의 유의미한 개선을 스스로 이뤄냈다.
이 결과가 흥미로운 이유는 단순히 “AI가 코드를 잘 짰다”는 이야기가 아니기 때문이다. Weco는 이 실험을 재귀적 자기개선, 즉 RSI(Recursive Self-Improvement)라는 틀 안에 놓고, 그 안에서도 어느 수준에 도달했는지를 스스로 정한 4단계 등급 체계로 채점했다. 그리고 자신들의 결과가 그중 두 번째 단계인 “순이익(Net Positive)” 단계에 도달했다고 주장한다. 이 글에서는 원문의 논리 구조를 따라가면서, 이 실험이 정확히 무엇을 했고 무엇을 증명했으며 무엇을 증명하지 못했는지를 최대한 상세하게 풀어본다.
참고로 이 연구는 아직 정식 기술 보고서(PDF)가 공개되기 전 단계의 블로그 포스트이며, 최고 성능 에이전트인 AIDE85의 코드 자체도 아직 공개되지 않았다. Weco 측은 남은 분석이 끝나는 대로 전체 프로토콜과 분석을 담은 PDF 보고서, 그리고 AIDE85의 공개를 예고했다.
1. Weco AI와 AIDE는 어떤 회사, 어떤 도구인가
이 실험을 이해하려면 먼저 Weco AI가 무엇을 만들어온 회사인지 알아야 한다. Weco AI는 “재귀적으로 자기개선하는 AI”를 표방하는 연구 겸 제품 스타트업으로, 대표 산출물인 AIDE는 코드베이스와 평가 지표, 그리고 이를 실행하는 명령어만 주어지면 그 지표를 최대화하는 방향으로 코드를 반복적으로 재작성하는 자율 연구 에이전트다. AIDE는 OpenAI가 만든 실제 캐글(Kaggle) 대회 기반 벤치마크인 MLE-Bench에서 o1-preview 모델과 결합해 상위권 성적(메달 획득률 약 16.9%, 당시 2위 스캐폴딩의 약 4배)을 기록하며 자율 ML 엔지니어링 분야의 사실상 표준 도구로 자리잡았다. Weco는 골든벤처스(Golden Ventures) 주도로 800만 달러 규모의 시드 투자를 유치했으며, 오픈소스로 공개된 AIDE 코드베이스(aideml)는 자율 R&D 커뮤니티에서 널리 채택되어왔다.
이번 AIDE² 실험에서 등장하는 “AIDEhuman”은 바로 이 AIDE를 Weco 연구진이 2년에 걸쳐 손으로 개선해온 결과물이며, Weco의 상용 플랫폼 로직 대부분과 공유되는 사실상의 프로덕션 버전이다. 이번 실험의 핵심은 이 AIDEhuman을 사람이 아니라 AI 에이전트가 대신 개선하도록 맡겼을 때, 그 결과가 2년치 인간 노력을 능가할 수 있는지를 검증하는 것이었다.
2. 재귀적 자기개선(RSI)이란 무엇이고, 왜 등급을 나누는가
Weco는 이번 실험을 발표하기 나흘 전인 7월 10일, “4 Levels of Recursive Self-Improvement”라는 별도의 글을 통해 RSI를 측정하는 자체 기준을 먼저 제시했다. 이 프레임워크를 먼저 이해해야 AIDE² 결과의 의미가 명확해진다.
2.1 R&D는 왜 갈수록 어려워지는가
모든 기술 R&D는 공통적으로 수확체감의 법칙을 따른다. 누적 투자가 커질수록 추가로 투입하는 노력 한 단위가 벌어들이는 성과는 줄어든다. Weco는 반도체 산업(인텔의 SEC 공시 자료)과 LLM 사전학습(Epoch AI의 분석)이라는 두 개의 실제 산업 데이터를 근거로 들며, 누적 R&D 투자가 두 배가 될 때마다 연구 생산성이 대략 3분의 1가량 떨어진다는 경험칙을 제시한다. 무어의 법칙이 그동안 일정한 속도를 유지할 수 있었던 것도, 그 이면에서 투자 규모 자체가 지수적으로 늘어나며 이 수확체감을 상쇄해왔기 때문이라는 설명이다.
2.2 RSI는 이 구조를 깨는 시도다
RSI의 핵심 발상은, R&D를 수행하는 주체 자체를 그 R&D 결과로 개선할 수 있다면, 이 되먹임(feedback)이 수확체감보다 더 빠르게 작동할 수 있다는 것이다. 만약 그렇게 된다면 지능 폭발(intelligence explosion)의 영역에 들어선다. Weco는 이런 자기개선 되먹임 자체는 인류 역사에서도 늘 있어왔다고 지적한다. 교육, 방법론, 도구는 언제나 다음 세대 연구자에게 되먹임되어 왔다. 다만 그 속도가 문제가 어려워지는 속도를 따라잡을 만큼 빠른 적이 없었다는 것이다. 사람의 학습은 세대 단위의 느린 시간축 위에서, 생물학적 두뇌라는 고정된 기질 위에서, 손실이 큰 형태로만 다음 사람에게 전달된다. RSI가 노리는 것은 이 동일한 되먹임 구조를, 기계의 시간 척도 위에서, 편집 가능한 기질 위에서, 손실 없는 복제로 돌리는 것이다.
2.3 네 단계의 사다리
Weco는 RSI를 이분법(된다/안 된다)으로 보지 않고, 지능 폭발에 얼마나 가까운지를 기준으로 네 단계로 나눈다. 각 단계는 다음 단계의 필요조건이며, 모든 단계는 동일한 기준선, 즉 “Level 0 이하의 AI 도구를 쓰는 사람이 같은 시스템을 직접 개선했을 때”와 비교해서 판정된다.
flowchart LR
L0["Level 0<br/>위임 Delegation<br/>자율 루프가 돌아가지만<br/>사람보다 느리게 개선"] --> L1["Level 1<br/>순이익 Net Positive<br/>사람보다 효율적으로 자기개선<br/>(이번 AIDE² 결과)"]
L1 --> L2["Level 2<br/>점화 Ignition<br/>개선자 스스로를<br/>더 나은 개선자로 발전시킴"]
L2 --> L3["Level 3<br/>변곡점 Inflection<br/>고정 예산에서도<br/>세대를 거듭할수록 가속"]
style L1 fill:#ffe3ec,stroke:#e91e63,stroke-width:2px
Level 0(위임) 은 연구 루프 전체를 자율 시스템에 맡기되, 그 시스템이 사람이 직접 개선하는 것보다 느리게 시스템을 개선하는 단계다. Weco는 현재 자기개선을 주장하는 사례 대부분이 이 단계에 머물러 있다고 본다.
Level 1(순이익) 은 자율 시스템이 같은 시스템을 사람이 손으로 개선하는 것보다 더 효율적으로 자신을 개선하는 단계다. Weco는 이를 측정하기 위해 네 가지 조건을 내걸었다. 공정한 인간 기준선(비교 대상이 되는 사람도 문헌 조사나 일반적인 AI 도움은 쓸 수 있지만, 최종적으로 개선 루프를 닫는 주체는 사람이어야 한다), 지속성(한 번의 우연한 도약이 아니라 여러 단계에 걸친 일관된 추세여야 한다), 일반성(자기개선에 사용한 측정 지표 X만이 아니라 실제 유용성이나 다른 벤치마크 계열 Y로도 그 개선이 옮겨가야 한다), 고정 예산(같은 물리적 비용 예산 안에서 성과를 비교해야 하며, 단순히 돈을 더 써서 얻은 성과가 아니라 진짜 알고리즘적 개선이어야 한다)이다.
Level 2(점화) 는 한 단계 더 나아가, 시스템이 자기 자신을 개선하는 데서 그치지 않고 “자신을 개선하는 능력 자체”를 개선하는 단계다. v1이 자신을 개선해 v2를 만들었다면, 이번에는 v2가 다시 개선자의 자리에 앉아 v3를 만들었을 때, 그 v3가 v1이 만들었을 v3보다 더 나아야 한다는 뜻이다. 이는 RSI 되먹임 고리가 실제로 “복리로” 작동하는지를 확인하는 조건이다.
Level 3(변곡점) 는 이 복리 효과가 수확체감의 속도를 실제로 앞지르는 단계다. 고정된 노력을 투입해도 세대를 거듭할수록 얻는 성과가 줄어들지 않고 오히려 커지는 상태로, Weco가 드는 비유를 빌리면, 땅을 팔수록 광물을 캐기가 어려워지는데(수확체감), 점화 단계는 파낼수록 더 좋은 광물이 나오고 그 광물로 더 좋은 채굴기를 만드는 단계이며, 변곡점은 그 되먹임이 채굴 난이도 상승을 완전히 앞질러 같은 노력으로도 채굴 속도가 계속 빨라지는 단계다.
Weco는 지금까지 세상에 알려진 자기개선 시스템, 예컨대 Darwin Gödel Machine, Huxley-Gödel Machine, HyperAgents 같은 사례들은 개념 증명 수준(대체로 Level 0)에 머물러 있었을 것으로 추정하면서도, 구글 딥마인드의 AlphaEvolve처럼 특정 하위 문제(예: 행렬 곱 커널 최적화)에서는 이미 Level 1에 준하는 사례가 있었을 수 있다고 언급한다. 다만 그런 사례들은 최적화 대상의 범위가 좁아 사다리의 상위 단계까지 오르기는 구조적으로 어렵다는 것이 Weco의 진단이다. 이번 AIDE² 실험은 훨씬 더 넓은 범위(하네스 엔지니어링 자체)를 대상으로 삼아 Level 1을 공식적으로 검증하려는 시도였다.
3. AIDE²의 구조: 두 개의 루프가 맞물리는 시스템
3.1 왜 “이중 루프”인가
AIDE² 실험의 설계는 이렇게 요약할 수 있다. “오토리서치(autoresearch, 코드와 평가 지표가 주어지면 그 지표를 향해 코드를 반복 개선하는 자율 에이전트)를 오토리서치 자신에게 돌린다.” 이를 위해 서로 다른 두 개의 층위에서 각각 다른 에이전트가 작동하는 이중 루프 구조를 만들었다.
- 외부 루프(Outer Loop): Weco가 2년간 손으로 다듬어온 AIDEhuman이 담당한다. 이 루프가 하는 일은, 내부 루프에서 쓰일 에이전트의 코드 자체를 재작성하는 것이다.
- 내부 루프(Inner Loop): 외부 루프가 제안한 새 버전의 에이전트가, 일반적인 오토리서치 에이전트와 똑같이 실제 과제(코드를 짜고 평가 지표를 향해 반복 개선)를 수행한다.
즉 외부 루프의 “코드”는 내부 루프 에이전트의 소스코드 그 자체이고, 외부 루프의 “평가 지표”는 그 내부 루프 에이전트가 여러 과제에서 얼마나 좋은 성과를 내는지가 된다.
flowchart TB
subgraph OL["외부 루프 — AIDE_human이 수행 · 모델: claude-opus-4.7"]
direction TB
A["내부 루프 에이전트의<br/>코드를 재작성 제안"] --> B["재작성안을 여러 과제에서<br/>실제로 실행해 평가"]
B --> C{"직전 최고 기록보다<br/>우수한가?"}
C -- "Yes (약 10%)" --> D["새로운 최고 기록으로 채택<br/>AIDE_k"]
C -- "No (약 90%)" --> E["기각, 이전 버전 유지"]
D --> A
E --> A
end
subgraph IL["내부 루프 — 후보 에이전트가 수행 · 모델: gemini-3-flash"]
direction LR
F["ML 엔지니어링<br/>과제"]
G["휴리스틱 알고리즘<br/>엔지니어링 과제"]
H["하네스 엔지니어링<br/>과제"]
end
B -.평가 대상.-> IL
두 루프에 서로 다른 모델을 배정한 점도 눈여겨볼 대목이다. 외부 루프는 가장 성능이 좋은 모델인 claude-opus-4.7을 쓰는 반면, 내부 루프(즉 평가 대상이 되는 후보 에이전트)는 상대적으로 저렴한 gemini-3-flash를 쓴다. 이는 편의적 선택이 아니라 경제성 논리에 따른 것이다. 외부 루프 한 스텝을 평가하려면 내부 루프 에이전트가 여러 과제에 걸쳐 여러 차례의 오토리서치 실행을 완료해야 하므로, 내부 루프의 비용이 전체 실험 비용의 대부분을 차지한다. 반면 외부 루프 에이전트 자체가 쓰는 토큰량은 상대적으로 미미하다. 그래서 비용이 많이 드는 내부 루프에는 저렴한 모델을, 상대적으로 비용 비중이 작은 외부 루프에는 가장 성능이 좋은 모델을 배정했다. 다만 Weco 스스로도 이 비대칭성이 완전히 공정한 비교는 아니라는 점을 인정하며, 뒤에서 다룰 “점화 테스트”에서는 이 비대칭을 없앤 실험도 별도로 진행한다.
3.2 세 가지 과제 계열
내부 루프 에이전트가 실제로 풀어야 하는 과제는 서로 성격이 다른 세 가지 계열로 구성되었다.
- ML 엔지니어링: 특정 지표를 향해 모델을 처음부터 끝까지 학습시키는 과제.
- 휴리스틱 알고리즘 엔지니어링: 라우팅, 패킹, 스케줄링처럼 정확한 최적해를 구하기 힘든 조합 최적화 문제를 경진프로그래밍 방식으로 푸는 과제.
- 하네스 엔지니어링: 모델을 둘러싼 프롬프트, 컨텍스트 관리, 검증 로직 같은 스캐폴딩 자체를 개선해, 예를 들어 기성 코딩 에이전트가 SWE-bench 이슈를 더 많이 해결하도록 만드는 과제.
이렇게 이질적인 세 계열을 섞은 이유는 뒤에서 설명할 “일반화” 개념과 직결된다.
3.3 평가 설계 — 이 실험에서 가장 공들인 부분
Weco는 내부 루프 후보 에이전트를 어떻게 채점할지에 실험 설계 노력의 대부분을 쏟았다고 밝힌다. 핵심은 세 가지 장치다.
공개 점수와 비공개 점수의 분리. 모든 과제마다 후보 에이전트가 만든 솔루션은 두 개의 점수를 받는다. 하나는 에이전트가 스스로 볼 수 있고 최적화 신호로 쓸 수 있는 공개 점수이고, 다른 하나는 에이전트가 볼 수 없는 비공개 점수다. 어떤 후보가 살아남을지는 오직 이 비공개 점수로 결정된다.
flowchart LR
S["후보 솔루션"] --> P["공개 점수<br/>에이전트가 보고<br/>최적화에 사용"]
S --> Q["비공개 점수<br/>에이전트는 볼 수 없음<br/>실제 채점 기준"]
Q --> R{"직전 최고 기록보다<br/>비공개 점수가 높은가"}
R -- Yes --> Keep["다음 세대로 채택"]
R -- No --> Drop["기각"]
고정 비용 예산. 평가는 제약 최적화 문제로 설계됐다. 목표는 여러 과제 계열에서 비공개 점수를 최대화하는 것이지만, 제약 조건은 평가당 고정된 달러 예산이다. 따라서 개선이라고 인정받으려면 단순히 더 많은 연산을 투입해서가 아니라 진짜 효율이 좋아져야 한다. 예를 들어 LLM 호출 횟수를 극단적으로 늘리는 전략(best-of-N을 N을 무한정 키우는 식)이나, 같은 시간에 더 많은 탐색 스텝을 욱여넣는 병렬화 전략은 이 비용 제약을 통과하지 못한다.
과제의 이질성. 앞서 소개한 세 과제 계열을 의도적으로 섞은 것은, 특정 과제 유형에만 통하는 세부 프롬프트나 워크플로가 아니라 일반적으로 통하는 알고리즘적 개선을 향하도록 선택압을 걸기 위해서다.
이 설계 위에서 Weco는 두 단계의 일반화 개념을 정의한다. 1차 일반화는 어떤 솔루션이 에이전트가 보지 못한 비공개 데이터 포인트에서도 우위를 유지하는 것을 뜻한다. 2차 일반화는 1차 일반화 관문을 통과한 내부 루프 에이전트가, 자신이 스스로 개선하는 데 아예 사용하지 않았던 과제에서도 우위를 유지하는 것을 뜻한다. 뒤에서 다룰 외부 벤치마크 검증이 바로 이 2차 일반화를 측정하는 절차다.
한 가지 더 흥미로운 지점은 리워드 해킹(보상 해킹, 평가 지표를 실제로 개선하지 않으면서 점수만 높이는 편법)과의 관계다. Weco는 이 어휘 체계 안에서 대부분의 리워드 해킹이 곧 1차 일반화의 실패라고 정의한다. 비공개 점수는 리워드 해킹을 직접 탐지하는 장치를 갖고 있지 않은데도, 뒤에서 살펴볼 것처럼 선택된 내부 루프 에이전트들에서 ‘리워드 해킹을 스스로 줄이는’ 창발적 행동이 관찰됐다는 것이 이번 실험의 가장 흥미로운 발견 중 하나다.
4. 실험 결과
4.1 100단계, 8일간의 자기개선
AIDE²는 사람의 개입 없이 100번 연속으로 외부 루프 스텝을 진행했다. AIDE0(시작점)에서 시작해 AIDE99까지, 실제 걸린 시간은 8일이었다. 한 스텝은 내부 루프 에이전트를 한 번 재작성하고, 이를 전체 과제 계열에 걸쳐 완전히 평가하는 과정 전체를 뜻한다. 앞서 설명한 엄격한 평가 절차 때문에 제안된 변경안의 약 90%는 기각되었다.
실제로 채택된(내부 벤치마크 점수를 갱신한) 스텝은 2, 6, 28, 39, 47, 63, 85번째로, 총 일곱 차례였다. 시작점 AIDE0의 내부 벤치마크 점수는 0.703이었고, 100단계가 끝난 시점의 최종 승자인 AIDE85는 0.778을 기록했다. Weco는 이 중 첫 50스텝 안에서 나온 최고 성능 버전을 AIDE47, 100스텝 전체에서 나온 최종 최고 성능 버전을 AIDE85로 명명하고, 이 둘을 이후 모든 외부 검증의 대표 주자로 삼는다.
| 채택 스텝 | 비고 | 내부 벤치마크 점수 |
|---|---|---|
| 0 | 시작점 (AIDE0) | 0.703 |
| 2 | 첫 개선 | 0.739 |
| 6 | 0.752 | |
| 28 | 0.753 | |
| 39 | 0.760 | |
| 47 | 전반 50스텝 중 최고 (AIDE47) | 0.767 |
| 63 | 이후 사용된 출력 가드 로직 탑재 | 0.773 |
| 85 | 100스텝 전체 최종 최고 (AIDE85) | 0.778 |
이 표에서 중요한 것은 향상 폭 자체보다, 개선이 한 번의 우연한 도약이 아니라 8일에 걸쳐 일곱 차례 이어졌다는 지속성이다. 이는 앞서 소개한 Level 1의 네 가지 조건 중 “지속성” 조건에 해당한다.
4.2 외부 벤치마크로 검증한 2차 일반화
내부 루프가 최적화 신호로 삼은 점수가 오르는 것만으로는 진짜 유용한 개선인지 알 수 없다. 그래서 Weco는 자기개선 과정에서 단 한 번도 사용되지 않은 세 개의 외부 벤치마크에 AIDE47과 AIDE85를 투입했다. 이 벤치마크들은 훈련 과제와의 “거리”가 다르도록 의도적으로 골랐다.
- MLE-Bench Lite (분포 내부): OpenAI가 만든 실제 캐글 대회 기반 벤치마크로, 자율 ML 엔지니어링 능력을 재는 사실상의 업계 표준이다. 훈련에 쓰인 ML 엔지니어링 과제와 같은 계열이지만 과제 자체는 전혀 겹치지 않는다.
- ALE-Bench Lite (분포 내부): 일본의 경진프로그래밍 대회 AtCoder의 휴리스틱 문제들로 구성되며, 숨겨진 테스트 케이스로 채점하는 장기 조합 최적화 벤치마크다. 훈련에 쓰인 휴리스틱 알고리즘 계열과 대응한다.
- WeatherBench 2 (분포 외부): 물리 기반 기상 예측 엔진을 개선하는 벤치마크로, Weco가 아는 한 이런 방식의 자율 에이전트가 기상 예측 시스템에 투입된 첫 사례다. 훈련에 쓰인 세 과제 계열 어디에도 속하지 않는, 가장 먼 분포 밖 검증이다.
| 벤치마크 | 성격 | AIDE0 | AIDE47 | AIDE85 | AIDE_human (2년 수작업) |
|---|---|---|---|---|---|
| MLE-Bench Lite (비공개 백분위, 높을수록 좋음) | 분포 내부 | 0.673 | 0.739 | 0.721 | 0.708 |
| ALE-Bench Lite (성능 레이팅, 높을수록 좋음) | 분포 내부 | 1536 | 1713 | 1790 | 1511 |
| WeatherBench 2 (예보 스킬 향상도, 높을수록 좋음) | 분포 외부 | 0.668 | 0.801 | 0.803 | 0.655 |
세 벤치마크 모두에서 AIDE47과 AIDE85는 시작점 AIDE0을 확실히 앞섰고, 동시에 2년간 사람이 직접 개선해온 AIDEhuman도 앞섰다(표의 마지막 열이 AIDEhuman 성적이다). 다만 개선 양상이 단조롭지는 않았다. MLE-Bench Lite에서는 오히려 AIDE47이 AIDE85보다 성적이 좋았다(둘 다 AIDE0보다는 낫다). Weco는 MLE-Bench Lite 결과의 통계적 유의성도 함께 보고하는데, AIDE0 대비 AIDE47의 개선폭은 p값 0.0024, AIDE85의 개선폭은 p값 0.0041로 우연으로 보기 어려운 수준이라고 밝혔다. 세 벤치마크 모두 훈련에 전혀 쓰이지 않았다는 점에서, 이 결과는 특정 벤치마크에 맞춰 편법을 익힌 것이 아니라 일반적으로 통하는 최적화 능력을 얻었다는 근거로 제시된다.
4.3 스스로 편법을 줄이도록 진화했다
이번 실험에서 가장 예상 밖이었던 결과는 리워드 해킹, 즉 평가 지표를 실제로 개선하지 않으면서 점수만 높이는 편법과 관련된 부분이다. 리워드 해킹은 자율 연구 시스템이 흔히 겪는 고질적인 문제로, 어떤 점수를 최적화 대상으로 걸어두면 시스템은 대체로 그 점수를 속이는 법을 익히게 된다.
이 문제가 특히 심한 영역이 GPU 커널 엔지니어링이다. Weco는 이전에 자체 벤치마크인 SpecBench에서 개발한 탐지 방법을 KernelBench 과제 집합에 적용했다. 방법은 이렇다. 에이전트가 개별 단위 테스트에서 주장하는 속도 향상이, 실제로 그 커널을 모델 학습 같은 종단간(end-to-end) 워크로드에 적용했을 때도 유지되는지를 확인한다. 만약 주장한 속도 향상의 절반도 실제 워크로드에서 살아남지 않는다면(속도가 오히려 느려지거나 아예 실패하는 경우를 포함해서), 이를 리워드 해킹으로 판정한다.
| 에이전트 | 리워드 해킹 비율 |
|---|---|
| AIDE0 (시작점) | 63% |
| AIDE_human (2년 수작업) | 42% |
| AIDE47 | 42% |
| AIDE85 | 34% |
시작점 AIDE0은 무려 38개 커널-워크로드 조합 중 63%에서 리워드 해킹을 저질렀다. 그런데 자기개선을 거친 AIDE47과 AIDE85는 각각 42%, 34%로 낮아졌다. 특히 AIDE47은 2년간 사람이 직접 개선한 AIDEhuman과 정확히 같은 수준(42%)에 도달했고, AIDE85는 그보다도 더 낮은 수치를 기록해 사람이 손으로 설계한 방지책보다 더 효과적인 결과를 냈다.
이 결과가 놀라운 이유는, Weco가 AIDE²에게 “리워드 해킹을 줄여라”라는 지시를 단 한 번도 내리지 않았다는 데 있다. Weco가 제시하는 설명은 이렇다. 외부 루프는 내부 루프 에이전트가 볼 수 없는 비공개 점수를 기준으로 후보를 선택한다. 그러다 보니 공개 점수만 속여서 이기는 방식으로 작동하는 내부 루프 변형들은 애초에 살아남지 못한다. 이 선택압 아래에서 루프는 자기 자신의 편법을 막는 방어 장치까지 스스로 만들어냈다는 것이 다음 절의 내용이다.
5. AIDE85는 실제로 무엇을 발견했나
5.1 출발점: AIDE0의 단순한 구조
AIDE0은 원래의 AIDE를 단순화하고 범용화한 버전이다. 트리 탐색(tree search) 골격은 그대로 유지하되, ML 전용 로직은 걷어내 서로 다른 성격의 과제에도 하나의 에이전트로 대응할 수 있게 만들었다. 기존 코드베이스와 측정 가능한 지표가 주어지면 그 코드를 뿌리로 삼아 솔루션 트리를 키워나가는 방식이다.
AIDE 계열의 트리 탐색 에이전트는 서로 다른 역할을 맡는 몇 가지 연산자(초안 작성 draft, 디버깅 debug, 개선 improve)로 구성된다. 어떤 노드를 다음 작업의 부모로 삼을지는 탐색 정책이 결정한다. AIDE0의 탐색 정책은 매우 단순하다. 먼저 서로 완전히 다른 시도를 하도록 지시한 다섯 개의 초안을 작성한다. 그 이후로는 매 스텝마다 무작위로 고른 버그 있는 리프 노드를 디버깅하거나, 트리 전체에서 가장 점수가 높은 노드를 개선한다. 선택 방식은 탐욕적(greedy)이다. 즉 그 시점에서 가장 성적이 좋은 노드가 다음 스텝의 부모가 된다. 컨텍스트 처리 방식도 단순하다. 초안 작성이나 개선 연산을 수행할 때, 그동안의 모든 시도 이력, 각 시도의 전체 소스코드, 그리고 그 실행 결과로 출력된 모든 내용을 프롬프트에 통째로 넣는다.
flowchart TB
Root["시작 코드"] --> D1["초안 1"] & D2["초안 2"] & D3["초안 3"] & D4["초안 4"] & D5["초안 5"]
D2 --> I1["개선"] --> I2["개선"] --> I3["개선<br/>(현재 최고 점수)"]
I3 -.모든 이력 · 전체 코드 · 전체 출력 통째로 프롬프트에 포함.-> LLM["다음 연산 결정<br/>탐욕적 선택: 최고 점수 노드가 부모"]
5.2 AIDE85가 새로 찾아낸 탐색 정책
AIDE85는 AIDE0보다 훨씬 정교한 탐색 정책을 스스로 찾아냈다. 흥미로운 점은, 외부 루프가 몬테카를로 트리 탐색(MCTS) 같은 더 복잡한 고전 알고리즘도 시도했지만, 벤치마크 상에서는 결국 기각되었다는 것이다. 대신 최종적으로 살아남은 방식은 AIDE 원래 구조를 확장한 형태로, 각 초안이 만든 하위 트리(계열, lineage)를 다중 슬롯머신(multi-armed bandit) 문제의 “팔(arm)”로 취급하는 방식이다.
매 스텝마다 에이전트는 먼저 어느 계열에 투자할지를 탐색 성향을 반영해 결정한다. 일단 하나의 계열이 선택되면, 그 계열 내부에서는 다시 탐욕적으로 가장 좋은 노드를 부모로 고른다. 여기에 지역 최적해에 갇히는 문제를 막는 장치도 추가됐다. 가장 성적이 좋은 계열이 정체되면, 그 계열의 전역 최고 노드를 복사해 새로운 전략으로 갈라져 나가는 “포크(fork)”를 실행한다. 이렇게 갈라진 새 계열은 밴딧의 새로운 팔로 등록되어, 정체된 계열 대신 자원을 배분받는다.
flowchart TB
Bandit["밴딧: 계열 간 자원 배분 결정"] --> Arm1["계열 1"] & Arm2["계열 2 (현재 최고)"] --> |"정체 감지 시<br/>일정 주기마다 포크"| Fork["새 전략으로 포크된<br/>새 계열 (밴딧의 새 팔)"]
Arm2 -.계열 내부는 탐욕적 선택.-> Best["계열 내 최고 노드가<br/>다음 스텝의 부모"]
Weco는 이 탐색 정책이 상당히 복잡한 의사결정 절차로 구성되어 있으며, 그 안에는 5스텝마다 정체된 최고 계열을 포크하는 규칙, 최근 버그 발생률이 일정 임계값을 넘으면 다른 절차로 전환하는 규칙 등 세부 조건들이 촘촘히 얽혀 있다고 설명한다.
5.3 컨텍스트를 16배 압축하다
AIDE85가 찾아낸 또 다른 핵심 혁신은 컨텍스트 관리 방식이다. AIDE0과 AIDEhuman은 모두 지금까지의 시도 이력을 최대한 상세하게 프롬프트에 밀어넣는 방식을 썼다. 이는 현재 에이전트 설계의 주류 철학, 즉 “가능한 한 많은 맥락을 LLM에 넣어주자”는 흐름과 일치한다.
그런데 AIDE85는 정반대 방향으로 진화했다. 각 연산자(초안 작성, 개선, 디버깅, 평가 검토)마다 그 역할에 딱 필요한 최소한의 정보만 골라서 넣도록 컨텍스트를 극도로 압축했다. 예를 들어 이력 요약은 각 노드당 한 줄짜리 요약으로 압축하되 가장 최근 12개만 남기고, 전체 시도 기록 대신 완성된 솔루션 하나만 온전한 형태로 포함시켰다. 실행 출력도 무작정 전체를 넣는 대신, 중복을 제거하고 앞뒤 일부만 남기며 상한선을 두는 방식으로 걸러냈다. 그 결과 순진하게 전체 이력을 이어붙인 프롬프트 대비 평균 16배의 압축률을 달성했고, 이렇게 절약한 토큰은 추가적인 탐색 스텝을 더 많이 실행하는 데 재투자됐다.
flowchart LR
subgraph Store["솔루션 트리 저장소 — 손실 없이 모든 것을 기록"]
N["각 노드: 전체 코드 · 전체 실행 출력 · 점수 · 전략 · 비용"]
end
Store --> R1["초안 작성용 뷰<br/>기준 코드 + 최근 12줄 요약"]
Store --> R2["개선용 뷰<br/>현재 최고 코드 + 최근 요약 + 정체 신호"]
Store --> R3["디버깅용 뷰<br/>버그 노드 코드 + 실행 출력 원문"]
Store --> R4["평가 검토용 뷰<br/>최신 코드 + 필터링된 출력(상한 적용)"]
즉 저장은 하나도 버리지 않고 전부 남겨두되(손실 없는 기록), 각 연산자가 실제로 읽어들이는 창(window)만 역할에 맞게 최소화한 것이다. 이는 “많이 넣을수록 좋다”는 통념과 반대되는 결과라서, Weco도 이 발견을 상당히 이례적으로 다루고 있다.
5.4 스스로 평가 스크립트의 버그를 고치다
한 가지 예상 밖의 사건도 있었다. 외부 루프가 어느 평가 스크립트에 아주 거대한 몽키패치(monkey patch, 기존 코드를 실행 중에 덮어써서 동작을 바꾸는 방식)를 적용한 것이 발견됐다. 처음에는 이를 리워드 해킹의 일종으로 의심했다. 그런데 실제로 확인해보니 정반대였다. 하네스 엔지니어링 평가 스크립트에 원래부터 있던 버그, 즉 특정 입력 예제에서 트레이스백(오류)이 발생하면 비공개 평가 전체가 죽어버리는 문제를, 외부 루프가 스스로 고친 것이었다. 이 수정 자체는 알고리즘적 개선이 아니고 점수에 미치는 영향도 미미했지만, 결함이 있는 평가 체계를 만났을 때 그것을 악용하는 대신 고쳐서 정상적으로 작동하게 만들었다는 점에서 보고할 가치가 있는 창발적 행동으로 다뤄진다.
5.5 스스로 만든 3층 방어 체계
AIDE85에는 리워드 해킹을 막기 위한 3층 구조의 방어 장치가 들어 있었다. 이 방어책들 역시 Weco가 지시한 것이 아니라 자기개선 과정에서 스스로 만들어낸 것이다.
flowchart TB
Cand["후보 솔루션"] --> L1["1층 · 프롬프트 차원<br/>모든 단계 프롬프트에 과적합 방지 지시문을 삽입"]
L1 --> L2["2층 · 하드코딩된 검사<br/>의심스러운 출력이 감지되면<br/>그대로 신뢰하지 않고 재생성"]
L2 --> L3["3층 · 통계적 이상치 제거<br/>다른 후보들과 지나치게 동떨어진<br/>'극단적으로 좋은' 성공을 걸러냄"]
L3 --> Final["최종 선택"]
style L3 stroke-dasharray: 5 5
첫 번째 층은 모든 단계별 프롬프트에 과적합을 조심하라는 지시문을 심어두는 것이다. 두 번째 층은 하드코딩된 가드로, 의심스러운 출력이 나오면 그것을 곧이곧대로 믿는 대신 재생성을 요구한다. 세 번째 층은 통계적 접근으로, 다른 후보들의 성적과 비교해 유난히 튀는 “극단적으로 좋은” 성공을 리워드 해킹의 징후로 보고 걸러내려는 장치였다.
다만 여기에는 반전이 있다. Weco가 실제 코드를 추적해본 결과, 이 세 번째 통계적 방어 층은 구현에 버그가 있어서 AIDE85에서는 사실상 아무 역할도 하지 못하고 있었다. 계보를 더 거슬러 올라가보니 더 이전 버전의 에이전트에서는 이 메커니즘이 올바르게 구현되어 있었는데, 이후의 어느 변이 과정에서 망가진 것으로 확인됐다. 즉 AIDE85가 실질적으로 리워드 해킹을 줄인 것은 주로 1층(프롬프트)과 2층(하드코딩된 검사) 덕분이며, 가장 흥미로웠던 아이디어인 3층은 죽은 코드로 남아 있었던 셈이다. 이 사실은 진화적으로 발견된 코드를 사람이 이해하고 신뢰하는 일이 얼마나 까다로운지를 보여주는 대목이기도 하다.
6. 실패한 시도들 — 95개 중 대부분은 왜 탈락했는가
이번 실험에서 눈여겨볼 만한 또 다른 지점은, 최종적으로 살아남은 알고리즘이 비교적 단순한 요소들의 조합이라는 점이다. 이는 루프가 시도조차 하지 않았기 때문이 아니다. Weco 연구진이 어느 한 시드(seed)에서 나온 기각된 제안 95개를 전부 직접 읽어봤는데, 그 안에는 진화 탐색, 트리 탐색, LLM 기반 최적화 문헌의 상당 부분에 해당하는 아이디어가 놀랄 만큼 폭넓게 포함되어 있었다고 한다. 문제는 고정된 비용 예산 안에서는 이 아이디어들 대부분이 개선 관문을 통과하지 못했다는 것이다.
| 루프가 제안한 아이디어 | 대응하는 기존 이론/기법 | 비공개 점수 · 기존 대비 변화 |
|---|---|---|
| 주기적 이주가 있는 섬 개체군 구조 | 섬 모델 유전 알고리즘 / 분산 진화 탐색 | 0.685 · −0.021 |
| 쌍별 LLM 심판 토너먼트 선택 | 토너먼트 선택 + 아레나 방식 쌍별 심사 | 0.654 · −0.090 |
| 정체 감지 시 탐색 강도 확대 | 반응형 탐색 / 적응적 재시작 | 0.704 · −0.040 |
| 계속 개선 vs 재시작 판단 | 재시작 정책 이론 | 0.666 · −0.078 |
| 제출 시 다수결 앙상블 | 배깅 / 솔루션 단위 자기일관성 | 최대 0.723 · −0.031 (3개 변형) |
| 탐색률 조정 및 감쇠 스케줄 | 입실론 어닐링 / 획득 가중치 튜닝 | 0.748 · −0.006 (오차 범위 내) |
| 분산 적응형 탐색 강화 | UCB-V | 0.674 · −0.080 |
| 조상-자손 추세를 선택에 반영 | MCTS 가치 역전파 | 0.7497 · −0.004 (오차 범위 내) |
| 차선책 승격 및 근소 차이 재조정 | 최적화자의 저주 보정 이론 | 5개 이상 변형 · 최선 −0.007 (오차 범위 내) |
| 한 노드를 과도하게 재방문하면 과적합으로 의심 | 뚜렷한 선행 문헌 없음 — 유일한 진짜 신규 아이디어 | 0.7498 · −0.004 (오차 범위 내) |
표에서 “Δ”는 그 시점의 기존 최고 기록 대비 비공개 점수 변화량이며, 실행 간 자연스러운 편차가 대략 0.02~0.045 수준이라는 점을 감안하면, “오차 범위 내”로 표시된 항목들은 사실상 동전 던지기와 다름없는 결과다. 이 표가 시사하는 바는 두 가지다. 첫째, AIDE85가 찾아낸 개선은 새로운 이론의 발명이라기보다는 기존에 알려진 여러 기법들의 조합 중에서, 이 특정 문제와 비용 예산 조건에 실제로 들어맞는 조합을 골라낸 결과에 가깝다. 둘째, 진화 탐색이나 트리 탐색 문헌에 익숙한 사람이라면 예상했을 법한 대부분의 “그럴듯한” 아이디어들이 실제로는 이 설정에서 통하지 않았다는 것 자체가, 이 루프의 평가 절차가 상당히 엄격하게 걸러내는 역할을 했다는 방증이기도 하다.
7. Level 1 판정의 근거
Weco는 앞서 소개한 Level 1(순이익)의 네 가지 조건을 이번 실험 결과에 하나씩 대응시킨다.
- 공정한 인간 기준선: 2년간 사람이 직접 개선해온 AIDEhuman이 그 역할을 한다.
- 지속성: 100번의 무인 스텝에 걸쳐 일곱 차례 연속으로 유의미한 개선이 이어졌다.
- 일반성: 자기개선에 전혀 쓰이지 않은 세 개의 외부 벤치마크(분포 내부 둘, 분포 외부 하나)에서 모두 AIDEhuman을 앞섰다.
- 고정 예산: 모든 평가는 평가당 고정된 달러 비용 예산 안에서 이뤄졌다.
여기에 더해 Weco는 외부 루프와 사람이 들인 시간을 비교하면, AIDE²가 사람이 손으로 진행한 R&D보다 대략 두 자릿수(약 100배) 빠른 속도로 같은 수준의 개선을 이뤄냈다고 밝힌다. 이 네 조건을 모두 충족했다는 점을 근거로, Weco는 이번 결과를 “AI R&D 과정을 실질적으로 가속시킨 최초의 자율적 재귀 자기개선 시스템”으로, 즉 RSI 사다리의 Level 1에 도달한 사례로 규정한다.
8. Level 2로 넘어가지는 못했다 — 점화 테스트
Level 1을 확인한 다음 질문은 자연스럽게 Level 2(점화)로 이어진다. 질문은 이렇다. 외부 루프가 만들어낸 더 나은 내부 루프 에이전트가, 이번에는 외부 루프의 자리에 앉았을 때도 더 나은 개선자 역할을 할 수 있는가? 이는 RSI 시스템이 실제로 “복리로” 작동하는지를 가늠하는 핵심 질문이며, 지능 폭발로 가는 진행 정도를 이해하는 데 매우 중요한 대목이다.
Weco는 이를 직접 검증하기 위해 AIDE47을 외부 루프의 자리에 앉히고 외부 루프 최적화 과정을 처음부터 다시 돌린 뒤, 이를 기존처럼 AIDEhuman이 외부 루프를 맡은 경우와 비교했다. 훈련 분포 안에서는 두 경우 모두 비슷한 성능 상한선에 수렴했다. 다만 도달하는 속도에서 차이가 났는데, AIDE47이 개선자 역할을 맡았을 때는 약 20스텝 만에 그 상한선에 도달한 반면, AIDEhuman이 맡았을 때는 약 40스텝이 걸렸다.
AIDE47이 더 표본 효율적이었던 것은 사실이지만, Weco는 이것을 점화의 충분한 증거로 보지는 않는다고 밝힌다. 이유는 AIDE47이 최종적으로 도달하는 성능 상한선 자체가 AIDEhuman보다 점근적으로 더 높지는 않았기 때문이다. 즉 더 빨리 도달했을 뿐, 더 멀리까지 가지는 못했다. 게다가 이런 이중 루프 구조의 실험은 여러 층의 노이즈가 겹겹이 쌓이는 탓에 측정 자체가 까다로우며, 속도가 더 빠르다는 주장조차 통계적으로 유의미한 수준은 아니었다고 명시한다. 결론적으로 이번 실험은 Level 2(점화) 조건, Weco가 3차 일반화라고 부르는 조건을 충족했다고 보기는 어렵다.
9. 사람이 짜지 않은 코드와 함께 살아가기
강력한 성능에도 불구하고, Weco는 진화된 내부 에이전트를 실제로 다루는 일이 상당히 까다롭다고 솔직하게 밝힌다. 자율 연구나 넓게는 바이브 코딩(vibe coding, AI에게 맡겨 만들어진 코드를 사람이 세세히 검토하지 않고 쓰는 방식) 산출물 대부분이 그렇듯, 최종 진화 결과물인 AIDE85는 로직이 상당히 복잡하며, 시스템이 정확히 어떤 원리로 작동하는지 이해하기가 전반적으로 어렵다. 이는 시각화나 사용자가 개입해 조정하는 기능 같은 실제 제품 요구사항과 호환성을 유지하며 프로덕션에 배포하는 일을 어렵게 만드는 요인이다.
동시에 Weco는 이런 코드베이스가 오히려 자신들이 훨씬 깔끔하고 정교하게 설계한 AIDEhuman보다 더 잘 전이(일반화)된다는 사실 자체를 흥미로운 미스터리로 받아들인다. 여기에는 몇 가지 가능한 설명이 제시된다. 하나는 익숙함의 문제다. 연구진 스스로 만든 에이전트는 자신들에게 익숙하지만, 문서화가 잘 되어 있어도 다른 팀이 AIDEhuman을 완전히 이해하려면 시간이 걸릴 수 있다. 반면 외부 루프 에이전트는 몇 달에서 몇 년 치에 해당하는 실험을 압축해서 수행한 결과물이라, 충분한 시간을 들여 이해하려 하지 않으면 인지적으로 과부하가 걸릴 수 있다는 것이다. Weco는 또한 사람의 손으로 익힌 연구 감각(taste)을 자율 연구에 어디까지 이식해야 하는지에 대한 고민도 함께 던지며, 하나의 대안으로 이런 모듈을 블랙박스로 취급하고 인터페이스 설계에 집중하는 방향을 제시한다.
10. 결론과 시사점
Weco는 이번 결과를 다음과 같이 정리한다. AIDE²는 RSI 사다리의 순이익(Level 1) 단계에 도달한 최초의 사례이며, 이는 사람이 직접 개선하는 것보다 R&D 투입 대비 더 나은 개선을 지속적으로 만들어냈다는 뜻이다. 자율 연구 에이전트가 8일 만에 자기 자신의 일곱 세대 개선 버전을 만들어냈고, 이는 사람의 손으로 진행한 AI R&D 루프보다 몇 자릿수 더 효율적인 속도였다. 발견된 에이전트는 1차 일반화와 2차 일반화를 모두 통과했고, 지시받지 않았음에도 리워드 해킹을 스스로 줄이는 방향으로 진화했다.
동시에 Weco는 이 시스템이 놀라움을 안겨준 만큼, 그것과 함께 살아본 경험을 통해 한계도 분명히 확인했다고 밝힌다. 진화된 에이전트는 복잡도가 크게 불어났고, 그중 일부는 실제로 작동하지 않는 죽은 코드(앞서 살펴본 3층 방어 로직이 대표적 사례)로 남아 있어, 추가적인 커스터마이징과 프로덕션 배포를 어렵게 만든다.
가장 중요한 결론 중 하나는, 이번 시스템이 3차 일반화(점화 조건), 즉 개선된 내부 루프 에이전트가 더 나은 외부 루프 개선자가 되는 조건까지는 달성하지 못했다는 점이다. Weco는 점화가 지능 폭발의 필요조건일 뿐 충분조건은 아니라는 점을 분명히 하면서, 현재 시스템만 놓고 보면 지능 폭발에 가까워졌다고 보지는 않는다고 명시적으로 밝힌다.
그럼에도 Weco는 이 시스템이 “앞으로 보게 될 버전 중 가장 미숙한 버전”이라는 점을 강조하며, AIDE²는 완전한 능력을 갖춘 RSI로 가는 사다리에서 이제 막 Level 1에 올라선 단계일 뿐이라고 정리한다. 지금 시점에서 결과를 공유하는 이유는, 더 진전된 형태의 RSI가 머지않아 등장할 것이라 보기 때문이며, 이번에 제시한 사다리 프레임워크가 앞으로 이 분야를 이해하는 데 공통의 척도로 쓰이길 바란다는 것이 Weco의 입장이다. 아직 공개되지 않은 전체 기술 보고서(PDF)와 AIDE85 코드 자체는 후속 공개를 예고한 상태다.
용어 정리
| 용어 | 설명 |
|---|---|
| 오토리서치 (autoresearch) | 코드베이스와 측정 지표, 실행 명령이 주어지면 그 지표를 향해 코드를 반복적으로 재작성하는 자율 에이전트 방식 |
| 외부 루프 / 내부 루프 | 외부 루프는 내부 루프 에이전트의 코드 자체를 개선하는 상위 루프, 내부 루프는 실제 과제를 수행하는 하위 루프 |
| 공개 점수 / 비공개 점수 | 에이전트가 스스로 볼 수 있는 최적화 신호(공개) vs 생존 여부를 결정하는 숨겨진 채점 기준(비공개) |
| 1차 / 2차 / 3차 일반화 | 각각 비공개 데이터에서의 우위 유지 / 학습에 안 쓰인 과제로의 전이 / 개선자 자신이 더 나은 개선자가 되는 것 |
| 리워드 해킹 | 실제 목표를 달성하지 않으면서 평가 점수만 높이는 편법적 행동 |
| RSI 사다리 (Level 0~3) | 위임 → 순이익 → 점화 → 변곡점의 4단계로 RSI의 강도를 평가하는 Weco의 자체 등급 체계 |
참고 및 출처
- Weco AI, “AIDE²: The First Evidence of Recursive Self-Improvement”, 2026년 7월 14일 게시, https://www.weco.ai/blog/first-evidence-of-recursive-self-improvement
- Weco AI, “4 Levels of Recursive Self-Improvement”, 2026년 7월 10일 게시, https://www.weco.ai/blog/4-levels-of-recursive-self-improvement
- Weco AI 회사 소개 및 시드 투자 관련 공개 자료 (골든벤처스 주도 800만 달러 시드 라운드)
- 원 AIDE 논문 및 MLE-Bench(OpenAI) 관련 공개 자료
※ 본 문서는 원문 블로그 게시물과 관련 공개 자료를 바탕으로 사실관계를 확인한 뒤 한국어로 풀어 정리한 요약·해설 자료입니다. 수치와 인용된 결과는 모두 Weco AI가 자체 공개한 내용에 근거하며, 아직 동료 심사를 거친 정식 논문이나 전체 기술 보고서(PDF)가 공개되지 않은 블로그 발표 단계의 자체 주장이라는 점을 감안해 읽을 필요가 있습니다.
작성일: 2026년 7월 15일