Unit 07.02: Tools the agent invented
An agent asked to do something its tools cannot do will propose a tool that does not exist.
Reject by name, and read the rate
Only registered names run; everything else is refused with the real list attached.
The example below checks five proposed calls against a registry of three.
REGISTERED TOOLS get_invoice, get_contract, add_note
PROPOSED CALL VERDICT
get_invoice ALLOW
get_contract ALLOW
send_email REJECT -- not registered
mark_paid REJECT -- not registered
add_note ALLOW
2 invented out of 5 proposed (40% this run)
Both invented names are plausible tools for this job, which is why they
were produced. A high invention rate means the goal implies capabilities
the tool list does not contain.
send_email and mark_paid are both entirely reasonable tools for this job, which is exactly why they were invented - the goal implies capabilities the tool list does not contain.
That gap is the actual finding. A high invention rate is not a model quirk to prompt away; it means the goal and the permission list disagree, and one of them needs changing deliberately.
The mistake this prevents
The mistake is returning a bare rejection. Include the real names in the error, or the agent invents a second plausible one and you pay for another round of the same discovery.
Takeaway
Enforce the registry, put the real names in the rejection, and track the invention rate. It measures the gap between what the agent was asked to do and what it was allowed to do.
