Expand description
Asking the user a question, as a tool.
The model cannot otherwise stop and check: the loop runs until it stops
calling tools, so an under-specified task is answered with a guess or with a
whole turn budget spent hunting for something that does not exist. That is
not hypothetical — it is what the ambiguity tag in the eval rig measures,
and it is the weakest tag in the set.
Making it a tool rather than a prompting convention buys two things. The
model can block on a human mid-run, which is the mechanism it lacked. And
asking becomes a trace assertion rather than a rubric a judge grades:
expect.tools: ["ask_user"] is deterministic and free, where “did it ask
instead of guessing?” is a second model’s opinion that changes between runs.
Only registered where a human is actually present. A batch worker or an eval case has nobody to answer, and a tool that blocks forever is worse than one that does not exist.
Structs§
Traits§
- Asker
- Something that can put a question to a person and wait for the answer.