EnvHarness: Awakening Static Worlds for Agent Learning 요약 설명
20 Aug 2026 | Paper Review Agent Learning Environment Scaling Reinforcement Learning목차
이번 글에서는 EnvHarness: Awakening Static Worlds for Agent Learning 논문의 핵심 포인트만 간단히 정리한다.
- 2026년 8월 20일(Arxiv), arXiv
- Huang, Chengsong, Wang, Zifeng, Han, Rujun, Yan, Jun, Chen, Yanfei, CuiZhu, Zoey, Jiang, Ke, Xia, Peng, Yu, Han, Zhuang, Yufan, et al.
- Washington University in St. Louis, Google Cloud AI Research, Google Cloud, University of North Carolina at Chapel Hill
- 논문 링크
- Github
- Project Page
요약
- 정적으로 수작업 구축한 환경은 특정 policy의 약점을 반영하지 못하고, 기존 과제를 숙달한 뒤에는 새 학습 신호를 주기 어렵다. 논문은 새 환경과 verifier를 처음부터 생성하는 대신, 기존 환경의 표준 인터페이스를 감싸는 EnvHarness를 제안한다. 이 방법은 내부 구현을 바꾸지 않으면서 초기 상태·상호작용 규칙·과제 연결을 조정하고, 원래 task와 신뢰할 수 있는 verifier를 유지한다. EnvRigger는 target policy를 black box로 취급하여 성공·실패 rollout을 관찰하고 약점을 진단한 뒤, 구성 요소 후보를 작성하고 fresh rollout으로 검증한다. 다섯 benchmark, 네 도메인의 skill-based learning에서 Table 2의 ALFWorld OOD는 EnvHarness 70.4, Original Envs 61.4로 9.0 points 차이를 보여 held-out 과제의 보고된 최대 개선을 뒷받침한다. Table 3의 SWE-bench Verified에서는 SR이 49.88에서 52.58로 2.70 points 높아지고 Average Step은 55.01에서 49.61로 5.40 steps 감소했으며, 이는 5.40/55.01×100=9.82% 감소다.
- 관련 환경 생성 방법은 domain별 pipeline과 생성 transition·verifier의 신뢰성 문제를 가질 수 있으며, 논문은 기존 verifier를 계승하는 interface-level wrapper를 차별점으로 제시한다.
- 논문은 skill-based learning 외에 EnvHarness 환경이 online RL의 별도 최적화 신호로 작동하는지도 분석한다.
왼쪽은 SWE-bench Verified, OfficeQA, SpreadsheetBench에서 No Skills, Original Envs에서 학습한 agent, EnvHarness 환경에서 학습한 agent를 비교한다. 오른쪽은 SWE-bench Verified에서 같은 environment budget 아래 environment 수를 늘릴 때 EnvHarness, SWE-Lite 원본 환경, SWE-smith 생성 환경의 resolved rate 변화를 비교한다.
그림은 frozen LLM에 skills·memory·tools를 더하는 agent harness와 frozen environment에 Stage·Contract·Chain을 더하는 EnvHarness를 대응시킨다. 두 구조는 기반 모델 또는 환경을 수정하지 않고 plug-in layer로 상호작용 능력이나 환경 동작을 확장한다.
2. EnvHarness
- EnvHarness는 정적 환경을 대체하지 않고 표준 인터페이스를 구현하는 wrapper의 순서 있는 stack으로 감싼다. benchmark별 Bridge는 이질적인 runtime을 공통 `ActionableEnv` 계약으로 어댑팅하며, 그 위에서 policy loop와 component가 공통으로 동작한다. component hook에는 Docker handle, browser page, socket 같은 runtime 객체가 아니라 데이터 형태의 `env_state` view만 노출한다. 새 benchmark에는 Bridge를 한 번 구현해야 하며, 방법은 textual action·observation과 reset 가능한 Gym-style `reset`/`step` 인터페이스를 전제한다. designer가 생성한 Rules 코드는 episode별 subprocess에서 실행하므로 코드 오류가 framework 전체가 아니라 해당 episode에 국한된다. live service, 실제 사용자 계정, 물리 로봇처럼 결과를 reset할 수 없는 환경에는 Stage와 Chain을 적용할 수 없고, Chain의 실험은 순차 연결에 한정되어 subtask의 의미적 관련성이나 공유 중간 상태를 검증하지 못한다.
- EnvRigger는 모든 benchmark에서 baseline rollout 5회와 candidate별 fresh rollout 5회를 사용하며, write-and-validate revision budget은 task당 최대 5회다.
- 추가 분석은 co-evolution round별 skill 변화, Chain에서 얻는 장기 horizon skill, cross-model 결과, 목표 지표 조정, token 비용을 다룬다.
2.1. The EnvHarness Paradigm
- EnvHarness는 환경을 상태 공간 `S`, action 공간 `A`, observation 공간 `O`, transition `T`, verifier가 유도한 reward `R`, 초기 상태 `s0`의 튜플 `E=(S,A,O,T,R,s0)`로 나타낸다. 환경 비종속 변환 `w`는 `E′=w(E)`를 만들며, simulator backend나 내부 구현을 바꾸지 않고 초기 상태 `s′0`, 노출 action·observation 공간 `A′, O′`, interface 수준 transition `T′`를 조정한다. 외부 인터페이스에서만 개입하기 때문에 원래 verifier가 episode를 채점한다. 개별 component는 policy-agnostic이지만, 어떤 component를 어떤 매개변수로 쓸지는 base task와 target policy의 관찰 행동에 조건부로 결정한다.
- 목표는 policy의 결함을 드러내되 불가능하거나 지나치게 쉬운 과제가 아닌 교정 가능한 학습 신호를 제공하는 환경을 만드는 데 있다.
2.2. Three EnvHarness Components
- Stage, Contract, Chain은 각각 초기 상태, 상호작용, episode 길이를 바꾸는 세 EnvHarness component다. Stage는 `reset()` 뒤에 상태 조작 action 열을 일반 `step()`으로 replay하여 도달 가능한 초기 상태를 만들며, 장애물을 추가하거나 선행 subgoal을 완료해 난도를 조절한다. Contract는 action filter `f_A`, transition 변환 `f_T`, observation filter `f_O`로 action 허용 조건, 환경 응답, policy가 보는 정보를 바꾼다. Chain은 다른 환경 `E_ext`와 조합 논리 `g`를 결합해 복합 episode를 만들고, 본문 실험에서는 두 subtask를 순차 연결하여 각 원래 verifier가 모두 성공해야 composite task가 성공한다. component는 자유롭게 합성할 수 있으나 변환 순서는 비가환적이므로 stack 순서가 초기화와 active interaction에 적용되는 제약을 결정한다.
- ALFWorld의 머그잔 과제에서 Stage는 머그잔을 서랍에 숨기고, Contract는 observation을 축약하거나 shortcut action을 차단하며, Chain은 후속 과제를 붙여 goal persistence를 요구한다.
그림은 base environment의 `reset()`, `step(a)`, `obs()` 인터페이스와 세 wrapper가 어느 지점을 재정의하는지 보인다. Stage는 reset의 상태 초기화를, Contract는 action·transition·observation 처리를, Chain은 복합 환경의 전이 논리를 바꾸며 native transition과 원래 task verifier는 보존한다.
3. EnvHarness for Agent Learning
- 에이전트 학습에서 EnvHarness의 목적은 base environment `E`, base task `t`, target policy `π`에 대해 policy의 취약점을 노출하는 수정 환경 `E′`를 자동 생성하는 것이다. 논문은 이를 task-policy-conditioned map `H(E,t;π)`로 정의하며, 여러 component 변환의 합성으로 `E′`를 만든다. component interface는 특정 모델에 묶이지 않지만 선택과 parameterization은 해당 task에서 관찰한 policy trajectory에 의존한다. 이 설정은 policy 가중치나 내부 표현을 보지 않고 output trajectory만 사용하는 black-box 접근이다.
- 수정 환경은 기존 목표와 verifier를 유지하면서 반복 action, 긴 observation 해석, tool 제약 오독 같은 결함을 교정할 기회를 제공하도록 설계한다.
3.1. Problem Setup
- 문제 설정은 하나의 정답 환경을 생성하는 문제가 아니라, task `t`에서 policy `π`가 아직 익히지 못한 능력을 드러내는 component 집합을 찾는 문제다. policy가 과제를 거의 풀지 못하면 EnvRigger는 누락 단계를 scaffold해 난도를 낮추고, baseline rollout에서 완벽히 성공하면 잠재적 약점을 드러내는 더 어려운 상황을 주입한다. 이러한 방향 결정은 policy의 gradient나 weight가 아니라 rollout 행동에 근거한다. Stage 초기 상태 변형을 validation에서 재현하려면 base environment가 deterministic reset을 지원해야 한다.
- skill-based learning에서는 맞춤 환경 trajectory에서 skill을 추출하지만, 평가는 수정하지 않은 held-out 원본 task에서 수행한다.
3.2. EnvRigger
- EnvRigger는 Observe, Diagnose, Write, Validate의 네 단계로 `H`를 구현한다. Observe는 base task에서 policy의 성공·실패 rollout을 수집하여 약점과 이미 갖춘 능력의 경계를 파악한다. Diagnose는 반복 action loop, 장문 observation parsing 실패, tool constraint 오독 같은 원인을 텍스트로 진단하고 난도 조절 방향을 결정한다. Write는 Stage와 Contract를 하나 이상 묶은 candidate set을 작성하며, Validate는 이를 current environment에 감싼 뒤 fresh rollout의 success rate, failure distribution, timeout을 집계해 채택·거절·수정을 결정한다. candidate는 component별이 아니라 묶음 전체로 판단하며, 자동 pipeline에서는 joined environment의 internal state를 관찰하기 어려워 Chain을 제외하고 Chain의 효과는 별도 분석한다.
- candidate가 해결 불가능하거나 도전성이 없으면 거절하고, signal scale이 부적절하면 validation trajectory를 Write 단계로 되돌려 수정한다.
왼쪽 execution loop는 active EnvHarness가 감싼 환경에서 policy가 trajectory를 만드는 과정을 보인다. 오른쪽 EnvRigger loop는 trajectory를 받아 Observe, Diagnose, Write, Validate를 수행하며, Write와 Validate는 candidate component를 fresh rollout으로 평가하고 실패 시 수정하는 반복 구조를 이룬다.
4. Experiments
- 실험은 text-based embodied ALFWorld, web interaction WebArena, software engineering SWE-bench Verified, office automation OfficeQA와 SpreadsheetBench의 다섯 benchmark를 사용한다. 주 평가는 환경 trajectory에서 skill을 추출하는 skill-based learning이며, online RL 호환성은 Section 5에서 별도로 평가한다. 각 benchmark에서 training episode와 evaluation episode는 분리하고, held-out evaluation은 수정하지 않은 원본 task에서 instance당 한 번 시도한다. 모든 baseline은 동일 seed instance, environment 수, skill extraction·retrieval pipeline, policy model을 공유한다.
- 비교 대상은 No Skills, Original Envs, 그리고 적용 benchmark별 GenEnv, VeriEnv, SWE-smith다.
- Office automation domain에는 비교할 환경 생성 baseline이 없으며, 표의 대시는 해당 방법이 다른 benchmark에 적용되지 않음을 뜻한다.
4.1. Experimental Setup
- 학습 집합은 ALFWorld 표준 train set의 100 tasks, WebArena sub-domain당 20 tasks, SWE-bench Lite의 100 tasks, OfficeQA 공식 split의 50 tasks, SpreadsheetBench의 verified tasks 400개 중 100개다. 평가는 각각 남은 held-out tasks, Lite에 포함되지 않은 Verified issue 407개, OfficeQA 공식 test task 172개, SpreadsheetBench held-out task 299개와 그에 속한 897 instances에서 수행한다. SpreadsheetBench의 Pass@1은 base task 단위로 집계하고 Mean Score는 모든 instance 평균이다. ALFWorld의 In-Dist와 OOD는 저자가 새로 만든 split이 아니라 object–receptacle 조합의 seen·unseen 여부로 구분한 benchmark 고유 evaluation split이다. EnvRigger, skill 추출, policy는 benchmark별로 같은 backbone을 사용하며 ALFWorld·WebArena는 Gemini-3.1-Flash-Lite, 나머지는 Gemini-3.5-Flash를 사용한다.
- RL 분석은 Qwen3-8B-base를 GRPO로 학습하며, 8× NVIDIA H100 GPU 한 node, 최대 prompt 4096 tokens, 최대 response 512 tokens, history와 최대 episode length 각각 50 steps, temperature 0.4, 150 epochs를 사용한다.
4.2. Main Results
- Table 2와 Table 3에서 EnvHarness 환경으로부터 추출한 skills는 각 보고 benchmark의 해당 지표에서 Original Envs skills보다 높거나, Average Step처럼 낮을수록 좋은 지표에서는 더 낮다. ALFWorld의 In-Dist·OOD·평균은 EnvHarness 66.2·70.4·68.3, Original Envs 63.3·61.4·62.4이므로 각각 +2.9·+9.0·+5.9 points다. WebArena 평균은 41.6 대 38.5로 +3.1 points다. SWE-bench Verified는 SR 52.58 대 49.88로 +2.70 points이고 Average Step은 49.61 대 55.01로 5.40 steps 감소했다. OfficeQA의 EM/F1은 56.20/57.73, SpreadsheetBench의 Pass@1/Mean Score는 49.15/62.48이며, 각각 Original Envs보다 높다. Table 3에서 SpreadsheetBench Original Envs Pass@1 45.88은 No Skills 46.44보다 0.56 points 낮고, SWE-bench Verified Original Envs Average Step 55.01은 No Skills 53.58보다 1.43 steps 많다.
- ALFWorld 평균에서 EnvHarness 68.3은 GenEnv 62.6보다 5.7 points 높고, OOD에서는 70.4 대 61.9로 8.5 points 높다. SWE-bench Verified에서는 EnvHarness SR 52.58이 SWE-smith 50.12보다 2.46 points 높고 Average Step은 49.61 대 54.72로 5.11 steps 적다. 이 비교는 각 benchmark의 동일 skill extraction 조건에 한정된다.
- 원문은 EnvRigger의 fresh-rollout validation이 후보를 선택하기 때문에 EnvHarness가 No Skills baseline보다 모든 benchmark에서 개선됐다고 설명한다.
표는 ALFWorld와 WebArena에서 No Skills, Original Envs, domain-specific generation baseline, EnvHarness Envs에서 추출한 skills를 비교한다. 값은 독립 실행 3회의 평균이며 표준편차가 함께 제시되고, 모든 지표는 높을수록 좋다. 마지막 행은 EnvHarness Envs와 Original Envs의 absolute difference다.
표는 SWE-bench Verified의 SR·Average Step, OfficeQA의 EM·F1, SpreadsheetBench의 Pass@1·Mean Score를 환경 출처별로 비교한다. Average Step만 낮을수록 좋고 나머지는 높을수록 좋다. EnvHarness와 Original Envs의 SWE-bench Average Step은 49.61과 55.01이므로 5.40 steps 감소하며, 표의 Improvement `+5.40`은 이 감소량을 뜻한다.
5. Analysis
- 분석은 EnvHarness를 RL training signal, 장기 horizon, environment scaling, model family 간 전이, 명시적 사용자 제약의 관점에서 검토한다. Table 4에서 GRPO로 학습한 Qwen3-8B-base policy는 EnvHarness 환경 학습 시 ALFWorld In-Dist SR 87.9 대 81.4, WebShop score 79.2 대 75.6, WebShop SR 67.4 대 66.0으로 Original Envs 학습 policy보다 높다. 반면 ALFWorld OOD SR은 88.8 대 89.6으로 낮으므로, 원문이 명시한 네 지표 중 세 지표 우위는 Table 4와 일치하지만 모든 RL 지표에서의 우위로 일반화할 수 없다. Table 5에서 Chain-only skill은 SWE-bench Verified Average Steps를 No Skills 53.58에서 41.96으로 줄였지만 SR 49.63은 Original Envs 49.88보다 0.25 points 낮다. Stage/Contract와 Chain skill을 결합한 설정은 표에 열거된 설정 중 SR 54.30으로 가장 높고 Average Steps 43.12로 가장 낮다.
- Figure 5에서 같은 environment budget, policy model, extraction·retrieval protocol으로 300개 환경을 사용하면 EnvHarness resolved rate는 47.67에서 54.79로 7.12 points 증가했고, 300개에서 Original Envs는 52.13, generated environments는 50.37이다.
- Figure 6에서 네 policy backbone 모두 EnvHarness skills의 SR은 Original Envs skills보다 2.7~3.7 absolute points 높다. Appendix Table 9는 average episode length 변화가 모델별로 다름을 보여 성공률 향상을 단순히 더 긴 rollout의 결과로 볼 수 없게 한다.
- ALFWorld leave-one-out에서 EnvHarness skills는 여섯 held-out type 중 네 개에서 Original Envs skills보다 높고 평균은 60.6에서 63.7로 +3.1 points다. 다만 `heat`은 52.4로 Original Envs 61.1보다 8.7 points 낮다.
- 100개 ALFWorld task에서 목표 SR 구간 `[0.4,0.6]` 안에 든 비율은 6.0%에서 80.0%로, 성공 episode의 AS 구간 `[25,35]` 안에 든 비율은 18.0%에서 53.0%로 바뀌었다.
표는 ALFWorld와 WebShop에서 Original Envs 또는 EnvHarness Envs로 GRPO 학습한 Qwen3-8B-base policy를 같은 held-out instance에서 비교한다. EnvHarness 환경 학습은 ALFWorld In-Dist와 WebShop의 score·SR에서 높지만, ALFWorld OOD SR은 88.8로 Original Envs의 89.6보다 낮다.
표는 SWE-bench Verified에서 No Skills, Original Envs, Stage/Contract-only, Chain-only, 두 skill set 결합의 SR과 Average Steps를 비교한다. Chain-only는 Average Steps를 41.96으로 줄이지만 SR 49.63은 Original Envs 49.88보다 낮다. 결합 설정은 표의 나열된 설정에서 SR 54.30으로 가장 높고 Average Steps 43.12로 가장 낮다.
선그래프는 SWE-bench Verified에서 세 방법이 같은 수의 environment와 같은 skill extraction·retrieval protocol을 사용할 때 resolved rate의 변화를 비교한다. 본문이 보고한 300개 환경의 값은 EnvHarness 54.79, Original Envs 52.13, generated environments 50.37이며, 그래프에는 각각 반올림한 54.8, 52.1, 50.4가 표시된다.
막대그래프는 SWE-bench Verified에서 Gemini 3.1 Flash-Lite, Qwen3.6 27B, Gemini 3.5 Flash, Claude Sonnet 4.6의 No Skills, Original Envs skills, EnvHarness Envs skills SR을 비교한다. EnvHarness와 Original Envs skills 간 absolute SR 차이는 각 model에서 3.2, 3.7, 2.7, 3.2 points이며, 그래프의 `+8.7%` 등 표기는 Original Envs skills 대비 relative gain이다.
부록
- 부록 A는 EnvRigger designer prompt와 논문 용어 Stage·Contract·Chain 및 코드 명칭 Setups·Rules·Link의 대응을 설명한다.
- 부록 B는 EnvHarness를 generative co-evolution, adaptive configuration engine, programmatic environment synthesis와 비교하고, 원래 transition과 verifier를 보존하는 interface-level wrapper의 차이를 다룬다.
- 부록 C는 `ActionableEnv` 공통 인터페이스, heterogeneous benchmark runtime을 연결하는 Bridge, decorator pattern으로 component stack을 구성하는 설계를 설명한다.
- 부록 D는 Chain 또는 Link operator의 순차 연결, 결과 기반 분기, mid-task 전환, 환경 interleaving을 구현하는 예시를 제시한다.
- 부록 E는 benchmark별 training·evaluation split, generation baseline의 설정, 모든 benchmark에 공통으로 적용한 EnvRigger hyperparameter를 설명한다.
- 부록 F는 RL 실험 설정, co-evolution round별 skill, Chain 환경에서 얻은 skill, cross-model 결과의 세부 내용을 수록한다.
- 부록 G는 leave-one-out 일반화, token consumption, 정량 목표 구간 조정, 사용자가 지정한 약점에 대응하는 component와 distilled skill을 분석한다.
- 부록 H는 iterative design loop의 시간·추론 비용, reset 가능한 textual Gym-style interface 요구, 순차 Chain의 의미적 조합 한계를 설명한다.
- 부록 I는 stochasticity·auxiliary feedback·multi-agent component의 추가와 visual·GUI·embodied 환경으로의 확장을 향후 과제로 제시한다.
짧은 생각
이 논문의 핵심 판단은 환경을 대량으로 새로 합성하기보다, 검증 가능한 기존 환경의 경계에서 학습 경험을 조정하는 편이 engineering 비용과 평가 신뢰성 사이의 긴장을 줄일 수 있다는 데 있다. 다만 Contract가 policy의 약점을 겨냥해 action을 막거나 실패 응답을 만들기 때문에, 추출된 skill이 실제 환경의 자연스러운 실패 조건에도 유지되는지는 별도 검증이 필요하다. 특히 Table 5에서 Chain-only가 Average Steps는 크게 줄이지만 SR은 Original Envs보다 0.25 points 낮고, Stage/Contract와 결합할 때 두 지표가 함께 개선된 결과는 장기 horizon 경험이 단기 성공률을 자동으로 높이지는 않음을 보여 준다.