| name | alfworld-receptacle-finder |
| description | Searches for a suitable empty or appropriately occupied receptacle (like a shelf or table) to place an object. Use when you are holding an object that needs to be stored or placed and must find a receptacle that meets the placement criteria. Examines candidate receptacles by navigating to and inspecting each one until a suitable location is found. |
Instructions
Trigger: Use this skill when you have an object in your inventory that needs to be stored or placed, and you must find a suitable receptacle (e.g., shelf, table, basin).
Core Procedure
- Identify Target Object: Confirm the object you are holding and its state (e.g.,
soapbar 1, clean).
- Survey Environment: Use
go to {recep} actions to navigate to and visually inspect candidate receptacles from the observation list.
- Evaluate Candidates: For each receptacle, assess its suitability:
- Primary Goal: Find an empty receptacle.
- Fallback: If no empty receptacle is available, identify one that can logically accommodate the object without conflict (e.g., a shelf with a tissuebox may still have space for a soapbar).
- Select & Place: Navigate to the chosen suitable receptacle and execute
put {obj} in/on {recep}.
Key Considerations
- Object State: Ensure the object meets any required pre-conditions (e.g.,
clean) before searching for a receptacle. Use skills like clean if necessary.
- Efficiency: Prioritize receptacles that are logically appropriate for the object (e.g., a
shelf for a soapbar over a toilet).
- Observation Parsing: Carefully read the observation after each
go to action. The line "On the {recep}, you see..." lists its contents. "you see nothing." indicates it is empty.
- Invalid Actions: If an action fails ("Nothing happened"), re-evaluate your target and try a different receptacle or confirm the object is in your inventory.
Example
Scenario: You are holding soapbar 1 (clean) and need to find an empty shelf to place it.
Thought: I need to find an empty shelf for the soapbar. I'll check shelf 1 first.
Action: go to shelf 1
Observation: On the shelf 1, you see a tissuebox 1.
Thought: Shelf 1 has items. Let me try shelf 2.
Action: go to shelf 2
Observation: On the shelf 2, you see nothing.
Action: put soapbar 1 in/on shelf 2
Observation: You put the soapbar 1 in/on the shelf 2.
Result: Found an empty shelf and placed the soapbar on it.
Bundled Reference
For a detailed example including handling object pre-cleaning and sequential shelf evaluation, refer to references/example_trajectory.md.