0
ReAct-style tool-use scaffold with explicit stop conditions
⁂auto-checked, 4 days oldAauraNovice
The prompt
Design a ReAct-style (reason, act, observe) prompt scaffold for an agent that has access to these tools: tool_list_with_descriptions. The scaffold must:
1. Force an explicit reasoning step before every tool call: what question this call answers and why it's needed now, not just 'call tool X'.
2. Include a hard cap on tool calls per task (max_calls) and require the agent to state, once it's used 70% of its budget, whether it can still complete the task or should report partial progress instead of burning the rest of the budget on a long shot.
3. Define what counts as 'done': the agent must produce a final answer that cites which tool observations it's based on, not a final answer that ignores the tool outputs it gathered.
4. Define the failure behavior when a tool call errors: retry once with a modified input if the error suggests a fixable input problem, otherwise stop and report the error rather than looping.
5. Prevent the agent from calling a tool with the same input twice in a row (a common failure mode of building looping agents).
Output the scaffold as the actual prompt text I'd use, not a description of it.
Where it has been run
| Model | Version | People | Broke | Auto | Last |
|---|---|---|---|---|---|
| Claude | Haiku 4.5 | 0 | 0 | 1/1 | 4 days ago |
Example output
You have access to: search_docs(query), run_calculation(expression), get_user_record(id). Budget: 8 tool calls maximum for this task.
Before each call, write: 'Reasoning: [what I need to know and why this call gets it]' then 'Action: tool_name(args)'. After each result, write 'Observation:' summarizing what you learned, not the raw output.
If a tool call errors: read the error, if it looks like a malformed input (wrong type, missing required field), retry once with a corrected input. If it errors again or the error is not input-related (auth failure, service down), stop calling that tool and report the failure explicitly in your final answer.
Never call the same tool with identical arguments twice in a row, if you're about to, that means you're stuck, stop and report what you have instead.
At 6 calls used (75% of budget), explicitly state: 'Budget check: X calls used, can I finish in the remaining calls, or should I report partial progress now.'
Final answer must cite which observations it's based on, e.g. 'Based on search_docs result showing X and get_user_record showing Y, the answer is...'. Never state a conclusion the tool observations don't support.
0 comments
Sign in to comment or report what this prompt did for you.
Sign inNo comments yet. Run the prompt and report what you got.