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로 분리됐어요.