Thumbnail for the blog post
OpenEnv는 터미널, 브라우저 또는 에이전트가 상호작용할 수 있는 그 어떤 것이든 에이전트 실행 환경 (agentic execution environment)을 구축하기 위한 도구입니다. 그리고 오늘, 우리는 에이전트 학습의 미래를 오픈 소스로 만들기 위해 OpenEnv가 더욱 개방적으로 변모한다는 소식을 전하게 되어 매우 기쁩니다.
오늘부터 OpenEnv는 현재 Meta-PyTorch, Reflection, Unsloth, Modal, Prime Intellect, Nvidia, Mercor, Fleet AI, 그리고 Hugging Face를 포함하는 위원회에 의해 조정될 것입니다. OpenEnv는 이제 huggingface/OpenEnv에서 운영됩니다.
OpenEnv 프로젝트는 PyTorch Foundation, vLLM, SkyRL (UCB), Lightning AI, Axolotl AI, Stanford Scaling Intelligence Lab, Mithril, OpenMined, Scaler AI Labs, Scale AI, Patronus AI, Surge AI, Halluminate, Turing, Scorecard, 그리고 Snorkel AI를 포함한 AI 생태계의 선도적인 조직들로부터 지원과 채택을 받고 있습니다.
Claude Code, Codex, OpenClaw, 그리고 Hermes와 같은 에이전트 하네스 (Agent harnesses)는 계속해서 발전하고 있습니다. 이러한 발전의 한 가지 이유는 GPT-5.5 및 Opus 4.8과 같은 모델들이 각각의 하네스를 사용하도록 학습되기 때문입니다.
우리는 이러한 이점을 오픈 소스 모델에서도 얻고자 합니다. 즉, 하네스를 효과적으로 사용하는 로컬 모델을 학습시키고, 특정 작업에 모델을 특화함으로써 컴퓨팅 자원 (compute)을 절약하는 것입니다.
프런티어 연구소 (Frontier labs)들은 모델과 하네스가 대부분 마치 장갑처럼 딱 들어맞게(hand in glove) 작동하도록 학습시킵니다. 모델은 하네스를 사용하도록 학습되며 그 특성에 최적화됩니다. 모델이 이러한 하네스 너머로 어느 정도 일반화 (generalise)될 수는 있지만, 학습의 효율성을 능가하는 것은 없습니다.
오픈 소스 환경에서는 상황이 다릅니다. 개발자들은 자신이 가치 있게 여기는 어떤 유스케이스 (use case)에서든 어떤 하네스, 어떤 모델, 어떤 추론 엔진 (inference engine)이라도 사용합니다. 이는 커뮤니티의 근간이지만, 동시에 해결을 위해 인프라와 툴링 (tooling)이 필요한 과제이기도 합니다.
그 지점에서 OpenEnv가 등장합니다. OpenEnv는 어떤 모델에서도 작동하며 하네스, 환경 (environment), 그리고 트레이너 (trainer) 사이를 인터페이스하는 라이브러리입니다. 이것이 정착하기 위해서는 모든 주요 이해관계자들에 의해 소유되어야 할 것입니다.
거버넌스 (governance) 변화와 더불어, 우리는 OpenEnv가 무엇인지에 대한 정의를 더욱 공고히 하고 있습니다.
최근 릴리스에서 OpenEnv는 **강화학습 (RL) 환경을 위한 상호운용성 계층 (interoperability layer)**이 되었습니다. OpenEnv의 역할은 환경이 게시(publish), 배포(deploy)되고 에이전트에 의해 소비(consume)되는 방식을 표준화하는 것입니다. OpenEnv는 보상(reward)이 정의되는 방식이나 훈련 루프(training loop)가 작동하는 방식을 규정하지 않을 것입니다. 보상 정의, 채점 기준(scoring rubrics), 그리고 트레이너(trainer)별 로직은 해당 분야를 전문으로 하는 라이브러리에 속해야 합니다. OpenEnv는 이 모든 것들이 꽂힐 수 있는 공통 소켓(common socket)입니다.
실제적으로 이는 다음을 의미합니다:
하나의 인터페이스, 다양한 환경: 클라이언트/서버 (client/server) 아키텍처 상에서 실행되며, 익숙한 Gymnasium 스타일의 API (reset(), step(), state())를 모두 노출하는 다양한 환경을 제공합니다. OpenEnv를 지원하는 트레이너는 별도의 맞춤형 코드(bespoke code) 없이도 규격을 준수하는 모든 환경을 구동할 수 있습니다.
익숙한 프로토콜과 표준 패키징: 환경은 HTTP 및 WebSocket과 같은 표준 프로토콜을 통해 서비스되며 Docker로 패키징됩니다. MCP는 일급 시민 (first-class citizen)이므로, OpenEnv 환경은 즉시 MCP 서버와 호환되며 동일한 환경이 시뮬레이션 (훈련/평가) 모드와 프로덕션 (production) 모드 모두에서 일관되게 동작합니다.
환경 라이브러리 간의 상호운용성: 서로 다른 생태계 (검증기 (verifiers), harbor 및 기타)와 사용자가 선택한 인프라 및 허브(hub)에 걸쳐 환경을 정의하고 소비할 수 있습니다. OpenEnv는 이들의 경쟁자가 아니라, 그 아래에서 작동하는 배포 및 인터페이스 계층입니다.
앞으로 몇 달 동안 우리는 OpenEnv를 빠르게 성장하는 프로젝트에서 신뢰할 수 있는 표준으로 탈바꿈시킬 요소들에 집중할 것입니다:
- 데이터셋을 통한 태스크 세트 (Tasksets via datasets): 환경(environment)과 벤치마크(benchmark)가 깔끔하게 구성될 수 있도록 환경 태스크를 Hugging Face 데이터셋에 연결합니다 (RFC 006).
- 외부 보상 (External rewards): OpenEnv를 배포 계층 (deployment layer)으로 사용하면서, 사용자가 이미 사용 중인 라이브러리에서 보상을 정의할 수 있도록 합니다 (RFC 007).
- 지속적인 하네스 (Harness) 통합: 에이전트 하네스 (agentic harnesses)에 대한 퍼스트 클래스 (first-class) 지원.
- 엔드 투 엔드 (End-to-end) 예시: TRL, Unsloth 및 그 이상의 라이브러리에서의 전체 학습 및 평가 가이드.
- 자동 검증 (Auto-validation): 환경의 품질과 모델 학습에 대한 기여도를 측정합니다. 이를 통해 커뮤니티는 자신의 환경을 평가할 수 있는 확장 가능한 방법을 갖게 되며 품질을 높일 수 있을 것입니다 (해커톤을 생각해 보세요!). RFC 008.
OpenEnv는 설계 단계부터 커뮤니티 중심적이며, 아직 초기 단계입니다. 미흡한 점이 있을 수 있으니 이를 다듬는 데 도움을 주세요. 코드와 RFC를 확인해 보세요: github.com/huggingface/OpenEnv
이 전환이 이루어질 수 있도록 도와주신 모든 분께 감사드립니다. 오픈 소스 에이전트 강화학습 (agentic RL)을 위한 공통 기질 (common substrate)을 함께 만들어 나갑시다.