시리즈: 자가 개선 AI 에이전트 — 7/9
이전 편: Part 6 — Train-Time Scaling
강의: Stanford CS329A | Self-Improvement and Deep Research Agents
원본 영상: https://www.youtube.com/watch?v=Uni9dqyuuDM
1. Part 7의 질문은 “모델이 풀 수 있는가?”에서 “시스템이 제대로 탐색할 수 있는가?”로 이동한다
Part 6는 successful trajectory를 다시 training signal로 넣어 model behavior를 바꾸는 방법을 다뤘다.
Part 7은 다른 개선 경로를 본다. Model weight를 당장 바꾸지 않아도, 가능한 output과 외부 지식 공간을 더 잘 탐색하면 end-to-end system 성능을 크게 높일 수 있다.
강의는 두 종류의 search를 다룬다.
- Output-space search: 많은 code candidate를 생성하고 실행·군집화·채점해 최종 후보를 고른다. AlphaCode와 AlphaCode 2가 대표 사례다.
- Knowledge-space search: reasoning 도중 필요한 외부 정보를 검색하고 raw document를 refinement해 필요한 evidence만 reasoning에 다시 넣는다. Search-o1과 Search-R1이 대표 사례다.
공통 구조는 다음이다.
많이 생성하거나 검색한다 → noise를 제거한다 → 좋은 후보를 재정렬·압축한다 → 작은 고품질 set으로 reasoning을 계속한다
Search 자체가 intelligence가 되는 것이 아니라, 무엇을 남기고 무엇을 버리며 남은 evidence를 어떻게 통합할지 결정할 수 있을 때 search가 intelligence로 바뀐다.
2. AlphaCode: massive sampling과 behavioral selection
Competitive programming은 짧은 함수 autocomplete와 다르다. 긴 자연어 문제 설명, hidden constraint, algorithm selection, data structure, 입출력 contract를 이해하고 완전한 executable solution을 만들어야 한다.
AlphaCode는 대규모 candidate generation과 aggressive filtering으로 접근했다.
Pipeline은 code pretraining, competitive-programming fine-tuning, 대규모 C++/Python sampling, 공개 test 실행, program behavior 기반 clustering, reranking, 그리고 최종 소수 candidate 제출을 결합한다.
Simulated Codeforces contest에서 AlphaCode는 평균적으로 상위 54.3% 수준의 추정 순위를 기록했다.
핵심은 단순히 “100만 개를 생성했다”가 아니다. 많은 sample을 생성한 뒤 program behavior를 이용해 search space를 줄였다는 점이다.
3. Pass@K와 제한된 제출은 selection bottleneck을 보여준다
수많은 candidate 중 하나라도 correct program이 있으면 Pass@K는 높아질 수 있다. 하지만 실제 contest에서는 무한히 제출할 수 없다.
따라서 두 능력이 분리된다.
- Coverage: generator가 어딘가에 정답을 만들었는가?
- Selection: 그 정답을 실제로 골라냈는가?
이 구분은 coding을 넘어 모든 agent system에 적용된다. 가끔 좋은 답을 만들 수 있는 시스템과, compute·latency 한도 안에서 그 좋은 답을 안정적으로 표면화할 수 있는 시스템은 다르다.
4. AlphaCode 2는 proposal과 ranking을 동시에 개선했다
AlphaCode 2는 Gemini Pro를 foundation으로 사용하고, C++ generation에 집중하고, 여러 fine-tuned policy model을 사용해 candidate diversity를 유지했으며, learned scoring model을 추가했다.
Scoring model은 candidate code가 correct일 가능성을 0~1로 추정한다.
공식 기술보고서에 따르면 AlphaCode 2는:
- AlphaCode의 25%보다 높은 43%의 problem solve rate
- 평균 85th percentile
- AlphaCode가 100만 sample을 필요로 했던 성능을 약 100 sample에서 달성
을 보고한다.
더 좋은 search는 sample 수만 늘리는 것이 아니라 proposal distribution과 evaluator를 함께 개선하는 것이다.
5. 보정: 95%가 compile 실패한 것은 아니다
강의 관련 요약은 filtering 단계의 의미를 지나치게 압축했다.
AlphaCode 2 기술보고서에 따르면 generated sample 중 compile 실패는 5% 미만이다.
약 95%가 제거되는 것은 전체 filtering 결과다. Public input/output test를 통과하지 못한 candidate까지 포함해 대부분이 제거된다.
즉 대부분의 code가 compile조차 되지 않는 것이 아니라, compile되더라도 behavior가 틀린 candidate가 매우 많다는 뜻이다.
6. 의미적 다양성이 포화되면 search의 수익도 체감한다
Sample 수를 계속 늘린다고 무한히 성능이 오르지는 않는다.
새 sample이 실제로 다른 solution strategy를 만들 때는 search budget이 도움이 된다. 하지만 weak base model이 같은 오답 pattern의 변형만 반복한다면 추가 sample은 useful coverage보다 cost를 더 빨리 늘린다.
Generator가 도달할 수 없는 solution을 search만으로 복구할 수는 없다.
7. Deep Research Agent는 같은 구조를 외부 지식에 적용한다
강의 후반부는 program search에서 information search로 이동한다.
Large reasoning model은 긴 reasoning chain을 만들 수 있어도 knowledge gap은 존재한다.
Standard RAG는 generation 전에 document를 검색해 context에 넣는다. 하지만 complex reasoning에서는 reasoning 중간에 새로운 정보 필요가 생길 수 있다.
Agentic RAG는 reasoning 도중 search tool을 호출하게 만든다. 하지만 여기서 context pollution이 생긴다.
검색 결과를 전부 context에 누적하면 context는 길어져도 useful signal의 비율은 떨어질 수 있다.
8. Search-o1은 Reason-in-Documents를 별도 단계로 둔다
Search-o1은 agentic retrieval과 별도 Reason-in-Documents module을 결합한다.
Reasoning model이 외부 지식이 필요하다고 판단하면 search query를 만든다.
검색된 raw document는 main reasoning chain에 그대로 들어가지 않는다.
별도 refinement 단계가 current search query, retrieved documents, 지금까지의 reasoning을 함께 분석한 뒤 현재 reasoning step에 필요한 concise information만 다시 넣는다.
핵심은 raw retrieval과 usable context를 분리한 것이다.
9. Document를 많이 가져오는 것보다 refinement가 중요하다
Search-o1 논문은 retrieved document 수가 늘어날 때 Search-o1이 complex reasoning에서 개선되는 scaling result를 제시한다.
Retrieval이 늘면 relevant evidence와 noise가 함께 늘어난다.
그래서 올바른 결론은 “long context가 좋다”가 아니다.
Retrieval의 가치는 더 많은 document가 아니라, 다음 reasoning step에 필요한 형태로 evidence를 얼마나 정확하게 압축하느냐에 달려 있다.
10. Human expert 비교는 domain-specific하다
Search-o1의 GPQA extended comparison에서:
- Physics: Search-o1 68.7, physicist comparison 57.9
- Biology: Search-o1 69.5, biologist comparison 68.9
- Chemistry: Search-o1 40.7, chemist comparison 72.6
이다.
따라서 “과학 전반에서 인간 전문가를 능가했다”라고 쓰면 안 된다.
정확한 결론은 Physics와 Biology에서는 강했지만 Chemistry에서는 인간 전문가와 큰 격차가 남았다는 것이다.
11. Search-o1에서 Search-R1으로: scaffolded search에서 learned search policy로
Search-o1은 주로 inference-time orchestration framework다.
Search-R1은 search behavior 자체를 reinforcement learning으로 학습한다.
강의 관련 source metadata의 Search-R1 arXiv 2502.12345는 잘못된 ID다.
검증된 실제 논문은 arXiv:2503.09516이다.
Search-R1은 step-by-step reasoning 중 여러 search query를 생성하고 retrieval과 상호작용하도록 RL로 학습한다.
논문은 7개 QA dataset에서 prior baseline 대비 Qwen2.5-7B 26%, Qwen2.5-3B 21%, LLaMA3.2-3B 10% 개선을 보고한다.
개념적 전환은 명확하다.
- Search-o1: system designer가 search/refinement loop를 설계한다.
- Search-R1: model이 reward로 search policy를 학습한다.
12. 가장 강한 반론: 이게 self-improvement인가, 아니면 wrapper가 좋아진 것인가?
AlphaCode, AlphaCode 2, Search-o1의 end-to-end 성능은 base model 밖의 구성요소에서도 크게 나온다.
- sampling budget
- execution environment
- clustering
- scoring model
- retrieval engine
- search API
- context refinement module
따라서 benchmark gain을 base-model 내부 reasoning 향상과 동일시하면 안 된다.
같은 model도 더 좋은 scaffold를 붙이면 훨씬 강한 system이 될 수 있다.
Agent capability는 model weight만의 속성이 아니라 model + search + evaluation system 전체의 속성이다.
13. Search quality는 proposal과 evaluator 두 병목에 묶인다
Proposal bottleneck
System이 정답 solution 또는 relevant evidence를 candidate set 안에 만들어낼 수 있는가?
Evaluation bottleneck
그 candidate가 다른 대안보다 낫다는 것을 실제로 알아볼 수 있는가?
AlphaCode의 massive sampling은 첫 번째를 확장했다.
AlphaCode 2는 두 쪽을 모두 개선했다.
Search-o1은 raw document를 refinement해 knowledge-selection bottleneck을 줄인다.
Search-R1은 언제 어떻게 검색할지 결정하는 policy를 직접 학습한다.
둘 중 하나라도 실패하면 compute를 늘릴수록 intelligence 대신 noise를 더 많이 만들 수 있다.
14. 이 글이 주장하지 않는 것
- 100만 sample이 모든 production coding assistant에 적합하다고 주장하지 않았다.
- AlphaCode 2 code의 95%가 compile 실패한다고 주장하지 않았다.
- Search-o1이 모든 science domain에서 인간 전문가를 능가했다고 주장하지 않았다.
- Retrieval volume만 늘리면 reasoning이 좋아진다고 주장하지 않았다.
- Scaffolded agent benchmark 향상이 base-model intelligence 향상과 동일하다고 주장하지 않았다.
- Search-R1이 autonomous research agent의 최종 형태라고 주장하지 않았다.
15. Part 7의 실제 결론
Part 6는 successful trajectory를 training signal로 되돌리는 방법을 보여줬다.
Part 7은 그 trajectory가 어디서 나오는지를 보여준다. Search다.
하지만 search는 search space를 다시 줄일 수 있을 때만 가치가 있다.
AlphaCode에서는 execution과 clustering이 많은 candidate를 몇 개의 submission으로 줄인다.
AlphaCode 2에서는 stronger base model과 learned scorer가 이 압축을 훨씬 효율적으로 만든다.
Search-o1에서는 raw document가 현재 reasoning에 필요한 evidence로 압축된다.
Search-R1에서는 search policy 자체가 learning 대상이 된다.
Self-improving agent에는 두 개의 loop가 필요하다. 가능성을 탐색하는 loop와, 어떤 가능성이 살아남아야 하는지 학습하는 loop다.
Part 8에서는 Agentic Evaluations and Long-Horizon Tasks로 이동한다. Part 5가 capability와 reliability의 기본 구분을 다뤘다면, Part 8은 task duration·reliability·professional output quality·verifiability가 실제 deployment에서 어떻게 함께 작동하는지를 좁혀 본다.
Claim Map
Speaker / Course Claim
- Large-scale search는 coding과 research-agent performance를 크게 높일 수 있다.
- Selection과 context refinement가 핵심 bottleneck이다.
- Search behavior는 prompt scaffold에서 RL-trained policy로 이동할 수 있다.
Verified Fact
- AlphaCode는 arXiv:2203.07814이며 simulated Codeforces contest에서 평균 top-54.3% 수준을 기록했다.
- AlphaCode 2는 43% problem solve rate, AlphaCode는 25%이며 AlphaCode 2는 평균 85th percentile을 기록했다.
- AlphaCode 2는 약 100 sample로 AlphaCode 100만 sample 수준의 성능을 달성한다.
- AlphaCode 2는 전체 filtering에서 약 95%를 제거하지만 compile 실패는 5% 미만이다.
- Search-o1은 arXiv:2501.05366이며 agentic retrieval과 Reason-in-Documents를 사용한다.
- Search-o1의 GPQA human comparison은 Physics/Biology에서 강하지만 Chemistry에서 약하다.
- Search-R1은 arXiv:2503.09516이며 multi-turn search behavior를 RL로 학습한다.
Editorial Interpretation
- Search 성능은 proposal quality와 evaluator quality를 함께 개선해야 상승한다.
- System-level agent capability와 base-model capability를 구분해야 한다.
강의 지도
- 00:00–00:25 — AlphaCode와 output-space search
- 00:25–00:46 — AlphaCode 2, diversity, filtering, learned scoring
- 00:46–01:07 — Search-o1, agentic RAG, Reason-in-Documents
- 01:07–01:12 — Search-R1과 learned search policy
주요 1차 출처
- Stanford CS329A Part 7 video: https://www.youtube.com/watch?v=Uni9dqyuuDM
- Stanford CS329A: https://cs329a.stanford.edu/
- AlphaCode: https://arxiv.org/abs/2203.07814
- AlphaCode 2 Technical Report: https://deepmind.google/AlphaCode2_Tech_Report.pdf
- Search-o1: https://arxiv.org/abs/2501.05366
- Search-R1: https://arxiv.org/abs/2503.09516