Reward Prediction with Factorized World States
Organizations: East China Normal University · HKUST
Abstract
Agents must infer action outcomes and select actions that maximize a reward signal indicating how close the goal is to being reached. Supervised learning of reward models could introduce biases inherent to training data, limiting generalization to novel goals and environments. In this paper, we investigate whether well-defined world state representations alone can enable accurate reward prediction across domains. To address this, we introduce StateFactory, a factorized representation method that transforms unstructured observations into a hierarchical object-attribute structure using language models. This structured representation allows rewards to be estimated naturally as the semantic similarity between the current state and the goal state under hierarchical constraint. Overall, the compact representation structure induced by StateFactory enables strong reward generalization capabilities. We evaluate on RewardPrediction, a new benchmark dataset spanning five diverse domains and comprising 2,454 unique action-observation trajectories with step-wise ground-truth rewards. Our method shows promising zero-shot results against both VLWM-critic and LLM-as-a-Judge reward models, achieving 60% and 8% lower EPIC distance, respectively. Furthermore, this superior reward quality successfully translates into improved agent planning performance, yielding success rate gains of +21.64% on AlfWorld and +12.40% on ScienceWorld over reactive system-1 policies and enhancing system-2 agent planning. Project Page: https://statefactory.github.io
Figures & tables
| Method | Backbone | Training Data | Reasoning | Zero-shot | Reward Prediction Error ( ) | |||||
| AlfWorld | ScienceWorld | WebShop | BlocksWorld | TextWorld | Overall | |||||
| Monotonic Baseline | – | – | – | ✓ | 0.532 | 0.508 | 0.535 | 0.589 | 0.536 | 0.540 |
| Supervised RM | Qwen2.5-1.5B | AlfWorld | N/A | ✗ | 0.212 | 0.542 | 0.618 | 0.596 | 0.414 | 0.476 |
| ScienceWorld | 0.506 | 0.305 | 0.661 | 0.706 | 0.580 | 0.552 | ||||
| WebShop | 0.707 | 0.624 | 0.242 | 0.706 | 0.707 | 0.597 | ||||
| BlocksWorld | 0.556 | 0.471 | 0.596 | 0.472 | 0.556 | 0.530 | ||||
| Domain | Method | Success Rate (%) |
| AlfWorld | ReAct ( Yao et al., 2022b ) | 34.33 |
| ReAct + StateFactory | 55.97 | |
| BlocksWorld | ReAct ( Yao et al., 2022b ) | 85.00 |
| ReAct + StateFactory | 93.00 | |
| ScienceWorld | ReAct ( Yao et al., 2022b ) | 22.63 |
| ReAct + StateFactory | 35.03 |
Appendix figures & tables31 assets
Supplementary material from the paper’s appendix.
Appendix
| Domain | Pairs (Pos / Neg) | Native Reward Type | Task Description |
| AlfWorld | 336 / 336 | Sparse (Binary) | Embodied household instruction following |
| ScienceWorld | 191 / 191 | Dense (0-100 Score) | Interactive scientific experiments |
| WebShop | 300 / 300 | Dense (Attribute Match) | E-commerce navigation (Subsampled human demos) |
| BlocksWorld | 250 / 250 | Sparse (Binary) | Classical planning with spatial reasoning |
| TextWorld | 150 / 150 | Sparse (Binary) | Text-adventure games via native engine |
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | go to countertop 3 | You arrive at countertop 3. On the countertop 3, you see a bread 1… a potato 1… | 0.17 |
| 1 | take potato 1… | You pick up the potato 1 from the countertop 3. | 0.33 |
| 2 | go to microwave 1 | You arrive at microwave 1. The microwave 1 is closed. | 0.50 |
| 3 | heat potato 1… | You heat the potato 1 using the microwave 1. | 0.67 |
| 4 | go to diningtable 1 | You arrive at diningtable 1. On the diningtable 1, you see a bowl 3… | 0.83 |
| 5 | move potato 1… | You move the potato 1 to the diningtable 1. | 1.00 |
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | go to stoveburner 1 | You arrive at stoveburner 1. On the stoveburner 1, you see a pot 1. | 0.00 |
| 1 | go to cabinet 7 | You arrive at cabinet 7. The cabinet 7 is closed. | 0.00 |
| 2 | go to drawer 6 | You arrive at drawer 6. The drawer 6 is closed. | 0.00 |
| 3 | open drawer 6 | You open the drawer 6. The drawer 6 is open. In it, you see nothing. | 0.00 |
| 4 | go to cabinet 8 | You arrive at cabinet 8. The cabinet 8 is closed. | 0.00 |
| 5 | open cabinet 8 | You open the cabinet 8. The cabinet 8 is open. In it, you see nothing. | 0.00 |
| Parameter | Value |
| Base Model | Qwen2.5-1.5B |
| Method | LoRA (SEQ_CLS) |
| Precision | BF16 |
| Max Length | 8192 |
| LoRA Configuration | |
| Rank ( ) / Alpha ( ) | 16 / 32 |
| Task | Data Config | Compute Setup | Cost | ||
| Size | Ep. | GPUs (Mem) | BS | Hours | |
| AlfWorld | 35k | 3 | 2 A6000 (80G) | 16 | 4h |
| TextWorld | 35k | 3 | 2 A6000 (48G) | 4 | 4.5h |
| ScienceWorld | 35k | 3 | 2 A100 (80G) | 16 | 6h |
| BlocksWorld | 35k | 3 | 2 A100 (80G) | 32 | 7h |
| WebShop | 35k | 2 | 2 A100 (80G) | 16 | 10h |
| State Representation | EPIC Distance ( ) | |||||
| AlfWorld | ScienceWorld | WebShop | BlocksWorld | TextWorld | Overall | |
| Unstructured Observations (Raw) | 0.49 | 0.45 | 0.52 | 0.88 | 0.50 | 0.57 |
| Textual States (Flat Denoising) | 0.31 | 0.35 | 0.42 | 0.72 | 0.37 | 0.43 |
| Object-Centric States (Nested) | 0.33 | 0.33 | 0.40 | 0.45 | 0.26 | 0.35 |
| Object-Attribute States (Ours) | 0.28 | 0.29 | 0.29 | 0.43 | 0.20 | 0.30 |
| Goal Source Setting | EPIC Distance ( ) | |||||
| AlfWorld | ScienceWorld | WebShop | BlocksWorld | TextWorld | Overall | |
| Offline (Oracle Goal State) | 0.26 | 0.27 | 0.26 | 0.40 | 0.22 | 0.28 |
| Online (Dynamic Goal State) | 0.28 | 0.29 | 0.29 | 0.43 | 0.20 | 0.30 |
| Embedding Backbone | Probing Metric | Downstream Performance (EPIC ) | |||||
| Triplet Acc. ( ) | AlfWorld | ScienceWorld | WebShop | Blocks | TextWorld | Overall | |
| nli-distilroberta-base-v2 | 0.83 | 0.28 | 0.29 | 0.29 | 0.47 | 0.20 | 0.31 |
| all-mpnet-base-v2 | 0.76 | 0.28 | 0.29 | 0.29 | 0.54 | 0.20 | 0.32 |
| all-MiniLM-L6-v2 | 0.81 | 0.28 | 0.29 | 0.29 | 0.43 | 0.20 | 0.30 |
| bge-base-en-v1.5 | 0.78 | 0.32 | 0.34 | 0.31 | 0.41 | 0.25 | 0.33 |
| embedding-gemma-300m | 0.67 | 0.45 | 0.47 | 0.42 | 0.52 | 0.38 | 0.45 |
| Backbone Model | EPIC Distance ( ) | |||||
| AlfWorld | ScienceWorld | WebShop | Blocks | TextWorld | Overall | |
| Qwen Family (Impact of Scale & Thinking) | ||||||
| Qwen3-14B | 0.53 | 0.57 | 0.59 | 0.68 | 0.53 | 0.58 |
| Qwen3-30B-A3B-Instruct-2507 | 0.53 | 0.59 | 0.58 | 0.53 | 0.52 | 0.55 |
| Qwen3-30B-A3B-Thinking-2507 | 0.36 | 0.46 | 0.40 | 0.52 | 0.31 | 0.41 |
| GPT-OSS Family (Impact of Reasoning Effort) | ||||||
| Step | Action | Simplified Obs & State Extraction ( ) | Goal Interpretation ( ) | Reward / Gain |
| 1 | go to desk 2 | Obs: See cd 1 on desk 2. State: {cd 1: [on desk 2]} | Entity Discovery: CD cd 1 | +0.29 |
| … | Steps 2–5: Initial Exploration of the Environment | |||
| 6 | go to desk 1 | Obs: See desklamp 1 on desk 1. State: {desklamp 1: [on desk 1]} | Constraint Identification: Lamp lamp 1 | +0.02 |
| 7 | use desklamp 1 | Obs: Lamp 1 is turned ON. State: {lamp 1: [ is turned on ]} | Condition Met: cd 1 under desklamp 1 | +0.22 |
| 8 | go to desk 2 | Obs: Navigate back to retrieve cd 1 with satisfied environment constraints. | (Unchanged) | +0.31 |
| … | Steps 9–11: Redundant Exploration & State Verification | |||
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | look around | This room is called the foundry. In it, you see: the agent… a blast furnace… | 0.00 |
| 1 | open door to outside | The door is now open. | 0.08 |
| 2 | go to outside | You move to the outside. | 0.17 |
| 3 | look around | This outside location is called the outside. Here you see: … a baby wolf… | 0.17 |
| 4 | focus on baby baby wolf | You focus on the baby wolf. | 0.67 |
| 5 | pick up baby baby wolf | You move the wolf to the inventory. | 0.75 |
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | look at door | ERROR: SHOULD USE OVERRIDE FOR PORTAL. | 0.00 |
| 1 | connect orange to outside | terminal 1 on orange is now connected to terminal 1 on outside | 0.00 |
| 2 | connect air to foundry | terminal 1 on air is now connected to terminal 1 on foundry | 0.00 |
| 3 | connect air to steel table | terminal 2 on air is now connected to terminal 1 on table | 0.00 |
| 4 | open door | The door is now open. | 0.08 |
| 5 | disconnect orange | orange has been disconnected | 0.08 |
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | go to dresser 1 | You arrive at dresser 1. On the dresser 1, you see a bowl 1… a cd 2… | 0.20 |
| 1 | take cd 2 from dresser 1 | You pick up the cd 2 from the dresser 1. | 0.40 |
| 2 | go to safe 1 | You arrive at safe 1. The safe 1 is closed. | 0.60 |
| 3 | open safe 1 | You open the safe 1. The safe 1 is open. In it, you see nothing. | 0.80 |
| 4 | move cd 2 to safe 1 | You move the cd 2 to the safe 1. | 1.00 |
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | go to laundryhamper 1 | You arrive at laundryhamper 1. On the laundryhamper 1, you see nothing. | 0.00 |
| 1 | go to bed 1 | You arrive at bed 1. On the bed 1, you see a cellphone 2… | 0.00 |
| 2 | go to drawer 11 | You arrive at drawer 11. The drawer 11 is closed. | 0.00 |
| 3 | look | You are facing the drawer 11. Next to it, you see nothing. | 0.00 |
| 4 | go to drawer 6 | You arrive at drawer 6. The drawer 6 is closed. | 0.00 |
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | unstack the orange block… | …hand is currently holding orange block, the red block is on the table… | 0.25 |
| 1 | put down the orange block | …hand is empty, the red block is on the table… orange block is on the table… | 0.50 |
| 2 | pick up the red block | …hand is currently holding red block, the blue block is on the table… | 0.75 |
| 3 | stack the red block… | …hand is empty, the red block is on top of the orange block… | 1.00 |
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | pick up the blue block | …hand is currently holding blue block, the orange block is on top of the red block… | 0.00 |
| 1 | put down the blue block | …hand is empty, the orange block is on top of the red block… | 0.00 |
| 2 | pick up the blue block | …hand is currently holding blue block, the orange block is on top of the red block… | 0.00 |
| 3 | put down the blue block | …hand is empty, the orange block is on top of the red block… | 0.00 |
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | unstack red from orange | …hand is holding red block, the orange block is on top of the blue block… | 0.13 |
| 1 | put down red | …hand is empty, orange block is on top of blue block, red is on table… | 0.25 |
| 2 | unstack orange from blue | …hand is holding orange block, the blue block is on the table… | 0.38 |
| 3 | put down orange | …hand is empty… blue block is on table… orange block is on table… | 0.50 |
| 4 | pick up blue | …hand is holding blue block, the orange block is on the table… | 0.63 |
| 5 | stack blue on orange | …hand is empty, the blue block is on top of the orange block… | 0.75 |
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | unstack red from orange | …hand is holding red block, the orange block is on top of the blue block… | 0.00 |
| 1 | stack red on orange | …hand is empty, the red block is on top of the orange block… | 0.00 |
| 2 | unstack red from orange | …hand is holding red block, the orange block is on top of the blue block… | 0.00 |
| 3 | stack red on orange | …hand is empty, the red block is on top of the orange block… | 0.00 |
| 4 | unstack red from orange | …hand is holding red block, the orange block is on top of the blue block… | 0.00 |
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | search[gluten free…] | …Banza Chickpea Mac and Cheese… 24.99 … | 0.20 |
| 1 | click[item - banza…] | …Banza Chickpea Pasta Shells… Price: $24.99 … [button] Description … [button] Buy Now | 0.40 |
| 2 | click[description] | …high protein, lower carb, gluten free alternative to traditional mac… | 0.60 |
| 3 | click[< prev] | …Banza Chickpea Pasta Shells… Price: $24.99 … [button] Buy Now | 0.80 |
| 4 | click[buy now] | You have successfully purchased the product. | 1.00 |
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | search[i want a gluten…] | …Amy’s Vegan… Burrito… 39.48 … | 0.00 |
| 1 | click[item - B01FW…] | …Amy’s Vegan, Gluten Free Beans & Rice Burrito… Price: $100.0 … | 0.00 |
| 2 | click[Features] | One 5.5 oz. Amy’s Bean & Rice… Gluten Free… | 0.00 |
| 3 | click[Back to Search] | [button] Search [button_] | 0.00 |
| 4 | click[Search] | [button] Search [button_] | 0.00 |
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | search[sandal ankle…] | …Wedge Sandals… 14.71 … | 0.14 |
| 1 | click[next >] | [button] Back to Search … Page 2 (Total results: 50) … | 0.29 |
| 2 | click[next >] | [button] Back to Search … Page 3 (Total results: 50) … | 0.43 |
| 3 | click[next >] | [button] Back to Search … Page 4 … Gibobby Summer Sandals… $1.87 … | 0.57 |
| 4 | click[item - gibobby…] | …Gibobby Summer Sandals… Price: 3.37 … [button] Buy Now | 0.71 |
| 5 | click[black] | …color [clicked button] black… size… | 0.86 |
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | search[plant based] | …Plant-Based Bolognese… 4.98 … | 0.00 |
| 1 | click[item - B085…] | …Gardein Ultimate Plant-Based Jerky… Price: $6.29 … | 0.00 |
| 2 | click[teriyaki] | …flavor name… [clicked button] teriyaki… | 0.00 |
| 3 | click[original] | …flavor name… [clicked button] original… | 0.00 |
| 4 | click[Features] | …Contains one 2.25-ounce package of Gardein… | 0.00 |
| 5 | click[< Prev] | …[clicked button] original… [clicked button] teriyaki… | 0.00 |
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | examine type T box | The type T box looks strong, and impossible to destroy… | 0.00 |
| 1 | take cuboid keycard | You pick up the cuboid keycard from the ground. | 0.20 |
| 2 | unlock cuboid chest… | You unlock the cuboid chest. | 0.40 |
| 3 | open cuboid chest | You open the cuboid chest, revealing a potato and a knife. | 0.60 |
| 4 | take knife… | You take the knife from the cuboid chest. | 0.80 |
| 5 | put knife on board | You put the knife on the board… The End | 1.00 |
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | inventory | You are carrying: a mop. | 0.00 |
| 1 | put mop on board | You put the mop on the board. | 0.00 |
| 2 | close fridge | You close the fridge. | 0.00 |
| 3 | examine mop | The mop would seem to be out of place here | 0.00 |
| 4 | take type T keycard | You pick up the type T keycard from the ground. | 0.00 |
| 5 | examine board | The board is stable. On the board is a mop. | 0.00 |
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | take key | You pick up the key from the ground. | 0.20 |
| 1 | unlock safe with key | (the safe with the key) You unlock the safe. | 0.40 |
| 2 | open safe | (the safe) You open the safe, revealing a spoon. | 0.60 |
| 3 | take spoon from safe | (the safe) You take the spoon from the safe. | 0.80 |
| 4 | insert spoon… | You put the spoon into the spherical safe… The End | 1.00 |
| Step | Action ( ) | Observation ( ) | GT ( ) |
| 0 | examine saucepan | The saucepan is stable. | 0.00 |
| 1 | examine coffee cup | The coffee cup is cheap looking. | 0.00 |
| 2 | examine spherical latchkey | The spherical latchkey is cold to the touch | 0.00 |
| 3 | eat legume | You eat the legume. Not bad. | 0.00 |
| 4 | examine saucepan | The saucepan is stable. | 0.00 |
Reward Modeling
Reward modeling learns scores or rankings that capture human goals and task success, guiding AI selection, reinforcement learning, and alignment.
See all 325 papers