Stanford CS329A: Self-Improving AI Agents의 첫 강의는 “LLM은 어떻게 답변을 잘하는 모델에서 실제 일을 끝내는 에이전트로 발전하는가?”를 큰 흐름으로 설명한다. 강의의 연결고리는 사전 학습의 규모 확장 → 사후 학습 → 추론 시 계산 확장 → 도구와 피드백을 활용하는 에이전트다.
강사: Aakanksha Chowdhery, Azalia Mirhoseini · 강의일: 2025년 9월 22일 · 원본 영상
아래 내용은 강의와 영상 속 슬라이드를 한국어로 요약한 학습 노트다. 모델·제품에 대한 비교는 강의 당시의 맥락이며, 최신 성능 순위를 뜻하지 않는다.
1. 출발점: 더 큰 모델은 무엇을 바꿨나?
전통적인 LLM 발전의 중심에는 스케일링 법칙(scaling laws)이 있다. 학습에 쓰는 계산량, 데이터 규모, 모델 파라미터 수를 늘리면 테스트 손실이 일정한 경향에 따라 낮아진다. 이는 더 큰 모델과 더 많은 학습 자원에 투자하는 근거가 됐다.

그림 1. 사전 학습 스케일링 법칙. 출처: Stanford CS329A 1강, 슬라이드 5, 03:05. 슬라이드의 원 연구: Kaplan et al., 2020.
규모가 커지면서 단순한 점수 향상뿐 아니라, 프롬프트만으로 여러 과제를 수행하는 능력도 두드러졌다.
- Zero-shot: 예시 없이 과제 설명만으로 답한다.
- Few-shot: 프롬프트에 몇 가지 예시를 주면 그 형식과 패턴을 활용한다. 이때 프롬프트를 읽는 것 자체가 모델 가중치를 다시 학습하는 과정은 아니다.
- Chain-of-Thought(CoT): 정답만 제시하는 대신 중간 풀이를 예시에 포함하면, 이를 활용해 새 문제를 더 잘 풀 수 있다.
강의는 당시 LaMDA·GPT·PaLM의 수학 벤치마크에서 CoT의 이점이 큰 모델에서 뚜렷해진 사례를 보여준다. 다만 이를 “모든 작은 모델은 추론할 수 없다”는 규칙으로 읽어서는 안 된다. 후반 질의응답에서도 초기 CoT의 관찰된 출현과, 추론하도록 별도 훈련한 reasoning model의 발전을 구분한다. [05:39–10:42]
2. 사전 학습에서 유용한 답변으로: Instruction Tuning과 RLHF
다음 토큰을 잘 예측하는 능력만으로 사용자의 지시와 선호를 잘 따르는 모델이 완성되지는 않는다. 강의는 이를 보완하는 과정을 다음과 같이 설명한다.
- 사전 학습: 대규모 데이터에서 다음 토큰을 예측하며 언어와 다양한 패턴을 배운다.
- 고품질 데이터로 미세 조정: 더 엄선된 데이터로 모델의 출력 품질을 높인다.
- Instruction Tuning: 지시·질문·답변, 때로는 풀이 과정이 포함된 예시로 지시 수행 방식을 학습한다. 사람의 데이터와 합성 데이터가 함께 쓰인다.
- RLHF: 여러 답변에 대한 사람의 선호를 학습한 보상 모델을 만들고, 그 평가를 바탕으로 LLM을 최적화한다.
Instruction Tuning이 “좋은 응답의 예시를 따라 배우기”에 가깝다면, RLHF는 “어떤 응답이 더 선호되는지 평가받으며 개선하기”에 가깝다. 보상에는 정확성·유용성·구체성·무해성 등이 반영될 수 있다. 어떤 데이터와 평가 기준을 쓰는지가 모델의 행동을 결정하며, 정렬(alignment)은 여전히 미완성인 문제다. 이 순서는 강의의 개념적 설명이며 모든 모델이 동일한 절차를 거친다는 뜻은 아니다. [12:08–19:21]
3. 추론 시 계산 확장: 한 번 묻는 대신 여러 번 풀게 한다
Inference-time scaling, 또는 test-time compute scaling은 학습이 끝난 모델을 실행할 때 계산을 더 사용해 답의 품질을 높이는 접근이다. 이 단계에서는 모델 파라미터를 바꾸지 않아도 된다.
대표 사례인 Large Language Monkeys의 방식은 간단하다. 같은 문제에 대해 다양한 후보 답을 반복 생성하고, 검증기(verifier)나 선택 절차로 정답을 찾아낸다. 코드라면 후보마다 테스트를 실행할 수 있다. 핵심은 모델이 한 번의 응답에서 보여주는 능력보다, 여러 시도를 통해 드러낼 수 있는 능력이 더 클 수 있다는 점이다.

그림 2. 반복 샘플링에 따른 문제 해결 범위 증가. 출처: Stanford CS329A 1강, 슬라이드 21, 22:28. 슬라이드의 원 연구: Brown et al., Large Language Monkeys, 2024.
그래프를 읽을 때는 coverage/pass@k와 pass@1을 구분해야 한다. Coverage는 여러 후보 중 정답이 하나라도 존재한 문제의 비율이다. 실제 서비스가 그 정답을 골라 사용자에게 전달하는 능력과는 차이가 있다. 슬라이드의 일부 수학 평가는 정답을 판별할 수 있는 이상적인 검증기(oracle verifier)를 가정한다.
따라서 이 결과를 “작은 모델이 큰 모델보다 항상 낫다”로 해석할 수 없다. 작은 모델의 많은 시도와 GPT-4o의 한 번 시도를 비교한 결과이며, 후보 생성 비용, 검증 정확도, 응답 지연을 함께 고려해야 한다. 병렬 실행은 대기 시간을 줄일 수 있지만 전체 계산 비용까지 없애지는 않는다. [19:35–27:16]
4. Reasoning Model과 자기 개선은 어떻게 연결되나?
추론 모델은 단순히 답을 여러 번 뽑는 것에 더해, 문제 분석 → 하위 과제로 분해 → 시도와 평가 → 오류 수정 → 다른 접근으로 되돌아가기 같은 전략을 활용한다. 강의는 o1의 행렬 전치용 스크립트 작성 예시로 이런 과정을 설명한다. 더 많은 추론 계산이 어려운 수학·코딩 문제에 도움이 될 수 있지만, 모든 글쓰기·편집 과제에서 같은 이득을 주는 것은 아니다.
여기서 자기 개선의 연결고리가 생긴다.
다양한 풀이 생성 → 정답·실행 결과로 검증 → 좋은 풀이를 학습 데이터로 수집 → 미세 조정 또는 강화 학습 → 더 나은 모델로 다시 생성
즉, 추론 시 계산 확장이 고품질 합성 데이터를 얻는 수단이 되고, 그 데이터를 학습에 돌려주면 다음 모델을 개선할 수 있다. 한 번의 실행 안에서 피드백으로 답을 고치는 것과 그 경험을 학습에 사용해 가중치를 바꾸는 것은 서로 다른 개선 방식이다. 에이전트가 작업 중 스스로 수정한다고 해서 매번 모델이 재학습되는 것은 아니다. [28:42–39:54]
5. 챗봇에서 에이전트로: 목표·행동·피드백·종료
강의가 제시하는 에이전트의 핵심은 목표를 받고, 계획하고, 환경에 행동을 취하고, 피드백으로 다음 행동을 바꾸는 순환이다. 목표를 달성했거나 더 진행할 수 없을 때 종료하는 판단도 포함된다. 도구는 외부 정보를 얻고 행동하는 통로이고, 메모리는 여러 단계를 거치는 동안 목표와 진행 상황을 유지하는 데 쓰인다.

그림 3. LLM에서 에이전트로: 행동과 환경 피드백의 순환. 출처: Stanford CS329A 1강, 42:34, “LLMs to Agents” 슬라이드. 슬라이드 내 참고 자료: Anthropic, Building Effective Agents.
실제 시스템에서는 사람이 미리 정한 흐름을 따르는 워크플로와, 모델이 다음 단계와 도구를 동적으로 결정하는 에이전트가 함께 사용된다. 강의는 당시 많은 시스템이 정해진 워크플로에 가까우며, 코딩과 리서치 등에서 더 자율적인 실행이 나타나고 있다고 설명한다.
| 주요 패턴 | 작동 방식 |
|---|---|
| Prompt Chaining | 하위 작업을 순서대로 연결한다. 예: 자료 정리 → 초안 → 검토. |
| Routing | 작업 유형·난이도에 따라 다른 모델이나 처리 흐름으로 보낸다. |
| Parallelization | 독립적인 조사·작업을 동시에 실행한 뒤 결과를 합친다. |
| Orchestrator–Workers | 중앙 모델이 계획을 세우고 하위 작업을 배분·통합한다. |
| Evaluator–Optimizer | 평가자의 피드백을 받아 생성 결과를 반복 수정한다. |
이 구조의 재료는 LLM 호출, 검색·코드 실행 같은 도구, 평가자, 검증기다. 여기서 LLM-as-a-judge는 모델이 품질을 판단하는 방식이고, 테스트 실행은 실제 결과를 확인하는 방식이다. 둘 다 피드백이지만 판단의 근거와 신뢰성은 다르다. [40:51–47:55]
6. 가장 큰 병목: 생성보다 검증
코딩 에이전트를 생각하면 구조가 선명해진다. 사용자 의도를 확인하고, 저장소를 탐색하고, 코드를 수정한 뒤 테스트를 실행한다. 실패하면 원인을 확인하고 다시 고친다. 중요한 것은 코드를 출력했다는 사실보다 사용자가 요청한 작업이 실제로 완료됐는지 확인하는 것이다.
강의는 이를 generator–verifier gap과 연결한다. 후보를 많이 만드는 능력과, 그중 무엇이 맞는지 판별하는 능력 사이에는 간극이 있다. 수학·코딩처럼 결과를 확인하기 쉬운 영역에서는 자동 피드백을 활용하기 좋다. 반면 창작이나 개방형 조사처럼 정답 기준이 불명확한 작업은 사람의 평가와 신뢰할 만한 검증이 병목이 된다. 테스트도 다루지 못한 오류를 놓칠 수 있으므로, 좋은 검증 기준을 만드는 일 자체가 중요한 연구 과제다.
응용 범위는 코드 마이그레이션·테스트 작성, 고객 지원의 지식 검색·응답·상담 요약, 자료 탐색부터 종합 보고서 작성까지의 리서치로 이어진다. AI Scientist 사례는 아이디어 생성·실험 반복·논문 작성까지 이 흐름을 확장한다. 다만 아이디어를 많이 만드는 능력이 연구 결과의 타당성을 자동으로 보장하지는 않는다. [48:09–57:57]
이 강의에서 가져갈 관점
에이전트를 설계할 때는 “어떤 모델을 쓸까?”와 함께 “성공을 무엇으로 확인하고, 실패에서 어떤 피드백을 얻어, 다음 시도를 어떻게 바꿀까?”를 물어야 한다. 규모 확장은 기반 능력을 높이고, 사후 학습은 행동을 다듬으며, 추론 계산과 도구·검증의 조합은 그 능력을 실제 과제 수행으로 연결한다.
이후 수업은 추론 계산 확장, 견고한 검증, 도구·코드 피드백, 다단계 계획, 강화 학습, 메모리와 장기 과제 평가 등을 다룬다. 프로젝트 역시 단순한 앱 시연보다 가설을 세우고 실험으로 개선이나 한계를 확인하는 접근을 요구한다. 첫 강의가 제시하는 학습 방향도 바로 이 지점이다.
출처 및 슬라이드 인용
· Stanford Online — CS329A Part 1: Course Overview
· Stanford CS329A 공식 강의 개요·일정·읽기 자료
슬라이드 이미지 3장은 원본 강의 영상의 해당 화면을 발췌했다. 각 그림 아래에 시점과 출처를 표기했으며, 본문은 원문의 직역이 아닌 요약·해설이다.