Chapter 23: 에이전틱 AI — 행동하는 모델을 정렬하기
의문
정책 그래디언트(답을 내는 모델, 곧 정책의 확률을 보상 쪽으로 미는 방법), DPO, GRPO로 생성모델을 학습시켜 정렬하는(사람이 바라는 방식으로 답하게 맞추는) 방법에는 공통된 전제가 있다: 한 번의 입력에 한 번의 출력. 프롬프트를 주면 텍스트가 나오고, 노이즈를 주면 이미지가 나온다.
현실에서 가장 빠르게 성장하는 AI 응용은 그렇지 않다. LLM이 도구를 호출하고, 파일을 읽고, 웹을 검색하고, 코드를 실행하고, 결과를 관찰한 뒤 다음 행동을 정한다. 한 번의 출력이 아니라 여러 스텝에 걸친 의사결정의 연쇄다.
| 요청 | 에이전트가 밟는 스텝 |
|---|---|
| “이 코드의 버그를 찾아서 고쳐줘” | 파일 읽기 → 에러 재현 → 원인 분석 → 수정 → 테스트 → 커밋 |
| “다음 주 출장 일정을 잡아줘” | 캘린더 확인 → 항공편 검색 → 호텔 예약 → 일정 등록 |
| “이 논문의 실험을 재현해줘” | 논문 읽기 → 코드 작성 → 데이터 받기 → 실행 → 결과 비교 |
이런 도우미를 몇 개 써 본 사람은 하나 더 알아챈다. 같은 회사의 같은 언어모델을 쓴다는 제품들인데도, 일을 끝까지 해내는 정도가 제품마다 다르다. 모델 말고도 결과를 가르는 무언가가 있다는 뜻이다.
그래서 묻는다:
행동이 수십 번 이어지고 점수는 맨 끝에 한 번만 온다면, 어느 행동을 칭찬해야 하는가?
같은 모델을 감싼 틀만 바꿔도 점수가 달라진다면, 강화학습이 고칠 대상은 모델뿐인가?
한 번 생성하는 모델을 위해 만든 도구 — 마진, 그룹(같은 문제에 뽑은 답 묶음) 상대 점수, 검증기 보상 — 는 어디까지 그대로 쓸 수 있는가?
에이전틱 RL: 다음 상태를 환경이 정한다
언어모델도 토큰을 하나씩 고르니 이미 "여러 스텝"이다. 그렇다면 에이전트가 수십 스텝을 밟는다는 것은 무엇이 새로운가?
역사: MDP에서 도구를 쓰는 언어모델까지
상태·행동·전이·보상으로 순차적 의사결정을 적는 틀은 벨먼(Richard Bellman)이 1957년 논문 「A Markovian Decision Process」에서 정리했다. 이 틀이 실제 일에 쓰인 이른 예는 장사였다. 로널드 하워드(Ronald Howard)는 백화점 시어스(Sears)의 카탈로그 발송을 이 틀로 다듬다가, 정책을 고치고 다시 평가하기를 되풀이하는 방법(정책 반복)을 내놓아 1960년 책 『Dynamic Programming and Markov Processes』에 실었다. 카탈로그를 보내는 결정의 값은 그 자리에서 정해지지 않고, 손님이 나중에 사느냐로 늦게 드러난다. 서튼(Richard Sutton)과 바토(Andrew Barto)의 교과서 『Reinforcement Learning: An Introduction』(1998)은 강화학습을 "에이전트가 환경과 주고받는 루프"로 가르치는 표준이 됐다.
토큰 MDP에는 환경이 없다
언어모델을 토큰 하나가 행동인 다스텝 MDP(마르코프 결정 과정)로 쓰면, 상태는 프롬프트와 지금까지의 토큰이고 행동은 다음 토큰이다. 하지만 그 MDP에는 환경이 없다 — 다음 상태는 방금 고른 토큰을 이어붙인 것으로 완전히 정해진다. 외부 세계가 끼어들지 않으니 응답 전체를 행동 하나로 봐도 잃는 것이 거의 없고, GRPO가 모든 토큰에 같은 어드밴티지(평균보다 얼마나 나은가)를 주는 것도 그래서 통한다.
에이전트에서는 다르다. 상태는 프롬프트와 지금까지의 관찰·행동 이력(
| 측면 | LLM RL | 에이전틱 RL |
|---|---|---|
| 에피소드 길이 | 1 (한 번 생성) | 수십~수백 (다단계 의사결정) |
| 행동 공간 | 토큰 시퀀스 | 도구 호출 + 토큰 시퀀스 |
| 관찰 | 프롬프트만 | 프롬프트 + 환경 피드백 |
| 보상 지연 | 짧다 (응답 끝) | 길다 (최종 결과에서만) |
| 상태 전이 | 결정론적 (토큰 이어붙이기) | 확률적 (도구·환경이 응답) |
| 크레딧 할당 | 토큰 단위로는 있으나 보통 무시 | 핵심 문제 (어떤 스텝이 성공을 만들었나) |
| 부분 관찰 | 없음 | 있음 (웹페이지의 일부만 보임) |
이것은 RL의 원래 문제 설정과 훨씬 더 가깝다. 사실 “한 번 생성” 설정이 RL의 관점에서는 퇴화된(degenerate) 특수 케이스였다.
RL의 기본 구조: 에이전트가 환경에서 행동(action)하고, 보상(reward)과 관찰(observation)을 돌려받는다. LLM RL은 이 루프가 1회로 퇴화한 것이고, 에이전틱 RL은 원래의 다회 루프로 돌아간다.
graph LR
subgraph llm["LLM RL (1스텝 MDP)"]
direction LR
S1["프롬프트 x"] -->|"행동: 응답 y"| R1["보상 r"]
end
subgraph agent["에이전틱 RL (다스텝 POMDP)"]
direction LR
SA["프롬프트"] -->|"a₁: 파일 읽기"| O1["관찰 o₁"]
O1 -->|"a₂: 코드 수정"| O2["관찰 o₂"]
O2 -->|"a₃: 테스트"| O3["관찰 o₃"]
O3 -->|"..."| ON["최종 결과"]
ON --> RA["보상 r"]
end
class llm m-blue
class agent m-orange
class RA m-red
ML에서: 길어지는 궤적의 값
긴 컨텍스트의 비용. 관찰 이력이 쌓이면서 스텝마다 처리할 컨텍스트가 길어진다. 궤적 하나가 이미 비싼데 GRPO는 같은 태스크에 그룹 크기
비싼 궤적과 늦게 오는 보상을 실제 시스템은 이렇게 다뤘다.
| 시스템 | 무엇을 | 어떻게 |
|---|---|---|
| KARL (Databricks, arXiv:2603.05218, 2026년 3월) | 기업 문서 검색 에이전트 | 궤적을 매번 새로 굴리는 대신 반복적인 대규모 배치 오프폴리시(예전 정책이 모은 궤적으로 배우는) RL. 수치 추론, 보고서 합성, 사실 집계 등 여섯 종류의 검색 과제를 함께 학습했더니 단일 과제 최적화보다 일반화가 좋았다. 생성 엔진과 학습 엔진의 확률 불일치에 강하게 설계 |
| AutoResearch-RL (arXiv:2603.07300, 2026년 3월) | 신경망 구조·하이퍼파라미터를 스스로 실험하는 연구 에이전트 | 보상이 실험 하나를 끝까지 돌려야 나온다. 학습 스크립트를 고치고 정해진 시간 동안 돌려 학습에 쓰지 않은 평가용 데이터의 bits-per-byte(데이터 1바이트를 적는 데 드는 평균 비트 수, 낮을수록 좋다)로 보상, PPO로 정책 갱신. 약 8 GPU 시간 뒤 2.681로 사람 전문가 기준(2.847)보다 낮은 값을 보고 |
문제 1 — 토큰 MDP와 턴 MDP
언어모델의 토큰 단위 MDP와 에이전트의 턴 단위 MDP는 둘 다 "여러 스텝"이다. 가장 크게 다른 점 하나를 상태 전이의 관점에서 쓰시오.





정리 토큰 MDP의 다음 상태는 "이어붙이기"로 완전히 결정된다. 에이전트의 다음 상태는 외부 환경(도구 출력, 사용자)이 정한다 — 확률적이고 부분적으로만 관찰된다.