본문으로 건너뛰기

트렌딩 - GitHub 인기 레포 & HuggingFace 모델

google-research/envharness

Python0 / 0

Setup·Rule·Link로 고정 benchmark 환경을 agent 약점에 맞게 재구성하는 Python framework

TL;DR

EnvHarness는 standalone 연구용 Python framework로, 고정된 agent-learning 환경을 내부 코드 수정 없이 Setup·Rule·Link wrapper로 재구성합니다. designer agent가 trajectory의 약점을 진단하고 Python hook을 생성한 뒤 subprocess에서 실행하며, policy 평가 결과를 바탕으로 layer를 반복 개선합니다. `ActionableEnv` 인터페이스만 구현하면 ALFWorld, WebArena, SWE-bench Verified, OfficeQA, SpreadsheetBench 같은 서로 다른 환경에 공통 pipeline을 적용할 수 있습니다. 공개 결과에서는 EnvHarness 환경에서 유도한 skill이 원본 환경 기반 skill보다 ALFWorld OOD에서 +9.0, WebArena 평균에서 +3.1, SWE-bench Verified SR에서 +2.70을 기록했지만, 실제 재현에는 여러 LLM API·embedding 인증과 benchmark별 설정이 필요합니다.

핵심 포인트

  • EnvHarness는 연구용 Python framework로, 정적인 benchmark 환경을 내부 코드 수정 없이 agent 맞춤형 학습 환경으로 감쌉니다. Setup은 초기 상태를 바꾸고 Rule은 허용 action·전이·observation을 조정하며 Link는 다른 환경의 task를 결합합니다. 모든 계층이 reset과 step 인터페이스를 통과하므로 기존 task와 verifier를 유지한 채 조합할 수 있습니다.
  • designer agent가 agent trajectory에서 약점을 진단한 뒤 실제 Python `_Rules(Rules)` 코드를 생성하고 격리된 subprocess에서 실행합니다. 새 환경에서 policy를 시험하고 결과에 따라 layer를 반복 수정하는 구조라 고정된 템플릿보다 특정 실패 패턴을 겨냥합니다. 생성된 환경의 성공 판정은 원본 verifier를 그대로 사용하므로 benchmark 간 비교 기준을 보존합니다.
  • 새 benchmark를 붙일 때 `ActionableEnv`의 reset, step, observe, evaluate, get_env_state, save_state, from_state를 구현하면 downstream stage를 재사용할 수 있습니다. Bridge만 Docker·browser·simulator 같은 환경별 구현을 알고, designer와 skill induction·evaluation은 공통 경로를 사용합니다. Python class와 registry tag, checkpoint 직렬화 규약까지 직접 관리해야 하므로 단순 실행 도구보다 확장 가능한 연구 framework에 가깝습니다.
  • 공개 표의 수치는 모두 Gemini로 생성됐으며, EnvHarness 환경에서 얻은 skill은 원본 환경에서 유도한 skill보다 여러 benchmark에서 높은 점수를 기록했습니다. ALFWorld 평균은 62.4에서 68.3으로, WebArena 평균은 38.5에서 41.6으로, SWE-bench Verified SR은 49.88에서 52.58로 상승했습니다. 다만 재현에는 OpenAI·Vertex AI·Gemini 인증과 embedding bank 재구축, benchmark별 외부 의존성 및 API quota 관리가 필요합니다.

벤치마크

벤치마크지표비교
ALFWorld In-Dist평균 성공률66.2Original Envs 63.3 대비 +2.9
ALFWorld OOD평균 성공률70.4Original Envs 61.4 대비 +9.0
ALFWorld Avg.평균 성공률68.3Original Envs 62.4 대비 +5.9
WebArena Avg.평균 성공률41.6Original Envs 38.5 대비 +3.1
SWE-bench VerifiedSR52.58Original Envs 49.88 대비 +2.70
SWE-bench VerifiedAS49.61Original Envs 55.01 대비 −5.40, 낮을수록 우수
OfficeQAEM56.20Original Envs 54.40 대비 +1.80
OfficeQAF157.73Original Envs 55.77 대비 +1.97
SpreadsheetBenchPass@149.15Original Envs 45.88 대비 +3.27
SpreadsheetBenchMean Score62.48Original Envs 61.47 대비 +1.01

이미지 분석

EnvHarness가 `reset`, `step`, `obs` 인터페이스를 가로채 Setup·Rule·Link 계층으로 환경을 재구성하는 과정을 나타낸 다이어그램입니다.
이미지는 기본 Environment 위에 Setup, Rule, Link가 각각 어떤 호출을 가로채는지와 대응하는 Python 코드 형태를 나란히 나타냅니다. Setup은 reset 시 action sequence를 재생하고, Rule은 action과 observation 변환 함수를 적용하며, Link는 다른 환경의 상태와 task를 연결합니다. README가 설명하는 계층형 wrapper 구조와 원본 환경의 내부 구현·verifier를 건드리지 않는 설계를 시각적으로 뒷받침합니다.

280

STARS

19

FORKS

+204

TRENDING

0

조회수

watchers 280open issues 0Apache License 2.0

관련 토론

아직 관련 토론이 없습니다.

댓글

댓글을 작성하려면 로그인이 필요합니다.