# tinker_cookbook.rl.Transition ## *class* [**tinker_cookbook.rl.Transition**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/types.py#L153)() A single (observation, action, reward) tuple from a trajectory. **Fields:** - [**ob**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/types.py#L168) (*Observation*) – Observation the agent saw before taking the action. - [**ac**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/types.py#L170) (*[TokensWithLogprobs](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/completers/tokenswithlogprobs/index.md)*) – Action taken (tokens and their log-probabilities). - [**reward**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/types.py#L172) (*float*) – Immediate reward received after taking the action. - [**episode_done**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/types.py#L174) (*bool*) – Whether this transition ended the episode. - [**metrics**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/types.py#L176) (*Metrics*, default: `field(default_factory=dict)`) – Numeric values aggregated and reported in training logs. - [**logs**](https://github.com/thinking-machines-lab/tinker-cookbook/blob/main/tinker_cookbook/rl/types.py#L178) (*Logs*, default: `field(default_factory=dict)`) – Diagnostic info for display/debugging tools (not aggregated like metrics). ## Referenced by - [tinker_cookbook.rl.Trajectory](https://tinker-docs.thinkingmachines.ai/cookbook/api-reference/rl/trajectory/index.md)