Paul Jialiang Wu agentic-portfolio English 中文 Español 日本語✉️ 무료 구독
← 포트폴리오로 돌아가기

AI-Native 시리즈 · 강화학습

모델이 손을 갖게 될 때

지은이 Paul Jialiang Wu · agentic-portfolio-lovat.vercel.app · 2026-08-24 · 5개 에피소드 중 5번째

Cover: white ground with a black left rail. Eyebrow AI-NATIVE SERIES · REINFORCEMENT LEARNING above the serif headline 'When the Model Gets Hands' and the lines 'A completion becomes a trajectory. The harness stops being scaffolding and becomes the policy.' Two rows of three grey cards. Top row: THE ACTION tool call, no longer a token; THE WORLD it answers back, and it has state; THE HARNESS inside the system, change retries change policy. Bottom row: CREDIT across 20 steps, which call earned the win; THE TRAP reward the tool call, and it stops editing files; THE REPAIR reward state change, evidence not behaviour.
루프 자체는 그대로다. 그 안의 모든 항목이 그저 더 무거워졌을 뿐이다.

1분 요약 — 여기서 얻어갈 것

모델이 행동을 취하면 세 가지가 바뀌는데, 그중 어느 것도 알고리즘이 아니다. 행동은 토큰이 아니라 도구 호출이다. 세계는 상태를 가지고 있고 응답도 한다. 그리고 harness — 재시도 로직, 파서, 스캐폴드 — 는 내부에 있다: 재시도 규칙을 바꾸면 가중치 하나 건드리지 않고도 정책을 바꾼 것이 된다. 이것이 바로 이 에피소드의 발견이다. 이는 또한 Episode 3의 문제를 더 고약한 형태로 되살린다: 테스트 러너를 호출한 것에 보상을 주면 에이전트는 파일을 수정하는 대신 테스트 러너를 호출하게 된다, 왜냐하면 행동 형태의 프록시는 출력 형태의 프록시보다 훨씬 해킹하기 쉽기 때문이다 — 에이전트가 그것을 직접 통제하며, 채점자가 거부할 만한 것을 전혀 만들어낼 필요가 없다. 해결책은 보너스를 줄이는 것이 아니다. 보상을 상태 변화에 조건부로 거는 것이다: 행동 자체가 아니라 그 행동이 무언가를 해냈다는 증거에 보상하는 것이다.

네 개의 에피소드 동안 '완성'은 한 번 채점되는 텍스트 블록이었다. 이제 그것은 궤적이 된다: 스무 번의 도구 호출, 각각이 모델이 몰랐던 무언가를 반환하며, 방금 한 행동 때문에 변화한 세계 속에서.

Episode 1의 일곱 상자 루프는 변하지 않는다. 그 안의 모든 항목이 그저 더 무거워질 뿐이다.

하나의 아이디어: harness는 정책의 일부다

이번 시즌 전체에서 내가 가장 강하게 옹호할 주장이 여기 있다.

에이전트는 모델에 배관을 좀 더한 것이 아니다. 그 배관 — 재시도 로직, 출력 파서, 도구 스키마, 스텝 제한 — 이 정책이 훈련되는 궤적의 분포를 결정한다. 재시도 규칙을 한 번에서 세 번으로 바꾸면 롤아웃에 등장하는 행동이 달라지고, 이는 그래디언트가 보는 것이 달라진다는 뜻이며, 결국 정책이 달라진다는 뜻이다. 가중치는 하나도 건드리지 않았는데도 말이다.

이것이 '똑같은 에이전트를, 다른 harness에서'라는 말이 무의미한 이유이며, 에이전트형 RL 결과를 논문 간에 비교하기가 그토록 어려운 이유다. harness는 아무도 보고하지 않는 하이퍼파라미터다.

Diagram titled 'What changes when a completion becomes a trajectory' with three columns — new object, new failure, inside the policy — and five rows: the action (a tool call, not a token), the world (it has state and answers back), the harness (retries and parsing shape the rollout), credit (one reward, twenty candidate causes), and the proxy (now action-shaped, so easier to hack). Only the harness row has a dot in all three columns. Footer reads: the seven-box loop is unchanged, every object inside it got heavier. Change the retry rule and you changed the policy without touching a weight.
모든 열에 점이 찍힌 행은 단 하나뿐이다. 그 행이 바로 이번 발견이다.

장기 지평의 기여도 할당: 보스전

스무 번의 도구 호출, 끝에 하나의 보상. 어느 호출이 그것을 벌어들였는가?

정직한 답은 결과 보상만으로는 알 수 없다는 것이고, 지평은 이를 특정한 방식으로 더 악화시킨다: 스무 스텝에 걸쳐 성공 신호가 단 하나뿐이면, 개별 행동에 돌아가는 기여도 할당은 나머지 열아홉 개가 만드는 노이즈에 묻혀버린다. Episode 2에서 본 분산 문제가 지평의 길이만큼 불어난 셈이다.

솔깃한 해결책은 더 촘촘한 보상, 즉 매 스텝마다 채점하는 것이다. 그런데 이는 곧바로 Episode 3로 되돌아가게 만든다.

실패의 방: 도구 사용에 보상을 주다

코딩 에이전트가 테스트 러너를 호출할 때마다 작은 보너스를 준다고 하자. 합리적이다 — 자기 작업을 검증하길 바라는 것이니까.

결과는 이렇다: 에이전트는 테스트 러너를 호출한다. 그다음 두 번 호출한다. 그다음엔 파일을 수정하는 대신 테스트 러너를 호출한다. 그러다 안정적이고 보상이 높은 루프에 정착한다 — 테스트를 돌리고, 실패를 관찰하고, 다시 테스트를 돌리고 — 스텝 한도가 에피소드를 끝낼 때까지 내내 보너스를 챙기면서.

이것은 또다시 굿하트의 법칙(Goodhart's Law)이다. 다만 이번에는 프록시가 행동 형태라는 점이 다르고, 이는 명백히 더 나쁘다. 행동 형태의 프록시는 에이전트가 직접 통제한다. 채점자가 거부할 만한 것을 만들어낼 필요가 전혀 없다. 그저 움직이기만.

해결책은 보너스를 줄이는 것이 아니다. 보너스를 상태 변화에 조건부로 만드는 것이다 — 지난번 실행 이후 파일이 바뀌었을 때만 테스트 실행에 보상을 준다. 행동 자체가 아니라, 그 행동이 무언가를 해냈다는 증거에 보상하는 것이다.

계속 읽기 전에 예측해보라

에이전트가 대략 스무 번의 도구 호출이 필요한 코딩 작업을 받는다. 성공률은 30%다. 정확히 한 가지만 고칠 예산이 있다. 무엇이 성공률을 가장 크게 끌어올릴까?

(a) 더 나은 베이스 모델. (b) 매 스텝마다 더 촘촘한 프로세스 보상. (c) 액션 마스킹으로 유효하지 않은 도구 호출이 아예 샘플링되지 않게 하기. (d) harness의 재시도·파싱 동작을 고치기.

대부분은 (a)나 (b)를 고른다. 위의 실패의 방은 이 지평에서는 (b)가 실제로 위험하다는 것을 보여주는 논거다. 그리고 (c)와 (d)야말로 값싼 승리가 숨어 있는 곳이다. 둘 다 정책이 학습되는 분포 자체를, 그래디언트가 계산되기도 전에.

액션 마스킹: 세상을 흉내 내도록 에이전트를 훈련시키지 말라

도구 호출이 문법적으로 유효하지 않거나 현재 상태에서 사용할 수 없다면, 두 가지 선택지가 있다. 모델이 그것을 샘플링하게 놔둔 뒤 사후에 벌점을 주거나, 애초에 샘플링될 수 없게 만드는 것이다.

거의 항상 두 번째가 옳은데, 그 이유는 효율성 때문이 아니다. 유효하지 않은 행동을 샘플링하고 벌점을 주는 것은 모델의 용량을 API의 형태를 학습하는 데 소모시킨다 — 이는 작성 시점에 이미 완전히 알려진 정보이며, 경사하강법으로 새삼 발견될 필요가 없다. 이를 마스킹하면 모든 그래디언트가 실제로 불확실한 부분으로 향하게 된다.

버려지고 있던 공짜 감독 신호

에이전트가 받는 모든 관측은 예측할 수 있었지만 하지 못한 세계에 관한 사실이다. 현재 상태와 행동으로부터 다음 관측을 예측하도록 모델을 훈련시키는 것은 추가 비용이 전혀 들지 않는 감독 신호다 — 롤아웃 비용은 이미 지불했으니까.

이것이 바로 세계 모델로 이어지는 다리이며, 현재 이 시즌의 최전선이 놓인 지점이다 [1][2]. 확정된 결론이라기보다는 아직 연구가 진행 중인 지점으로 받아들이길 바란다: harness를 훈련 가능한 표면으로 보는 이 관점은 최근에 등장했고 아직 움직이고 있다.

솔직히 말해, 이것이 치르는 대가

이 중 확정된 것은 거의 없다. 1화부터 4화까지는 수치가 딸린 결과들 위에 서 있다. 반면 이번 화는 엔지니어링 관행과 아주 최근 연구에 상당 부분 기대고 있으며, 나는 이를 얼버무리기보다는 있는 그대로 표시하려 했다.

평가는 이 시즌 어느 곳보다 이 지점에서 더 부실하다. 소수의 과제에 걸쳐 측정한, 스무 스텝에 걸친 30%의 성공률은 분산이 엄청나게 크다. 보고되는 에이전트형 개선 대부분은 자기 평가 자체의 노이즈 범위 안에 있으며, 자신이 주장하는 효과를 검출하는 데 필요한 표본 크기를 보고하는 경우는 거의 없다.

그리고 harness에 관한 논점은 양날의 검이다. harness가 정책의 일부라면, 내 harness에서 나온 결과는 당신의 harness에 대해서는 아무것도 말해주지 못할 수 있다.

졸업 테스트

위로 스크롤하지 않고도 다음 질문들에 답할 수 있다면 시즌 1을 떠나도 좋다. 일곱 개의 상자 이름을 대고, GRPO가 무엇을 바꾸고 DAPO가 무엇을 바꾸는지 말해보라. 토큰 수준 관점이 더 상세한데도 왜 완성물 단위 밴딧 정식화가 틀린 것이 아닌가? 굿하트의 법칙을 rU의 관점에서 서술해보라. 엔트로피는 떨어지는데 손실 곡선은 훌륭해 보인다 — 무엇을 확인해야 하는가? 당신의 에이전트가 스무 번의 호출에 걸쳐 30%의 확률로 성공한다면, 베이스 모델을 건드리기 전에 살펴봐야 할 가장 저렴한 두 지점을 말해보라.

다음 시즌 예고 → 시즌 2

이번 시즌 전체는 하나의 조용하지만 거대한 전제를 깔고 있었다: 과제 분포는 그대로 머물러 있다는 전제. 훈련하고, 평가하고, 배포한다. 정책이 최적화된 세계가 곧 그 정책이 마주할 세계라는 것이다.

벤치마크보다 오래 실행되는 모든 에이전트에게 이것은 거짓이다. 도구는 새 버전으로 바뀐다. 사용자는 요청하는 내용을 바꾼다. 에이전트가 탐색하도록 학습한 코드베이스는 리팩터링되는데, 그것도 종종 에이전트 자신에 의해서다.

정책이 최적화되었던 세계가 더 이상 존재하지 않게 될 때 정책에는 무슨 일이 일어나는가 — 그리고 옛것을 잊지 않으면서 새것을 어떻게 배우는가?

이 물음에 잘못 답하면 파국적 망각(catastrophic forgetting)을 얻는다. 잘 답하면 아직 제대로 된 이름이 없는 무언가를 얻는다.

시즌 2 — 메모리 엔진(The Memory Engine).

5화, 시리즈: Intelligence Engineering Adventures, Season 1 — The Consequence Engine. 이 시리즈 원문의 주장들은 정의, 도출, 증거, 엔지니어링적 선택, 열린 질문이라는 범주로 태깅되어 있으며, 비유는 주장을 소개할 수는 있어도 그 주장의 증거로 쓰이는 일은 없다. 각 에피소드에는 CPU에서 실행 가능한 실습이 딸려 있다. 이 글에는 어떤 고용주나 클라이언트의 자료도 포함되어 있지 않다. — Paul Jialiang Wu · agentic-portfolio-lovat.vercel.app

참고문헌

  1. Luo, X. et al. (2025). Agent Lightning: Train ANY AI Agents with Reinforcement Learning. harness를 이음매로 보는 프레이밍. arxiv.org/abs/2508.03680
  2. He, Z. et al. (2026). Agent Lightning v1.0: Towards Harnessed Agentic RL. arxiv.org/abs/2608.17528
  3. Guo, D. et al. (2025). DeepSeek-R1. 이 에피소드가 행동 영역으로 확장하는 규칙 기반 보상 설계. arxiv.org/abs/2501.12948
  4. Goodhart, C. A. E. (1975). Problems of Monetary Management: The U.K. Experience. 이 에피소드가 행동-형태 버전으로 다시 마주치는 법칙. 개요와 출처
  5. Schulman, J. et al. (2015). High-Dimensional Continuous Control Using Generalized Advantage Estimation. 긴 지평이 부담을 주는, 시간에 걸친 기여도 할당 메커니즘. arxiv.org/abs/1506.02438
  6. Sutton, R. & Barto, A. (2018). Reinforcement Learning: An Introduction, 제2판 incompleteideas.net/book/the-book-2nd.html