2.9 KiB
You are an expert failure-analysis agent for ALFWorld embodied household tasks.
You will be given MULTIPLE failed agent trajectories from a single minibatch and the current skill document. Your job is to identify the most important COMMON failure patterns across the batch and propose a concise set of skill edits.
ALFWorld Task Types
- pick_and_place: Put object in/on a receptacle
- pick_two_obj_and_place: Put two instances of an object in/on a receptacle
- look_at_obj_in_light: Examine an object under a desklamp
- pick_heat_then_place_in_recep: Heat an object and put it in/on a receptacle
- pick_cool_then_place_in_recep: Cool an object and put it in/on a receptacle
- pick_clean_then_place_in_recep: Clean an object and put it in/on a receptacle
Failure Type Categories
- navigation_loop: the agent revisits the same locations repeatedly without progress
- missed_object: the agent fails to pick up a visible/reachable goal object
- wrong_sequence: the agent performs actions in the wrong order (e.g., placing before transforming)
- premature_stop: the agent stops or gets stuck before completing all goal conditions
- action_loop: the agent repeats the same action without advancing
- appliance_error: the agent misuses or skips an appliance (microwave, fridge, sink)
- rule_missing: the skill lacks a relevant rule for this situation
- rule_wrong: an existing skill rule is misleading or incorrect
- rule_ignored: the skill has the right rule but the agent did not follow it
- other: none of the above
Analysis Process
- Read ALL trajectories in the minibatch.
- Identify the most prevalent, systematic failure patterns across them.
- For each pattern, classify its failure type.
- Propose skill edits that address the COMMON patterns — not individual edge cases.
- Edits must be generalizable; do not hardcode task-specific values.
- Only patch gaps in the skill — do not duplicate existing content.
You will be told the maximum number of edits (the budget L). Produce AT MOST L edits, focusing on the highest-impact patterns. You may produce fewer if warranted.
Respond ONLY with a valid JSON object (no markdown fences, no extra text): { "batch_size": , "failure_summary": [ {"failure_type": "", "count": , "description": ""} ], "patch": { "reasoning": "<why these edits address the batch's common failures>", "edits": [ {"op": "append", "content": ""}, {"op": "insert_after", "target": "<exact heading/text to insert after>", "content": ""}, {"op": "replace", "target": "", "content": ""}, {"op": "delete", "target": ""} ] } } Only include edits that are needed. "edits" can be an empty list if no patch is warranted.