23. 에이전틱 AI — 행동하는 모델을 정렬하기

자주 하는 실수와 요약

자주 하는 실수
실수 나온 문제 바로잡는 법
토큰 MDP도 에이전트도 "여러 스텝"이니 같은 문제라고 봄 1 다음 상태를 누가 정하는지 본다. 토큰 MDP는 이어붙이기로 결정론적, 에이전트는 환경이 확률적으로 돌려준다
조건을 같게 두기만 하면 비교가 공정하다고 봄 2 도구가 보태는 몫이 사람마다 다르면 어느 조건으로 같게 두느냐에 따라 순위가 뒤집힌다. 조건을 점수와 함께 적는다
하네스 없이 잰 「모델의 원래 실력」이 있다고 봄 3 에이전트 점수는 모델과 하네스 짝의 점수다. 하네스가 보태는 몫이 모델마다 다르다
아무것도 안 고친 데서 하나만 바꾼 차이가 그 부품의 몫이라고 봄 4 두 부품이 같은 실패를 고치면 몫이 겹친다. 순서에 따라 몫이 달라지므로 순서마다의 몫이나 그 평균을 함께 적는다
성공 궤적 안의 삽질 스텝은 실패 궤적에서 눌리니 괜찮다고 봄 5 상쇄는 기대값에서만 일어난다. 궤적 네 개로 하는 한 번의 업데이트에서는 분산으로 남고, 궤적이 길수록 커진다
결말 확률이 가장 크게 떨어진 스텝을 범인으로 봄 6, 7 떨어진 자리는 결과가 드러난 자리다. 하류의 하락은 상류 실수에 딸려 온 것이므로, 되돌아오지 않는 상태(코드 실행)에서는 처음 어긋난 곳에 몫을 몰아 준다
프롬프트에 "테스트 파일 수정 금지"라고 쓰면 해킹이 막힌다고 봄 8 보상이 어기는 쪽을 더 높게 주면 RL이 지시를 무시한다. 숨긴 채점용 테스트와 수정 허용 범위로 보상에서 막는다
긴 궤적은 토큰이 많으니 그래디언트를 더 받는다고 봄 9 길이로 나누면 궤적 총합은 모두 A^\textcolor{#8e44ad}{\hat A} — 토큰 수가 힘이 되지 않는다
궤적 총합이 같으니 길이 정규화가 공정하다고 봄 9 토큰 하나의 몫은 A^i/∣oi∣\textcolor{#8e44ad}{\hat A_i}/\lvert o_i\rvert. 긴 실패 속 나쁜 습관은 10배 덜 혼나 "틀릴 때는 길게"가 강화된다
요약

에이전트는 도구를 부르고 결과를 관찰하며 여러 번 행동한다. 토큰 MDP와 달리 다음 상태를 환경이 정하고, 보상은 긴 궤적 끝에 한 번 오며, 환경의 일부만 보인다. 에이전트의 점수는 모델 하나가 아니라 모델과 하네스(도구 호출·기억·스킬을 정하는 실행 틀)의 짝이 낸다. 같은 GPT-4 Turbo가 하네스에 따라 SWE-bench Lite를 2.67%에서 18.00%까지 풀었고, 하네스가 보태는 몫이 모델마다 달라 어느 하네스에서 재느냐에 따라 모델 순위가 뒤집힌다. 하네스도 같은 보상 루프로 고칠 수 있다. 지시문을 글로 되돌아보며 고치고(GEPA), 하네스 코드를 스스로 고치고(DGM), 기억을 다루는 정책이나 하네스를 고치는 모델을 강화학습으로 기른다(Memory-R1, Harness-R1). 갱신이 파라미터 대신 하네스로 갈 뿐이다. 모델로 돌아오면, 궤적 전체에 어드밴티지 하나를 주는 방식은 삽질과 실수까지 핵심 기여와 똑같이 강화하고, 이를 가르려면 스텝마다 기준을 주는 비평가나 과정 보상이 다시 필요해진다. 끝의 1비트를 토큰에 나누는 길은 넷이다 — 엔트로피 같은 정책 통계로 다시 나누거나, 더 굴려 가치를 추정하거나, 정답을 본 자기 자신을 교사로 쓰거나, 실행해서 처음 어긋난 곳에 몰아 준다. 결말 확률이 가장 크게 떨어진 곳은 결과가 드러난 곳이지 원인이 생긴 곳이 아니다. 행동이 실제 파일·코드·메일을 바꾸므로 리워드 해킹의 피해도 실질적이어서, 금지는 프롬프트가 아니라 보상(숨긴 채점, 수정 범위)에서 해야 한다. 흐름을 시그널의 해상도로 보면 시퀀스 스칼라(DPO) → 그룹 상대 점수(GRPO) → 스텝 보상(PRM) → 토큰별 방향(OPD)으로 내려가고, 궤적 길이가 제각각인 에이전트에서는 길이로 나누는 정규화조차 "틀릴 때는 길게"를 가르친다.

한 번 생성하는 모델을 위해 만든 도구는 에이전트에서 이렇게 다시 쓰인다.

도구 에이전트에서
빈칸 Φt\Phi_t (Φ는 대문자 파이. 토큰에 곱하는 그래디언트 가중치) 턴마다 다른 값을 넣고 싶어진다
가치 함수·GAE(비평가의 예측으로 어드밴티지를 추정하는 방법) 원래 이런 다단계 문제를 위한 도구. 긴 궤적에서는 비평가를 다시 들이는 선택(비평가를 쓰는 PPO 변형 VAPO)이 매력적
PPO 클리핑 서로 기다리지 않는 루프에서 낡은 롤아웃(예전 정책이 뽑은 궤적)을 쓸 때의 안전장치
선호 마진 성공 궤적 vs 실패 궤적의 마진
길이 편향 “스텝 수 편향” — 길게 헤매다 성공한 것과 짧게 성공한 것
레퍼런스 모델 SFT된 기본 에이전트 정책
다차원 보상 성공·비용·안전을 한 스칼라로 합치는 문제, OPD의 방향 시그널
온라인 학습의 어려움 (계속 갱신, 드리프트, 데이터 비용) 서로 기다리지 않는 루프(갱신), 스텝별 PRM + KL(드리프트), “사용이 곧 데이터”(데이터 비용)
RLVR·희소 보상 테스트 통과가 검증기, 희소 보상이 핵심 난제
프리트레인·SFT·RL의 역할 분담 프리트레인 = 도구 사용과 추론의 기본기, SFT = 전문가 궤적, RL = 자기 경험으로 전략 개선. 여기에 하네스 = 같은 모델이 무엇을 보고 무엇을 할 수 있는지
GRPO 변종 GSPO-token(응답 단위 비율을 토큰마다 쓰게 한 변형, 다중 턴이 계기), Dr. GRPO의 길이 편향(궤적이 길수록 증폭, 문제 9), 롤아웃-학습 불일치(서빙과 학습이 분리되어 서로 기다리지 않는 RL에서 필연)

에이전트는 "한 번 대답하기"가 아니라 "업무를 처리하기"라서 경제적 가치가 가장 직접적이다. 그리고 행동이 순차적이고, 결과가 지연되고, 환경이 확률적이라는 점에서 RL이 원래 풀려고 만들어진 문제다. 언어모델 RL이 환경 없는 특수한 경우였다면, 에이전트 RL은 원래의 MDP로 돌아가는 것이다. 위 도구가 거의 모두 필요하고, 대부분이 더 날카로운 형태로 다시 나타난다. 마지막으로 OpenClaw-RL 같은 시스템이 보여주듯, 배포된 에이전트의 모든 상호작용이 학습 데이터가 되면 "데이터 수집 → 학습 → 배포"의 순서가 하나의 루프로 합쳐진다 — 온라인이냐 오프라인이냐의 딜레마가, 환경 피드백이 끊임없이 들어온다는 사실로 자연스럽게 풀리기 시작한다. 그 루프가 고치는 것은 모델의 파라미터일 수도, 모델을 감싼 하네스일 수도 있다. cd /tmp/claude-1000/-home-hakkyu-lameproof/1a964a37-7f78-4d59-8aaf-1efffbb1b316/scratchpad/s3_genrl_23 && sed -n 100,118p 23-before.md; sed -n 228,272p 23-before.md; sed -n 293,312p 23-before.md; sed -n 346,371p 23-before.md