에이전트 RL은 무엇이 다른가 — 장기 지평·희소 보상·긴 궤적
From Reasoning to Agentic: Credit Assignment in Reinforcement Learning for Large Language Models (Zhang, arXiv 2026)
Introduction
“RLHF Reward 설계 시리즈”에서 46편에 걸쳐 다룬 세계는 사실 하나의 틀 안에 있었다. 문제 하나를 주고(prompt), 응답 하나를 받고(response), 그 응답에 보상 하나를 매긴다(reward). PPO든 GRPO든 DAPO든, 알고리즘이 아무리 정교해져도 최적화 대상은 언제나 “프롬프트 하나 → 응답 하나”였다. 수학 문제를 풀든, 코드를 짜든, 대화 한 턴에 응답하든 마찬가지다. 여기서는 이걸 단일 턴 RL이라 부른다.
그런데 실제로 LLM에게 시키고 싶은 일 중 상당수는 한 턴으로 끝나지 않는다. 저장소를 뒤져 버그를 찾고 고치고 테스트를 돌려 확인하는 일, 웹을 여러 번 검색하며 답을 좁혀가는 일, 브라우저를 클릭해가며 양식을 채우는 일 — 이런 일에는 “응답 하나”가 없다. 대신 행동의 연쇄가 있다. 도구를 호출하고, 결과를 관찰하고, 다음 행동을 정하고, 이걸 수십 번 반복한 끝에야 성공인지 실패인지가 갈린다. 이걸 에이전트(agent)라 부르고, 이런 궤적을 RL로 학습시키는 것을 agentic RL이라 부른다.
이 시리즈는 “agentic RL을 위해 reward를 어떻게 설계하고, 공(credit)을 어떻게 나누는가”를 다룬다. 총 16편이다. 이 첫 편의 일은 하나다 — 단일 턴 RLVR에서 정확히 무엇을 바꿔야 에이전트가 되는가를 정의하는 것.
결론부터 말하면, 알고리즘 본체는 그대로다. PPO도 GRPO도 agentic RL에 그대로 쓰인다. 바뀌는 것은 최적화 대상의 모양이다. 응답 하나가 궤적 하나가 되고, 궤적이 길어지고, 보상이 늦게 오고, 그 늦게 온 보상 하나를 궤적 전체에 어떻게 되돌려 나눠줄 것인가(credit assignment)라는 단일 턴에는 없던 문제가 생긴다. 이 글은 그 변화를 다섯 축(궤적 길이·토큰 규모·보상 시점·환경·실패 원인) 표로 정리하고, 그 변화가 만드는 세 가지 근본 난제 — 희소성(sparsity), 지연(delay)과 credit assignment, 길이(length) — 를 하나씩 뜯어본 뒤, 남은 15편이 이 세 난제를 어떤 순서로 공략하는지 지도를 그린다.
이 글이 다루지 않는 것도 분명히 해두자. Agentic RL이 실제로 쓰이는 도메인 각각의 세부 구현(검색·코드·웹)이나 특정 벤치마크의 상세 스펙은 여기서 다루지 않는다. 벤치마크 본체는 이미 Red-Teaming 시리즈가, 평가 방법론은 LLM 평가 체계 시리즈가 다뤘고, 도메인별 적용은 이 시리즈 4부(#12~#14)의 몫이다. 이 글의 역할은 오직 “무엇이 다른가”를 정의하는 것뿐이다.
Background
단일 턴 RL: 사실상 밴딧이다
간단히 복습하자. reward 4분류와 설계 절차 편에서 다뤘듯, 단일 턴 RLVR의 데이터 하나는 \((x, y, r)\) 세 개면 끝난다. \(x\)는 프롬프트, \(y\)는 모델이 생성한 응답, \(r(x, y)\)는 그 응답에 매긴 보상이다. 정책 \(\pi_\theta(y \mid x)\)를 학습해 \(\mathbb{E}_{x, y \sim \pi_\theta}[r(x, y)]\)를 키우는 것이 목표다.
여기엔 “상태(state)”가 없다. 응답을 생성하고 나면 끝이다. 다음 스텝도, 환경의 반응도 없다. RL 용어로 말하면 이건 문맥적 밴딧(contextual bandit), 혹은 스텝이 하나뿐인 퇴화한 MDP(degenerate single-step MDP)다. The Landscape of Agentic Reinforcement Learning for LLMs 서베이(Zhang et al., TMLR 2026)가 정확히 이렇게 표현한다 — 기존 LLM-RL을 “퇴화한 단일 스텝 MDP”로, agentic RL을 “시간적으로 확장된, 부분관측 가능한 MDP(POMDP)”로 대비시킨다.
Agentic RL: POMDP다
에이전트를 태스크에 풀어놓으면 그림이 완전히 달라진다. 형식화하면 다음과 같다.
- \(s_t\): 환경의 실제 상태 (예: 저장소의 파일 내용, 웹페이지의 실제 DOM, 게임의 내부 상태). 모델은 이걸 직접 보지 못한다.
- \(o_t\): 모델이 실제로 받는 관측 (예: 터미널 출력, 스크린샷, 검색 결과 스니펫). \(s_t\)의 일부만 담고 있다 — 부분관측(partial observability)이다.
- \(a_t\): 모델의 행동 (도구 호출 + 메시지).
- \(s_{t+1} \sim P(\cdot \mid s_t, a_t)\): 환경이 행동에 반응해 상태를 바꾼다. 이 전이가 확률적이고, 되돌릴 수 없는 경우가 많다 — 한 번 지운 파일은 다시 안 생긴다.
- \(r_t\): 보상. 대부분의 \(t\)에서 \(r_t = 0\)이고, 에피소드가 끝나는 \(t=T\) 시점에만 \(r_T \neq 0\)이 관측되는 경우가 흔하다.
에피소드는 두 가지 방식으로 끝난다. 성공 조건을 만족했을 때(예: 테스트 통과, 목표 페이지 도달), 혹은 미리 정한 턴 한도(turn budget)에 도달했을 때다. 턴 한도에 걸려 강제 종료된 궤적은 대개 실패로 채점된다 — 그리고 이 “턴 한도 초과”도 그 자체로 하나의 실패 유형이라는 점을 뒤에서 다시 짚는다.
비유하면 이렇다. 단일 턴 RL은 사격장에서 과녁 하나에 화살 하나를 쏘고 점수를 받는 것이다. 쏘고 나면 끝, 과녁도 그대로다. Agentic RL은 안개 낀 미로 속을 걷는 것에 가깝다 — 내가 보는 건 손전등이 비추는 좁은 반경뿐이고(부분관측), 문을 하나 열면 미로 구조 자체가 바뀌기도 하며(상태 전이), 출구에 도착해야만 성공인지 실패인지 알려준다(지연된 보상). 화살을 쏘는 것과 미로를 걷는 것은 같은 “점수 매기기”라도 완전히 다른 문제다.
핵심 용어를 다시 정리하면 이렇다.
- 에피소드(episode): 태스크 시작부터 끝(성공·실패·턴 한도 도달)까지의 전체 상호작용.
- 궤적(trajectory): 한 에피소드 동안 쌓인 \((o_0, a_0, o_1, a_1, \dots, o_T)\)의 나열.
- 턴(turn): 모델이 한 번 응답(도구 호출 포함)하고 환경이 한 번 반응하는 한 사이클.
- credit assignment: 궤적 끝에 매겨진 보상을, 그 궤적을 구성한 개별 턴·토큰에 나눠 돌리는 문제.
세 도메인으로 감을 잡아보면 이렇다. 검색 에이전트에서 상태는 “실제로 존재하는 웹 전체”고 관측은 “이번 검색 결과 스니펫 몇 개”다. 코드 에이전트에서 상태는 “저장소의 실제 파일 트리와 테스트 결과”고 관측은 “터미널에 찍힌 로그”다. 웹·GUI 에이전트에서 상태는 “웹페이지의 실제 DOM”이고 관측은 “스크린샷 한 장 또는 접근성 트리 일부”다. 셋 다 관측이 상태의 일부만 보여준다는 점은 같다. 이 세 도메인은 4부(#12~#14)에서 각각 다시 다룬다.
Method
이제 이 변화를 정확히 뜯어보자. 먼저 다섯 축을 표로 대조하고, 그 표가 만드는 세 가지 근본 난제를 하나씩 본다.
무엇이 달라지는가 — 표로
단일 턴과 agentic을 다섯 축으로 대조하면 다음과 같다.
| 축 | 단일 턴 | Agentic |
|---|---|---|
| 궤적 길이 | 응답 1개 | 10~100+ 턴 |
| 토큰 규모 | 수백~수만 (약 500~30,000+) | 100K~500K+ |
| 보상 시점 | 응답 끝 | 에피소드 끝(훨씬 뒤) |
| 환경 | 없음 (정적 프롬프트, 퇴화한 단일 스텝 MDP) | 상태가 변하는 환경 (POMDP) |
| 실패 원인 | 추론 오류 | 도구 오사용·상태 오인·복구 실패 |
숫자는 Credit Assignment 서베이(Zhang, arXiv 2026)가 근거다. 이 서베이는 reasoning RL(단일 턴, 긴 CoT 포함)의 전형적인 궤적을 “GSM8K급 문제는 약 500토큰, 어려운 경쟁 수학 문제는 10,000~30,000+토큰”이라 잡고, agentic RL은 “10~100+ 턴에 걸쳐 있고, 총 토큰 수가 흔히 100K~500K+에 이른다”고 잡는다. 구체적인 예로 SWE-bench류 세팅에서 에이전트가 평균 약 64턴, 약 131K 토큰을 쓴다는 수치를 든다.
이 표의 각 줄이 뒤에서 다룰 문제의 씨앗이다.
토큰 규모부터 보면, 단순히 “더 길다”는 것 이상의 함의가 있다. 컨텍스트 길이가 모델의 컨텍스트 윈도우 한계에 가까워지거나, 서빙 단계에서 KV 캐시 메모리가 배치 크기를 제약하기 쉬워진다. 단일 턴에서는 거의 신경 쓸 일이 없던 이런 인프라 제약이, agentic RL에서는 알고리즘 설계만큼이나 중요해진다.
보상 시점이 밀리는 것부터 보자. 단일 턴에서는 응답을 뱉는 순간 보상이 매겨진다. Agentic RL에서는 Rethinking Agentic Reinforcement Learning In Large Language Models(Cui et al., arXiv 2026)이 지적하듯 “최적화 대상이 즉각적인 보상에서 궤적 전체의 누적 보상(cumulative return)으로 옮겨가며, 초기 행동의 결과가 시간이 지나며 전파된다.” 3턴째에 잘못 놓은 수가 47턴째에야 실패로 드러날 수 있다는 뜻이다.
환경이 생기는 것도 마찬가지다. 단일 턴에는 “다시 시도”가 있다 — 같은 프롬프트로 다시 샘플링하면 그만이다. Agentic RL에서는 환경이 상태를 갖고, 그 상태가 행동에 따라 바뀐다. 되돌릴 수 없는 행동(파일 삭제, 실제 API 호출)도 있다. Credit Assignment 서베이는 이런 환경의 성질을 여섯 가지로 정리한다.
| 성질 | 의미 |
|---|---|
| 전이 비폐쇄성 (transition non-closure) | 같은 행동을 다시 해도 같은 결과가 안 나옴 |
| 부분관측성 (partial observability) | 관측이 실제 상태의 일부만 보여줌 |
| 제한된 리플레이 (limited replay) | 과거 상태로 되감기가 어려움 |
| 이질적 행동 (heterogeneous actions) | 자연어 응답과 구조화된 도구 호출이 섞여 있음 |
| 약한 중간 검증가능성 (weak intermediate verifiability) | 중간 스텝이 맞았는지 확인할 방법이 마땅치 않음 |
| 에이전트 결합 (agent coupling) | 여러 에이전트가 협업할 때 누구 탓인지 더 애매해짐 |
실패 원인이 바뀌는 것은 이 성질들의 직접적인 결과다. 단일 턴에서 모델이 틀리는 이유는 대개 하나 — 추론이 틀렸다. Agentic RL에서는 추론이 다 맞아도 실패할 수 있다. 세 가지 대표 유형으로 나눠보면 다음과 같다.
| 실패 유형 | 원인 | 예시 |
|---|---|---|
| 도구 오사용 | 이질적 행동 | 정확한 파일을 찾아놓고도 엉뚱한 파일에 패치를 적용 |
| 상태 오인 | 부분관측성 | 페이지가 아직 로딩 중인데 렌더링이 끝난 줄 알고 없는 버튼을 클릭 |
| 복구 실패 | 제한된 리플레이 | 실수로 지운 파일을 되돌릴 방법이 없어, 이후 모든 행동이 잘못된 전제 위에서 진행됨 |
세 유형 모두 추론 자체는 멀쩡했다는 점이 공통적이다. 모델이 “무엇을 해야 하는지”는 맞게 판단했는데, 그 판단을 실제 환경에 정확히 실행하거나(도구 오사용), 환경이 지금 어떤 상태인지 정확히 읽어내거나(상태 오인), 한 번 어긋난 상태에서 되돌아 나오는(복구 실패) 데서 실패한다. 이 세 유형은 뒤 #10 도구 호출을 어떻게 채점하나, #9 환경이 곧 reward다 편에서 각각 다시 등장한다.
희소성 (Sparsity)
첫 번째 근본 난제는 희소성이다. Credit Assignment 서베이의 문제의식을 그대로 옮기면: “LLM을 위한 RL은 점점 더 희소한 결과 보상(sparse outcome reward)에 의존하는데, 이런 보상은 어느 토큰, 어느 추론 스텝, 어느 도구 호출, 어느 메모리 연산, 어느 에이전트가 그 결과를 만들었는지 거의 말해주지 않는다.”
문제는 이 희소성이 agentic RL에서는 이중으로 온다는 점이다. 첫째, 보상 자체가 궤적 끝에 0/1 하나뿐이라는 구조적 희소성. 둘째, 그 0/1이 대부분 0이라는 확률적 희소성 — 즉 애초에 성공하는 궤적 자체가 드물다.
두 번째 희소성은 실제 벤치마크 수치로 확인된다. Proposer-Agent-Evaluator(PAE)(Zhou et al., arXiv 2024)가 보고한 바로는 Claude 3 Sonnet이 WebArena 하위 태스크(OpenStreetMap·PostMill·OneStopMarket)에서 평균 14.6%의 성공률을 보인다. WebAgent-R1(Wei et al., EMNLP 2025)이 보고한 RL 이전 베이스라인은 더 낮다 — WebArena-Lite에서 Qwen2.5-3B가 6.1%, Llama-3.1-8B가 8.5%다. 강화학습으로 끌어올리기 이전의 기본 성공률이 이 정도라는 뜻이고, 바로 이 낮은 성공률에서 롤아웃을 시작해야 한다.
배치 안의 롤아웃 대부분이 실패로 끝나면 무슨 일이 생기는지는 뒤 Experiments 절에서 직접 계산해본다. 결론만 미리 말하면 — 성공률이 낮을수록 “그룹 내 보상이 전부 같아서 학습 신호가 사라지는” 경우가 늘어난다. 이 문제를 정면으로 다루는 게 #4 결과만으로는 부족하다다 — outcome reward만으로 부족한 이유와, 이를 보완하는 신호를 어디서 가져오는지를 다룬다.
지연(Delay)과 credit assignment — 시리즈의 척추
두 번째 난제가 이 시리즈 전체의 척추다. 정의부터 하자. Credit assignment란 “궤적 전체에 매겨진 보상 하나를, 그 궤적을 구성하는 개별 행동들에 어떻게 나눠 돌려줄 것인가”의 문제다.
왜 문제가 되는지 수식으로 보자. 에피소드 길이를 \(T\), 감가율을 \(\gamma\)라 하고 보상이 마지막 스텝에만 \(r_T \neq 0\)으로 관측된다고 하자(그 전 모든 \(r_t = 0\)). 시점 \(t\)의 리턴은
\[G_t = \sum_{k=t}^{T} \gamma^{k-t} r_k = \gamma^{T-t} r_T\]이다. LLM RL에서 흔히 쓰는 \(\gamma \approx 1\)(무할인, 또는 할인율을 아예 1로 둠)을 대입하면 \(G_t = r_T\)가 되어, 모든 \(t\)에서 리턴이 완전히 똑같다. 이 리턴에서 베이스라인을 빼 advantage를 구하고 정책 그래디언트를 계산하면, 3턴째의 행동이 만든 advantage와 47턴째의 행동이 만든 advantage가 부호도 크기도 동일하다. 3턴째에 잘못된 tool call을 했더라도, 그 뒤 47턴째까지 나머지 행동을 전부 옳게 했다면, 이 옳은 행동들과 3턴째의 실수는 학습 신호 상에서 구분되지 않는다 — 궤적이 결국 실패로 끝났다면 둘 다 똑같이 페널티를 받고, 성공으로 끝났다면 둘 다 똑같이 보상을 받는다.
작은 궤적으로 직접 확인해보자. 5턴짜리 SWE 스타일 작업이 있다고 하자.
| 턴 | 행동 | 실제로 옳았나 |
|---|---|---|
| 1 | 이슈 설명을 읽고 관련 파일을 검색 | 옳음 |
| 2 | 후보 파일을 열어 코드를 확인 | 옳음 |
| 3 | 엉뚱한 파일에 패치를 적용 (도구 오사용) | 틀림 |
| 4 | 테스트를 실행해 실패를 관찰 | 옳음 (관찰 자체는 정확) |
| 5 | 잘못된 원인을 추정하고 재수정 시도 | 옳음 (3턴의 실수 탓에 불가피하게 헛수고) |
에피소드는 테스트 실패로 끝나 \(r_T = 0\)이다. Outcome reward만 쓰면 \(G_1 = G_2 = G_3 = G_4 = G_5 = 0\) — 다섯 턴 모두 정확히 같은 리턴을 받는다. 턴 1, 2, 4, 5가 사실 정확했다는 정보, 그리고 턴 3 하나가 문제의 원인이었다는 정보는 outcome reward 하나에는 전혀 담기지 않는다.
일상 비유를 들면, 이건 300페이지짜리 추리소설을 다 읽고 마지막 장에서만 범인이 누구인지 알려주는 것과 같다. 범인을 가리키는 결정적 단서는 47페이지에 딱 한 번 나왔을 수 있는데, 마지막 장을 보고 나서 “범인이 OO였다”는 사실 하나만으로 300페이지 전부를 다시 채점해야 한다면, 단서가 있던 47페이지와 아무 정보도 없던 12페이지를 구분할 방법이 없다. 이게 바로 outcome reward 하나로 긴 궤적을 학습시킬 때 벌어지는 일이다.
이 문제를 어떻게 푸는가가 시리즈 2부 전체(#4~#8)의 주제이고, 바로 다음 편 #2 공을 어디에 돌릴 것인가가 그 지도를 그린다. Credit Assignment 서베이는 2024년 1월부터 2026년 7월까지 발표된 논문 92편을 스크리닝해 69편(핵심 방법론 56편 + 인접·경계 방법론 13편)을 두 축으로 정리한다 — 입도(granularity): 무엇 단위로 공을 나누는가(토큰/세그먼트/스텝·턴/멀티에이전트), 방법론(methodology): 어떻게 나누는가(몬테카를로, temporal difference, 모델 기반, 게임이론, 정보이론). #2는 이 지도를 자세히 그리고, #5~#7이 입도별로(턴/스텝/토큰) 실제 방법을 하나씩 다룬다.
알고리즘은 그대로인데, 값을 매기는 대상이 바뀐다
이상하게 들릴 수 있다. PPO도 GRPO도 agentic RL에 그대로 쓰는데, 왜 credit assignment가 별도로 16편이나 필요한 문제가 되는가? 답은 알고리즘 내부의 한 항 — 가치 함수(value function) \(V(s)\) — 이 단일 턴에서는 사실상 의미가 없었다는 데 있다.
PPO가 쓰는 GAE(Generalized Advantage Estimation)는 다음과 같이 정의된다.
\[A_t^{GAE} = \sum_{l=0}^{\infty} (\gamma\lambda)^l \delta_{t+l}, \qquad \delta_t = r_t + \gamma V(s_{t+1}) - V(s_t)\]단일 턴에서는 상태가 프롬프트 하나, 스텝도 하나뿐이라 \(t\)가 사실상 한 값밖에 없다. \(V(s_{t+1})\)로 미래를 추정해 현재를 보정하는 부트스트래핑 자체가 별 역할을 못 한다. Agentic RL에서는 \(t=0,\dots,T\)가 실제로 \(T\)개 존재하므로, \(V(s_t)\)가 “지금 이 환경 상태에서 앞으로 얼마나 잘 풀릴지”를 실제로 추정해야 하는 진짜 문제가 된다. 이 추정이 얼마나 정확하냐가 곧 credit assignment 품질과 직결된다 — \(V\)가 정확하면 \(\delta_t\)가 “이 턴의 행동이 국지적으로 좋았는지”를 드러내고, \(V\)가 부정확하면(추정할 상태 자체가 희소해서 학습이 어려우면) \(\delta_t\)는 그냥 노이즈가 된다. #6 스텝을 단위로 삼는다가 이 \(V(s_t)\) 추정 문제를 정면으로 다룬다.
길이 (Length)
세 번째 난제는 단순하다 — 궤적이 길면 전부 비싸진다.
첫째, 롤아웃 비용이 커진다. 궤적 하나를 얻으려면 LLM 호출과 환경 스텝을 턴 수만큼 반복해야 하고, 이건 대부분 직렬화되어 있어 지연시간이 그대로 누적된다. 단일 턴은 호출 한 번으로 끝나지만, 앞서 본 SWE-bench 예시처럼 궤적 하나에 평균 64번의 LLM 호출이 필요하다면 롤아웃 하나를 얻는 데 걸리는 시간부터 다르다.
둘째, 컨텍스트가 매 턴 불어난다. 턴이 진행될수록 이전 관측과 행동이 전부 컨텍스트에 쌓이고, 그만큼 다음 턴의 프리필(prefill) 비용도 커진다. 앞서 SWE-bench 예시의 131K 토큰은 대부분 이렇게 누적된 컨텍스트다.
셋째, 분산(variance)이 커진다. 환경 전이가 확률적이므로, 턴 수가 늘어날수록 같은 정책이라도 궤적마다 결과가 갈릴 여지가 커진다. A Practitioner’s Guide to Multi-turn Agentic Reinforcement Learning(Wang and Ammanabrolu, UC San Diego, NeurIPS 2025 Workshop)이 실험으로 보여주는 것도 이 맥락이다 — 턴 단위로 촘촘한(dense) 보상을 주면 학습이 빨라지지만, “성능과 안정성은 어떤 RL 알고리즘을 쓰는가에 크게 의존한다.” 즉 지평이 길어질수록 보상을 어떻게 잘게 쪼개 줄 것인가와, 그 신호를 어떤 알고리즘으로 소화할 것인가가 같이 맞아떨어져야 한다는 뜻이다. 이 균형을 #8 shaping은 약인가 독인가가 다룬다.
넷째, 탐색(exploration)이 어려워진다. 턴이 길어질수록 정책이 좋은 행동 시퀀스를 우연히라도 밟을 확률 자체가 낮아지고, 여러 태스크를 한꺼번에 학습시키면 태스크마다 난이도가 달라 advantage 스케일이 서로 엉킨다. AgentRL(Zhang et al., Tsinghua University, 2025)이 제안하는 cross-policy sampling(여러 정책 스냅샷을 섞어 롤아웃해 탐색을 늘림)과 task advantage normalization(태스크별로 advantage 스케일을 따로 정규화해 멀티태스크 학습을 안정화함)이 정확히 이 지점을 겨냥한 장치다.
이 네 가지 비용은 뒤 Experiments 절에서 직접 숫자로 확인한다.
RLHF Reward 설계 시리즈와의 관계
RLHF Reward 설계 시리즈 46편이 이미 reward 4분류를 세웠다. Agentic RL에서 이 네 분류가 사라지는 게 아니라, 각각 “궤적” 단위로 변형된다.
| 분류 | 단일 턴 | Agentic 변형 |
|---|---|---|
| ① 규칙 기반 검증 | 수학 정답, 테스트 통과 | 환경 상태 검증 — #9 |
| ② 스칼라 RM | 선호 쌍 | 궤적 선호 |
| ③ reference judge | rubric + 모범답안 | 궤적 rubric — #11 |
| ④ GRM | self-critique | agentic GRM — #11 |
①은 가장 직관적으로 옮겨간다. 단일 턴에서 “정답 문자열이 일치하는가”를 확인했다면, agentic에서는 “환경의 최종 상태가 원하는 상태인가”를 확인한다 — 파일이 실제로 수정됐는가, 테스트 스위트가 실제로 통과하는가, 장바구니에 실제로 그 상품이 담겼는가. 검증 대상이 텍스트에서 상태(state)로 바뀐다. #9 환경이 곧 reward다가 이 이야기다.
②는 비교의 단위가 바뀐다. 단일 턴에서는 “이 응답이 저 응답보다 낫다”를 판정했다면, agentic에서는 “이 궤적이 저 궤적보다 낫다”를 판정한다. 같은 최종 상태에 도달했더라도, 더 적은 턴에 더 적은 부작용(불필요한 파일 수정, 되돌릴 수 없는 API 호출 등)으로 도달한 궤적을 선호하는 식이다.
③~④는 “응답 한 쌍을 비교하던 것”에서 “궤적 한 쌍, 혹은 궤적 전체를 놓고 rubric으로 채점하는 것”으로 옮겨간다. #11 궤적을 judge가 채점한다가 ③④를 함께 다룬다.
한 가지 분명히 해둘 것은, PPO·GRPO·DPO 같은 알고리즘 본체는 이 시리즈에서 다시 설명하지 않는다는 점이다. 그건 이미 PPO, GRPO, DAPO 편에 있고, reward 설계 절차 일반론은 reward 4분류와 설계 절차에 있다. 이 시리즈가 다루는 건 오직 하나다 — 그 알고리즘들에 들어가는 입력(궤적, reward, credit)이 장기 지평·멀티턴으로 갈 때 무엇이 깨지고, 무엇으로 대체되는가.
세 난제 요약
| 난제 | 정의 | 원인 | 담당 편 |
|---|---|---|---|
| 희소성 | 궤적 끝에 0/1 하나, 그마저도 대부분 0 | 성공 자체가 드묾(6~15%대 베이스라인) | #4 |
| 지연 · credit assignment | 늦게 온 보상 하나를 긴 궤적에 되돌려 나눔 | 모든 \(t\)에서 리턴이 동일 (\(G_t = \gamma^{T-t} r_T\)) | #2, #5~#7 |
| 길이 | 턴이 늘수록 비용·분산이 같이 커짐 | 직렬화된 롤아웃, 누적 컨텍스트, 확률적 전이 | #3, #8 |
세 난제는 서로 독립이 아니다. 뒤 Experiments 절에서 보겠지만, 길이가 길어지면 저절로 희소해진다 — 턴마다 실수할 확률이 아무리 작아도, 충분히 많은 턴을 이어붙이면 궤적 전체가 성공할 확률은 기하급수적으로 떨어진다. 그래서 이 셋을 따로따로 푸는 게 아니라 같이 놓고 봐야 한다.
시리즈 지도
16편은 6부로 나뉜다. 각 부가 답하는 질문은 다음과 같다.
순서에는 이유가 있다. 1부가 문제를 정의하면, 2부는 이 시리즈의 척추인 credit assignment를 정면으로 푼다. 3부는 그렇게 나눈 credit을 애초에 어디서 얻어올 것인가로 옮겨가고, 4부는 그 원칙을 실제 도메인에 적용한다. 5부는 그 적용 과정에서 생기는 새로운 실패를 다루고, 6부는 이 전부를 프론티어 모델의 실제 학습 레시피로 종합한다.
1부 — 왜 에이전트는 다른가. 지금 이 글(#1)이 단일 턴과 agentic을 가르는 축을 정의했다. #2 공을 어디에 돌릴 것인가는 credit assignment 방법론 69편의 지도를 그리고, #3 멀티턴 RL 실무 가이드는 환경·보상·정책 세 축에서 실제로 뭐가 작동하는지 실험으로 확인한다.
2부 — credit assignment, 공을 어디에 돌릴 것인가. 이 시리즈의 척추다. #4 결과만으로는 부족하다가 outcome reward의 한계를 다시 짚고, #5 턴 단위로 공을 나눈다, #6 스텝을 단위로 삼는다, #7 토큰과 세그먼트로 더 잘게가 입도를 하나씩 낮춰가며 credit을 나누는 방법을 다룬다. #8 shaping은 약인가 독인가는 이 과정에서 흔히 쓰는 reward shaping이 편향을 만드는 경우를 짚는다.
3부 — reward를 어디서 얻나. Agentic RL에서 reward의 원천은 사람 선호만이 아니다. #9 환경이 곧 reward다, #10 도구 호출을 어떻게 채점하나, #11 궤적을 judge가 채점한다가 각각 환경 상태·도구 호출·judge라는 세 원천을 다룬다.
4부 — 도메인별 설계. 실제로 agentic RL이 쓰이는 세 대표 도메인 — #12 검색 에이전트, #13 코드 에이전트, #14 웹·GUI 에이전트 — 에서 앞선 원칙들이 실제로 어떻게 구현되는지 본다.
5부 — 실패와 방어. #15 에이전트의 reward hacking은 궤적 단위로 reward를 설계했을 때 생기는 새로운 종류의 hacking을 다룬다.
6부 — 실전 종합. #16 프론티어 모델은 실제로 어떻게 하나가 지금까지의 원칙을 실제 프론티어 모델 학습 사례로 마무리한다.
Experiments
세 난제가 실제 숫자로 어떻게 나타나는지 직접 계산해보자.
왜 길수록 저절로 희소해지는가 — 복합 확률로 보기
각 턴에서 에이전트가 “그 턴에 필요한 행동을 올바르게 수행할 확률”을 \(q\)라 하자. 턴들이 (근사적으로) 독립이라면, \(n\)턴짜리 궤적 전체가 끝까지 올바르게 수행될 확률은
\[P(\text{전체 성공}) \approx q^n\]이다. \(q\)가 아주 높아도 — 턴 하나를 틀릴 확률이 겨우 2%뿐이라 \(q=0.98\)이라 해도 — \(n=50\)을 대입하면
\[0.98^{50} \approx 0.364\]로, 궤적 전체 성공률이 36% 수준까지 떨어진다. \(q=0.95\)(턴당 실수 확률 5%)면
\[0.95^{50} \approx 0.077\]즉 약 7.7%까지 떨어진다. 이게 앞서 본 WebArena·SWE-bench류 베이스라인이 한 자릿수~10%대에 몰려 있는 이유 중 하나다 — 턴 하나하나는 거의 다 맞아도, 충분히 길게 이어붙이면 어딘가 한 번은 반드시 삐끗한다. 길이 문제가 희소성 문제를 스스로 만들어낸다. 이 계산은 실제 시스템을 측정한 값이 아니라, 세 난제가 서로 독립이 아니라는 걸 보이기 위한 단순화된 확률 모델이다.
토이 계산: 배치 64에서 성공 궤적은 몇 개인가
설정: 궤적 하나가 50턴짜리 SWE 스타일 작업이라 하고, 성공률(에피소드가 성공으로 끝날 확률)을 \(p = 0.05\)로 잡는다. 방금 확인했듯 이 정도 성공률은 긴 궤적에서 자연스럽게 나온다. 배치 크기를 64개 롤아웃으로 잡자.
성공 궤적 개수. 기댓값은 단순 계산이다.
\[\mathbb{E}[\text{성공 궤적 수}] = 64 \times 0.05 = 3.2\]배치 64개 중 평균 3개 정도만 성공으로 끝난다. 나머지 61개는 보상이 0인 채로 끝나는 궤적이다.
그중 학습 신호가 되는 것은? GRPO류 알고리즘은 같은 프롬프트(태스크)에 대해 여러 번 롤아웃한 뒤, 그룹 내에서 보상을 정규화해 advantage를 만든다.
\[A_i = \frac{r_i - \text{mean}(r_1, \dots, r_G)}{\text{std}(r_1, \dots, r_G)}\]여기서 \(G\)는 그룹 크기(같은 태스크를 몇 번 롤아웃했는가)다. 배치 64를 “8개 태스크 × 태스크당 8개 롤아웃”으로 나눴다고 하자(\(G=8\)). 한 그룹 안의 8개 롤아웃이 전부 실패하면 \(r_1 = \dots = r_8 = 0\)이 되어 분모(\(\text{std}\))가 0이 된다 — advantage가 정의되지 않거나, 구현상 0으로 처리된다. 이 그룹은 그래디언트에 아무 기여도 하지 못한다.
비유하면, 시험을 100명이 봤는데 전원이 낙제했을 때 등수를 매길 수 없는 것과 같다. 상대평가는 잘한 사람과 못한 사람이 섞여 있어야 성립하는데, 전원이 같은 결과라면 “누가 더 나은가”를 가를 기준 자체가 없다.
한 그룹이 “전부 실패”할 확률은 이항분포로 정확히 계산된다.
\[P(\text{그룹 전체 실패}) = (1-p)^G = 0.95^8 \approx 0.663\]포아송 근사로 교차 검증해도 비슷하다. 그룹당 기대 성공 수는 \(Gp = 8 \times 0.05 = 0.4\)이므로, \(P(\text{성공 } 0\text{개}) \approx e^{-0.4} \approx 0.670\)이 되어 정확한 이항분포 값 0.663과 거의 일치한다.
즉 그룹 8개 중 평균 5.3개가 이런 식으로 통째로 죽는다. 살아남아 그래디언트를 만드는 그룹은 평균 2.7개, 비율로는 약 33.7%뿐이다. (반대로 “전부 성공”해서 죽는 그룹은 \(0.05^8 \approx 3.9 \times 10^{-11}\)로 사실상 없다 — 죽는 그룹은 거의 다 “전부 실패” 쪽이다.)
정리하면: 성공률이 낮은 태스크일수록, 배치의 상당 부분이 “롤아웃은 했지만 학습에는 쓸모없는” 그룹으로 낭비된다. 이 문제에 대한 실무적 정답이 #3과 DAPO의 dynamic sampling이다 — 정확도가 0 또는 1인(그래디언트가 0인) 그룹을 걸러내고, 그 자리를 새로 오버샘플링한 그룹으로 채워, 배치 안의 모든 그룹이 실제로 그래디언트에 기여하도록 만든다.
비용 감각: 토큰 예산
이번엔 순수하게 토큰 수만 놓고 보자. 설정은 궤적당 토큰 수 × 배치 64 × 학습 스텝 1000이다.
| 세팅 | 궤적당 토큰 | 총 토큰 (× 배치 64 × 스텝 1000) | 단일 턴(GSM8K급) 대비 |
|---|---|---|---|
| 단일 턴 — GSM8K급 | 500 | 32,000,000 (32M) | 1x (기준) |
| 단일 턴 — 경쟁 수학급 | 30,000 | 1,920,000,000 (1.92B) | 60x |
| Agentic — 본문 가정 | 100,000 | 6,400,000,000 (6.4B) | 200x |
| Agentic — SWE-bench 평균 | 131,000 | 8,384,000,000 (8.384B) | 262x |
궤적당 100K 토큰짜리 agentic RL을 배치 64, 스텝 1000으로 돌리면 6.4B 토큰이 든다. 가장 짧은 단일 턴(GSM8K급, 500토큰)과 비교하면 200배, 가장 긴 단일 턴(경쟁 수학급, 30K토큰)과 비교해도 여전히 약 3.3배다.
여기서 두 가지를 짚어야 한다. 첫째, 이 표는 디코드(생성) 토큰만 센 것이다. 실제로는 매 턴마다 이전 관측·행동이 쌓인 컨텍스트 전체를 다시 프리필해야 하므로(prefix caching으로 일부 상쇄되긴 하지만), 실제 연산량은 이 단순 토큰 카운트보다 더 나쁘게 스케일한다. 둘째, 이 숫자는 롤아웃(생성) 비용만 잡은 것이고, 여기에 정책 업데이트·critic 학습 등 학습 자체의 비용은 포함하지 않았다. 즉 6.4B라는 숫자는 agentic RL 한 스텝의 진짜 비용의 하한에 가깝다.
이 비용을 줄이려는 인프라적 시도도 있다. AgentRL이 제안하는 완전 비동기 생성-학습 파이프라인(fully-asynchronous generation-training pipeline)은 롤아웃 생성과 정책 업데이트를 분리해, 긴 궤적 하나가 끝나기를 기다리느라 GPU가 노는 시간을 줄인다. 다만 이건 지연 시간(latency)을 줄이는 것이지, 토큰 총량 자체를 줄이는 건 아니다 — 위 표의 총 토큰 수는 그대로다.
Conclusion
한 줄로 정리하면: agentic RL이 단일 턴 RL과 다른 건 알고리즘이 아니라 대상이다. PPO도 GRPO도 그대로 쓰지만, 그 알고리즘이 받아들이는 궤적이 10~100+ 턴으로 늘어나고, 토큰이 100K~500K+로 불어나고, 보상이 에피소드 끝에야 한 번 오고, 환경이 상태를 갖고 반응한다. 이 변화가 만드는 세 근본 난제가 희소성(성공 궤적 자체가 드묾), 지연과 credit assignment(늦게 온 보상 하나를 긴 궤적에 어떻게 나눠줄 것인가), 길이(길어질수록 비용·분산이 같이 커짐)다.
토이 계산이 보여준 숫자를 다시 짚으면 — 궤적당 실수 확률이 5%만 돼도 50턴 궤적의 성공률은 약 7.7%까지 떨어진다. 이런 태스크에서 배치 64개를 굴리면 평균 3.2개만 성공하고, 그룹 단위로 보면 그룹의 3분의 2가 그래디언트를 만들지 못한 채 버려진다. 토큰으로 보면 궤적 하나가 100K 토큰만 돼도 같은 배치·스텝 수 기준으로 단일 턴 대비 최대 200배의 토큰이 든다. 이 세 계산이 이 시리즈가 존재하는 이유다 — sparse하고 비싸고 지연된 신호를 그냥 던져 넣는 것으로는 답이 안 나온다.
한계도 분명히 해두자. 이 글의 표와 계산은 대표적인 수치를 근거로 한 근사다. 실제 태스크의 성공률·궤적 길이·토큰 수는 도메인(검색/코드/웹)마다 크게 다르고, 이건 4부(#12~#14)에서 도메인별로 다시 다룬다.
실무자 입장에서 이 셋을 다시 정리하면 다음과 같다.
- 성공률이 낮은 태스크라면, 배치 크기를 무작정 키우기보다 그룹 안에 실제로 분산이 생기도록 샘플링을 설계해야 한다.
- 궤적이 길다면, outcome reward 하나로는 credit이 새어나간다는 것을 전제하고 시작해야 한다.
- 토큰 예산은 단일 턴 RLVR 때 짜던 계획보다 최소 수십~수백 배 크게 잡아야 한다.
다음 편은 이 시리즈의 척추인 credit assignment 문제 그 자체다. #2 공을 어디에 돌릴 것인가에서 69편의 방법론을 입도(토큰/세그먼트/스텝·턴/멀티에이전트) × 방법론(몬테카를로/TD/모델 기반/게임이론/정보이론) 두 축으로 지도를 그린다.
참고 문헌
- Zhang, 2026. From Reasoning to Agentic: Credit Assignment in Reinforcement Learning for Large Language Models.
- Zhang et al., 2026. The Landscape of Agentic Reinforcement Learning for LLMs: A Survey. Transactions on Machine Learning Research (TMLR) 2026.
- Wang and Ammanabrolu, UC San Diego, 2025. A Practitioner’s Guide to Multi-turn Agentic Reinforcement Learning. NeurIPS 2025 Workshop on Multi-Turn Interactions in Large Language Models.
- Zhang et al., Tsinghua University, 2025. AgentRL: Scaling Agentic Reinforcement Learning with a Multi-Turn, Multi-Task Framework.
- Cui et al., 2026. Rethinking Agentic Reinforcement Learning In Large Language Models.
- Yu et al., ByteDance Seed, 2025. DAPO: An Open-Source LLM Reinforcement Learning System at Scale. (dynamic sampling 상세는 DAPO 편에서 다룬다.)
- Wei et al., EMNLP 2025. WebAgent-R1: Training Web Agents via End-to-End Multi-Turn Reinforcement Learning. (WebArena-Lite 베이스라인 수치 인용.)
- Zhou et al., 2024. Proposer-Agent-Evaluator(PAE): Autonomous Skill Discovery For Foundation Model Internet Agents. (WebArena에서 Claude 3 Sonnet 성공률 인용.)
Agentic RL 설계 시리즈
이 글은 Agentic RL 설계 시리즈의 첫 번째 글이다.
1부. 왜 에이전트는 다른가
- (현재 글) 에이전트 RL은 무엇이 다른가 — 장기 지평·희소 보상·긴 궤적
- 공을 어디에 돌릴 것인가 — credit assignment 47개 방법의 지도
- 멀티턴 RL 실무 가이드 — 무엇이 실제로 작동하는가
2부. credit assignment — 공을 어디에 돌릴 것인가
- 결과만으로는 부족하다 — 장기 지평에서 증폭되는 RLVR의 한계
- 턴 단위로 공을 나눈다 — turn-level reward 설계
- 스텝을 단위로 삼는다 — 행동 단위 궤적 표현과 credit
- 토큰과 세그먼트로 더 잘게 — 세밀한 입도의 득과 실
- shaping은 약인가 독인가 — 중간 보상의 효율과 위험
3부. reward를 어디서 얻나
- 환경이 곧 reward다 — 샌드박스·테스트·상태 검증
- 도구 호출을 어떻게 채점하나 — ToolRL·ToolRM
- 궤적을 judge가 채점한다 — rubric 생성형 reward의 확장
4부. 도메인별 설계
- 검색 에이전트 — Search-R1에서 DeepDive까지
- 코드 에이전트 — SWE-RL과 테스트라는 reward
- 웹·GUI 에이전트 — end-to-end 멀티턴 RL
5부. 실패와 방어
- 에이전트의 reward hacking — 판정기가 뚫린다, 그리고 조합의 실패
6부. 실전 종합
- 프론티어 모델은 실제로 어떻게 하나 — 최신 모델들의 agentic RL 설계
본 시리즈는 16편으로 구성된다.
Enjoy Reading This Article?
Here are some more articles you might like to read next: