After diagnosing a reasoning error in a GitHub Copilot agent — the agent incorrectly skips a validation step when the previous tool call returns an empty list — a developer wants to fix the behavior by revising the agent's instructions. Which instruction revision is most likely to correct this specific reasoning error?
Select an answer to reveal the explanation.
Short Explanation and Infographic
When an agent takes a wrong turn at a specific decision point, the fix is to draw the map more clearly at that exact fork. A targeted conditional instruction — 'if empty list, still run validation' — closes the logic gap precisely. Vague efficiency instructions or token increases can't fix a missing decision branch.
Full explanation below image
Full Explanation
When a reasoning error is diagnosed, the correct remediation is to revise the agent's instructions to explicitly cover the decision branch that the agent missed. Instructions should be updated with precision: identify the exact condition that triggered the wrong behavior and add a rule that handles that condition correctly.
Option B is correct because it directly addresses the identified failure mode. The agent skipped validation when the tool returned an empty list, so the instruction explicitly specifies what to do in that case: run validation anyway and record the null result. This is targeted instruction revision — the new rule maps exactly to the diagnosed failure.
Option A (add efficiency instruction) is too vague to change specific behavior. 'Be efficient' does not tell the agent what to do when a search returns an empty list. Broad motivational instructions rarely fix specific logic errors.
Option C (increase max_tokens) treats the problem as a capacity issue. There is no indication the agent ran out of reasoning space. The agent made a decision — it just made the wrong one. More tokens won't change which branch it takes at the decision point.
Option D (modify the tool to return a placeholder) changes the interface rather than fixing the reasoning. This creates a workaround that may hide the problem: the agent now always sees a non-empty result, but it still doesn't know how to handle truly empty cases when the placeholder is eventually removed or another tool returns an empty list. It also creates a misleading tool contract.