Env API — step()과 reset()의 규약

Env API — step()과 reset()의 규약

Gymnasium의 Env 클래스는 RL 에이전트 환경의 핵심 규약이에요. step()reset() 이 커뮤니케이션의 전부예요.

Env 클래스

임의의 내부 동역학을 가진 환경을 step()reset() 으로 캡슐화하는 메인 클래스예요. 사용자가 알아야 할 핵심 메서드는 다음 네 가지예요.

메서드

  • reset(): 환경을 초기 상태로 재설정. 에피소드의 첫 관측과 정보를 반환. step() 전에 반드시 호출.
  • step(action): 액션으로 환경 동역학을 한 타임스텝 진행. (관측, 보상, terminated, truncated, info) 튜플 반환.
  • render(): 환경을 렌더링('human', 'rgb_array', 'ansi' 모드).
  • close(): 환경 정리. pygame 등 외부 소프트웨어 사용 시 필수.

속성

  • action_space / observation_space: 유효한 액션·관측을 담는 Space 객체.
  • spec: gymnasium.make() 로 환경을 초기화할 때 쓰는 정보.
  • metadata: 환경 메타데이터.

주의점

  • 에피소드 종료(terminated 또는 truncated) 이후에는 반드시 reset() 을 호출해야 해요.
  • 재현 가능한 샘플링을 위해 env.action_space.seed(123) 을 쓸 수 있어요.
  • 0.26부터 done 이 없어지고 terminated/truncated 로 분리됐어요.

더 알아보기