Stanford CS329A Self-Improving AI Agents Part 7: Self-Improvement and Deep Research Agents

TL;DR

AI 에이전트를 검색을 통해 개선하는 방법은 두 가지가 있다: (1) 많은 코드 샘플을 생성하고, 이를 필터링·클러스터링하여 다양한 후보를 선택하는 방식으로, 샘플 예산에 따라 해결률이 확대되지만 선택 병목 현상에 제한을 받는다; (2) 큰 추론 모델이 불확실성을 표현할 때 검색 쿼리를 트리거하고, 검색된 문서 위에서 추론하는 방식 (Search‑O1)으로, 이는 GPQA와 다중 홉 질문 응답에서 표준 및 에이전트형 검색 강화 생성보다 우수한 성능을 보인다. AlphaCode2는 더 강력한 기본 모델(Gemini Pro)과 학습된 스코어링 모델을 결합해 필요한 샘플 예산을 100만 개에서 약 100개로 줄이면서 해결률을 25 %에서 43 %로 올리고, 경쟁 프로그래밍에서 85번째 백분위에 도달한다.

AlphaCode: Sampling, Filtering, and Clustering

AlphaCode는 GitHub와 CodeContests 데이터를 이용해 마스크드 언어 모델을 사전 학습한 뒤, 질문당 100만 개의 다양한 후보 프로그램(절반은 Python, 절반은 C++)을 생성한다. 주어진 예시 테스트를 통과하는 후보를 필터링하고, 구문은 다르지만 의미적으로 동등한 솔루션을 클러스터링하여, 선별된 부분집합을 Codeforces 플랫폼에 제출한다. 약 5 000명 참가자가 있는 10개의 대회에서 AlphaCode는 평균 순위 54.3 %를 기록했으며(문제당 10번 제출 가정), 최근 6개월 동안 경쟁자 중 28 %와 경쟁했다. 해결률은 샘플 수에 대해 대략 로그‑선형적으로 증가하지만, 제출이 10개로 제한될 경우 선택·클러스터링 단계가 병목이 되어 정확도가 약 30 %에 머무르고, 무제한 시에는 40 % 이상이 된다.

AlphaCode2: Fine‑tuning Gemini Pro and Learned Scoring

AlphaCode2는 사전 학습 모델을 파인튜닝된 Gemini Pro로 교체하고, 다양성을 높이기 위해 파인튜닝된 변형군을 사용하며, 코드 샘플의 정답성을 예측하는 학습된 스코어링 모델(보상 모델)을 도입한다. 데이터 믹스에는 오픈소스 CodeContests V2 세트와 스코어러 훈련을 위한 고품질 큐레이션 세트가 포함된다. 동일한 100만 샘플 예산으로 AlphaCode2는 43 %의 해결률을 달성해 AlphaCode의 25 %를 거의 두 배로 끌어올린다. 더 중요한 점은 AlphaCode2가 문제당 약 100개의 샘플만으로도 AlphaCode와 동등한 해결률을 보이며, 더 강력한 기본 모델과 향상된 스코어링이 필요한 샘플링 예산을 크게 감소시킨다. 백분위 기준으로 AlphaCode2는 Codeforces에서 전문가·마스터 후보 인간 참가자 중 85번째 백분위에 해당하고, AlphaCode는 약 46번째 백분위(또는 상위 두 솔루션을 고려하면 99.5 %)에 머물렀다.

Search‑O1: Triggering Search When the Model Expresses Uncertainty

Search‑O1는 대형 추론 모델 위에 깊은 연구 에이전트를 구축한다. 단일 검색 단계 대신, 모델의 추론 체인에 불확실성 표시(예: “perhaps”, “alternatively”, “wait”)가 나타날 때마다 검색 쿼리를 생성한다. 검색된 문서는 관련 청크만 추출해 프롬프트에 삽입하고, 모델은 이를 바탕으로 일관된 추론을 이어간다. 이 반복‑검색‑추론 루프는 불확실성 전파를 줄이고 모델이 무관한 텍스트에 압도되는 것을 방지한다. GPQA(물리, 화학, 생물)와 HotpotQA, 2Wiki, MusiQue, Bamboogle 같은 다중 홉 QA 벤치마크에서 Search‑O1는 표준 검색 강화 생성 및 에이전트형 RAG보다 뛰어난 정확도를 보이며, 물리·화학 분야에서는 인간 전문가와 경쟁하고 생물 분야에서는 전문가 수준에 근접한다.

Search‑R1 vs. Search‑O1: Prompting vs. Reinforcement Learning

강의에서는 Search‑O1의 프롬프트 기반 접근법(모델이 명시적 불확실성 토큰을 통해 언제 검색할지 학습)과 Search‑R1의 강화학습 기반 접근법(모델이 RL 루프를 통해 검색 시점을 결정하도록 학습)을 대비한다. Search‑R1은 자세히 다루지 않지만, 자동으로 검색 행동을 학습하는 보완적 방향으로 언급된다.

Key Takeaways

  • 샘플 생성 규모를 확대하면 해결률이 향상되지만, 제출 예산이 제한될 때 선택·클러스터링이 병목이 된다.
  • 더 강력한 기본 모델(Gemini Pro)과 학습된 스코어링 모델을 결합하면 큰 이득을 얻는다: AlphaCode2는 AlphaCode 성능을 약 1 %의 샘플 예산으로 달성하고 절대 해결률을 거의 두 배로 끌어올린다.
  • 추론이 무거운 작업에서는 모델이 불확실성을 신호할 때 검색 쿼리를 트리거하고 검색된 문서 위에서 추론하는 (Search‑O1) 방식이 단순 검색 강화 생성보다 효과적이며, 특히 다중 홉 질문에서 두드러진다.
  • AlphaCode/AlphaCode2와 Search‑O1에서 보여준 방법은 자기 개선 에이전트에 대한 두 가지 보완적 경로를 제시한다: (1) 샘플링·학습된 스코어링을 통한 출력 공간 검색 개선, (2) 불확실성 기반 검색을 통한 외부 지식과의 상호작용 개선.

Sources