| name | alfworld-object-state-modifier |
| description | Uses an appliance to change the state of an object (cooling, heating, or cleaning). Use when the task requires altering an object's temperature or cleanliness using a specific device (e.g., cooling with a fridge, heating with a microwave, cleaning with a sinkbasin). Takes the object, target state, and appliance as inputs and executes the corresponding modifier action. |
Instructions
Change an object's state (cool, heat, or clean) using a household appliance. You must be holding the target object before executing the state change.
Workflow
- Navigate to appliance:
go to {appliance} (e.g., go to fridge 1)
- Prepare if closed: If observation says appliance is closed, execute
open {appliance} -- verify it opens
- Execute state change:
{action} {obj} with {appliance} -- verify observation confirms the change
- Proceed: Continue with the next task step (e.g., placing the modified object)
Action Mapping
| State Change | Action | Typical Appliance |
|---|
| Cool | cool {obj} with {appliance} | fridge 1 |
| Heat | heat {obj} with {appliance} | microwave 1, stoveburner 1 |
| Clean | clean {obj} with {appliance} | sinkbasin 1 |
Error Recovery
- "Nothing happened": Check (1) you are holding the object, (2) appliance is open/ready, (3) object and appliance names are correct
- Appliance occupied: remove existing items first with
take {item} from {appliance}
Example
Scenario: You need to cool a tomato using the fridge.
Thought: I'm holding tomato 1 and need to cool it. I'll go to the fridge.
Action: go to fridge 1
Observation: The fridge 1 is closed.
Action: open fridge 1
Observation: You open the fridge 1. The fridge 1 is open. In it, you see a lettuce 1.
Action: cool tomato 1 with fridge 1
Observation: You cool the tomato 1 using the fridge 1.
Result: The tomato is now in a cooled state. Proceed with the next task step (e.g., placing it on a countertop).