← Blog
KRAFTON AI · LUDO ROBOTICS / 연구 krafton-ai/Prompt2Policy

Prompt-to-Policy: 강화학습을 위한 에이전트 기반 자동화 엔지니어링

원하는 행동을 자연어로 설명하면, 에이전트가 보상 함수를 작성하고, 정책을 학습시키고, LLM이 작성한 코드 메트릭과 VLM으로 결과를 판정한 뒤, 정책이 의도에 부합할 때까지 자동으로 수정합니다. 사람의 개입이 필요하지 않습니다.

자연어 프롬프트만으로 P2P가 학습한 다양한 행동 샘플. 수동 보상 엔지니어링 없이 생성되었습니다.

보상 엔지니어링 병목

강화학습에서 보상 함수는 정책이 무엇을 최적화해야 하는지를 정의합니다. "자연스럽게 앞으로 걸어라"라는 간단한 지시도 직관적으로는 명확하지만, 이를 학습 알고리즘이 따를 수 있는 수학적 목적 함수로 변환하는 것은 결코 간단하지 않습니다:

이렇게 보상 함수를 작성하고, 학습하고, 관찰하고, 수정하는 반복 과정을 보상 엔지니어링이라 합니다. 실제로는 태스크당 수 주의 연구자 시간이 소요되고, 깊은 도메인 전문 지식이 필요하며, 강화학습을 새로운 태스크와 환경으로 확장하는 데 있어 가장 큰 병목으로 남아 있습니다.

수동 보상 엔지니어링

  • 전문가가 보상 함수를 작성
  • 수 시간 학습 후 영상 관찰
  • 실패 모드를 수동으로 진단
  • 계수를 조정하고 재학습
  • 수일에서 수주간 반복

Prompt-to-Policy (자동화)

  • LLM이 보상 함수를 작성
  • PPO가 정책을 학습
  • LLM과 VLM이 행동을 판정
  • LLM이 진단 및 수정
  • 성공할 때까지 자동 반복

우리의 접근 방식

Prompt-to-Policy (P2P)는 이 전체 사이클을 자동화합니다. 사용자는 원하는 행동을 자연어로 설명하기만 하면 됩니다. 이후 LLM 기반 에이전트가 자율적으로 반복합니다: 보상 함수를 작성하고, 강화학습으로 정책을 학습하고, 멀티모달 판정(코드 기반 trajectory 분석과 VLM 영상 평가를 결합)을 통해 결과를 판단합니다. 행동이 의도에 부합하지 않으면, 에이전트가 수정하고 재학습합니다. 입력은 프롬프트뿐이고, 출력은 학습된 정책입니다.

프롬프트
"Shadow box while walking"
자연어
Prompt‑to‑Policy
작성 → 학습 → 판정 → 수정
자율 반복
학습된 정책
사람의 개입 없음
행동이 의도와 일치할 때까지 반복
1
작성
LLM이 의도와 환경 명세로부터 초기 보상 함수와 코드 기반 판정 함수를 작성
2
학습
생성된 보상을 사용해 PPO가 여러 시드와 하이퍼파라미터 구성으로 병렬 학습
3
판정
코드 기반 판정기가 trajectory 지표를 분석하고, VLM이 rollout 영상을 시청. LLM이 둘을 통합하여 합격/불합격 판정
4
수정
실패 시 LLM 에이전트가 실패를 진단하고, 보상 함수를 수정하며, 다음 iteration을 위해 하이퍼파라미터를 조정

P2P의 위치

보상 엔지니어링 Eureka, Text2Reward 보상만 탐색, 인간 개입 필요 Prompt-to-Policy 본 연구 보상 + 하이퍼파라미터 공동 탐색, 자동 생성 평가, 강화학습 전용 가드레일 연구 자동화 AutoResearch, AI Scientist v2 전 주기 자동화, 강화학습 전용 판정 없음 집중형 범용형

기존 보상 엔지니어링 시스템(Eureka, Text2Reward)은 LLM으로 보상 함수를 반복 개선하지만, 과제마다 사람이 정의한 적합도 지표가 필요하고, 직전 iteration의 보상만 수정합니다. 범용 연구 자동화 에이전트(AutoResearch, AI Scientist v2)는 더 넓은 자율성을 제공하지만, 구조화된 행동 평가, 실험 계보, 보상 특화 가드레일 같은 RL 전용 scaffolding 없이 동작합니다.

P2P는 반복적 보상 작성과 에이전트 유연성을 결합하면서, RL에 특화된 구조를 추가합니다: 의도로부터 평가 기준을 자동 생성하는 다중 모달 판정, 보상과 하이퍼파라미터의 동시 탐색 및 실험 계보 전체에 걸친 분기, 그리고 단계별 교훈, 코드 리뷰, 다중 판정 합성 등의 RL 전용 가드레일.

핵심 설계 결정

1. 이중 판정 및 교차 검증

물리 지표만으로는 정성적 측면을 놓치고("보행이 자연스러운가?"), VLM만으로는 환각 위험이 있습니다("부드럽게 달리고 있습니다"라고 하지만 실제로는 제자리 진동). P2P는 두 개의 독립적인 판정기를 병렬로 실행합니다: Code Judge(LLM이 작성한 평가 함수로 trajectory 데이터를 분석)와 VLM Judge(비전-언어 모델이 rollout 영상을 시청). LLM Synthesizer가 두 점수를 합산하며, 불일치 시 영상의 특정 순간을 재확인하거나 물리 데이터를 직접 검증합니다.

VLM Judge: 2턴 프로토콜

단순히 "에이전트가 성공했나요?"라고 묻는 방식은 VLM이 비판적 평가 없이 동의하는 경향이 있었습니다. 이를 완화하기 위해 P2P는 2턴 프로토콜(Andrade et al., 2025)을 사용합니다. 첫 번째 턴에서 VLM은 태스크 설명과 시작 자세의 정지 프레임만 받고(rollout 영상 없음), 성공을 판단할 3–5개의 구체적인 시각적 기준을 제시해야 합니다. 두 번째 턴에서 rollout 영상을 받고 각 기준을 개별적으로 평가한 다음, 종합적인 전체 점수를 부여합니다. 기준이 사전에 확정되므로, VLM은 일괄 승인 대신 각 기준을 영상과 대조하여 확인해야 합니다.

턴 1: 기준 정의 시작 프레임만 (rollout 영상 없음) 입력 과제 의도 + 카메라 정보 + 시작 프레임 출력 3~5개의 구체적 시각 성공 기준 예시: 1. 보폭 사이에 두 발이 지면을 떠남 2. 팔이 교대로 앞뒤로 흔들림 3. 전진 속도 > 걷기 속도 증거를 보기 전에 기준이 확정됨 그 다음 턴 2: 영상으로 채점 영상 또는 합성 이미지 입력 Rollout 영상 + 모션 트레일 + 확정된 기준 출력 기준별 판정 + 종합 점수 예시: ✗ 발이 지면을 떠남 미충족 △ 팔 교차 리듬 부분 충족 ✓ 전진 속도 충족 의도_점수: 0.40 진단: "비행 단계 없음" 실패_태그: [걷기_보행]
VLM Judge 2턴 프로토콜. 턴 1에서 성공 기준을 증거 없이 확정하고, 턴 2에서 각 기준을 rollout 영상과 대조하여 채점합니다.

낮은 프레임 레이트(예: 5 fps)에서는 회전이나 속도 같은 움직임 연속성을 개별 프레임만으로 판단하기 어렵습니다. P2P는 이를 보완하기 위해 이전 서브프레임이 반투명 잔상으로 겹쳐지는 모션 트레일 영상을 표준 녹화본과 함께 선택적으로 제공합니다. VLM은 두 영상을 함께 활용하여 채점합니다.

Code Judge: LLM 기반 Trajectory 분석

Code Judge는 원시 물리 데이터(관절 위치, 속도, 접촉력, 신체 좌표)를 분석하여 행동을 평가합니다. 최근 여러 시스템도 LLM을 사용하여 평가 또는 성공 감지 코드를 생성하지만(LEARN-Opt, OMNI-EPIC, Agentic Skill Discovery), 대부분 단발성이거나 실행 수준의 오류 피드백만 제공합니다. P2P의 Code Judge는 기존 연구에 없는 두 가지 품질 게이트를 추가합니다: LLM이 하위 과제를 의존성 그래프로 구성하는 구조화된 계층적 분해(순차(1 → 2, 게이트), 독립((1, 2)), 중첩(1.1, 1.2))가 채점을 직접 지배하며, 별도의 LLM 검토 단계에서 생성된 분해 결과와 코드의 허점, 악용 가능한 엣지 케이스, 기타 문제를 탐색하는 전담 리뷰입니다.

단계 1: 분해 및 검토 1 의도 분해 LLM이 과제를 측정 가능한 기준 그래프로 분해 2 분해 검토 LLM이 분해 결과의 빈틈과 허점을 검토 재시도 단계 2: 구현 및 검증 3 판정 함수 생성 LLM이 judge_fn(trajectory, summary) → dict 작성 4 컴파일 및 테스트 실제 trajectory에서 실행; 오류 수정 5 코드 검토 LLM이 코드의 빈틈과 허점을 검토 재시도 샌드박스 실행 numpy + math만 허용 • 30초 제한 • I/O 불가 예시: "팔을 흔들며 조깅" 구조: 1 → 2 2: (2.1, 2.2) → 2.3 1. 직립 자세 2. 조깅 품질 [1에 의해 게이트] 2.1 팔 스윙 2.2 보폭 주기 2.3 교차 리듬 [2.1, 2.2에 의해 게이트]
Code Judge 생성 파이프라인. LLM이 의도를 분해하고, Python 평가 함수를 구현한 후, 실제 trajectory 데이터에 대해 검증합니다.

에이전트 기반 통합

두 판정기가 일치하면, 통합기는 이를 직접 합산하여 최종 판정을 생성합니다. 불일치할 경우, 에이전트 도구 루프가 작동합니다: 통합기는 영상의 특정 시간 구간에 대해 VLM을 재질의하거나(예: "1~3초 사이에 정책이 이륙했나요?"), trajectory 검증(물리 데이터에 대한 Python 스니펫을 실행하여 특정 주장을 확인)을 수행할 수 있습니다. 이처럼 특정 구간에 대한 추가 질의로, 전체 판정을 재실행하지 않고도 불일치를 해소합니다.

2. 에이전트 기반 수정: 보상, Hyperparameter, 실험 계보

보상 설계와 하이퍼파라미터 튜닝은 깊이 결합되어 있습니다: 좋은 보상도 잘못된 learning rate에서는 실패하며, 그 반대도 마찬가지입니다. P2P의 수정 에이전트는 두 가지를 동시에 튜닝하며, 각 보상 수정본을 여러 HP 구성으로 병렬 학습하고, 모든 결과를 실험 계보로 추적합니다.

v1 reward v1 baseline 0.62 config_1 0.43 config_2 0.72 v2 reward v2 v3 reward v3 baseline 0.55 config_1 0.48 config_2 0.42 baseline 0.71 config_1 0.80 config_2 0.88 활성 경로 탐색됨 최적 구성
실험 계보. 하나의 iteration 내 모든 구성은 동일한 보상 함수를 공유하되 하이퍼파라미터가 다릅니다. 최적 구성이 다음 iteration의 부모가 됩니다. 수정 에이전트는 과거 어느 iteration에서든 분기할 수 있습니다. 여기서 v3는 v2에서 계속하는 대신 v1에서 분기합니다.

수정 에이전트는 고정된 최적화 루프가 아닙니다. 학습 진단 결과를 수신하고, 실험 계보를 조사(과거 보상 함수 읽기, 점수 비교, 반복되는 실패 패턴 확인)한 뒤 다음을 결정하는 도구 사용 LLM입니다:

  1. 어디에서 분기할 것인가. 에이전트는 현재 iteration에서 계속하거나, 더 높은 점수를 받은 이전 iteration으로 되돌아갈 수 있습니다. 위 다이어그램에서 v2가 v1에서 퇴행하자, 에이전트는 v1에서 분기하여 다른 보상 설계(v3)를 시도했습니다.
  2. 무엇을 변경할 것인가. 진단 결과와 자체 조사를 바탕으로, 에이전트는 보상과 하이퍼파라미터 변경을 동시에 제안합니다. 일반 모드에서는 1–2가지 변경만 제안해야 합니다. 구조적 재작성은 정체기(최고 점수 달성 후 3회 이상 iteration 경과)에서만 허용됩니다.
  3. 무엇을 피할 것인가. 에이전트는 실험 계보에서 축적된 교훈을 검색합니다. 교훈은 단계적 신뢰 등급을 가지며, 에이전트는 상위 등급 교훈을 존중해야 하지만, 근거가 있으면 강등하거나 폐기할 수 있습니다.

각 교훈은 STRONG 등급으로 지식 베이스에 등록되며, 에이전트가 시간에 따라 승격하거나 강등할 수 있습니다:

활성 교훈 수가 많아지면, LLM 통합 패스가 중복을 병합하고(상위 등급이 우선), 대체된 항목을 제거하며, 목록 크기를 제한합니다. RETIRED 교훈은 에이전트가 같은 실수를 재발견하지 않도록 계속 표시됩니다. 덕분에 수정 에이전트는 최신 결과만 보고 맹목적으로 수정하는 대신, 전체 실험 이력을 참고하여 근거 있는 수정을 제안할 수 있습니다.

상세 과정: 자연스러운 인간 보행

프롬프트: "Walk forward with a natural human-like gait, alternating left and right steps in a steady rhythm, while gently swinging the opposite arm forward with each step."

v1 v2 v3 ··· v9 v10
실험 계보. v3-v8 수정은 v2에서 퇴보했습니다. 수정 에이전트가 v2로 돌아가 다른 접근법으로 분기하여 v9->v10에서 수렴했습니다.

대시보드 튜토리얼

웹 대시보드를 통해 전체 루프를 실시간으로 관찰할 수 있습니다.

대시보드 안내: 실행 시작, 학습 진행 모니터링, VLM 판정 결과를 실시간으로 확인하는 방법.

P2P는 완전한 오픈소스로 공개되어 있습니다. 학습 파이프라인, 웹 대시보드, 보상 함수 작성 에이전트, VLM 판정 모듈까지 모두 GitHub에 올라가 있습니다. 저장소를 클론해서 원하는 행동을 직접 학습시켜 보세요.

한계 및 향후 방향

현재 한계

향후 방향

인용

Wooseong Chung, Taegwan Ha, Yunhyeok Kwak, Taehwan Kwon, Jeong-Gwan Lee, Kangwook Lee, Suyoung Lee

KRAFTON AI, Ludo Robotics

*동등 기여. 저자는 성(last name) 알파벳순으로 나열되어 있습니다.

BibTeX 인용

@misc{prompt2policy2026,
    title   = {Prompt-to-Policy: Agentic Engineering for Reinforcement Learning},
    author  = {Wooseong Chung and Taegwan Ha and Yunhyeok Kwak and Taehwan Kwon and Jeong-Gwan Lee and Kangwook Lee and Suyoung Lee},
    year    = {2026},
    url     = {https://github.com/krafton-ai/Prompt2Policy}
}