From model to tool use
Inside the model → One requestExplore ten dimensions · Creature generator →
{{ journeyError }}
Explore ten dimensions · Creature generator →
{{ journeyError }}
{{ doc.text }}{{ doc.reason }}{{ instructions }}{ cause: string, next_check: string }
input{{ message }}{{ '\n\nDocument: '+doc.name+'\n'+doc.text }}
{{ payload.error }}
{{ tool.name }}()POST /v1/responsesRequest unavailable · empty message
{{ toolCall.name }}({})Call ID · {{ toolCall.call_id }}health.log on your server.{{ context }}No tool execution · no example response
Local execution · 0 new model requests on this stepSame response as the previous step. The harness is running the tool; the model has produced nothing new.
{{ item.text }}{{ payload.error ? 'No response · empty message' : 'Selected documents · no example response' }}
| Request field | Content |
|---|---|
| model | Model identifier |
| input | End-user message + selected documents; user role in this example |
| instructions | Set by the application maintainer; higher priority than user messages. Also expressible as a developer-role message. |
| text.format | Output schema |
| tools | Available functions |
| Example boundary | Value |
|---|---|
| Model context | Instructions and user input both reach the model, with their roles distinguished. “Prompt” can mean this whole context. |
| Instruction priority | User text such as “ignore previous instructions” does not change its role. Models can still be tricked; tool permissions and authorization must be enforced by application code. |
| Model calls | 0 |
| Responses | Authored examples |
| Storage | Page memory · resets on reload |
| API format | OpenAI Responses |
| Production handling | HTTP errors · timeout · refusal · incomplete output · validation |