The tool-calling loop
One question, two model calls. The model does not run the tool; it asks the harness to, then reads the result.
User
Agent loop
the harness calls the model until it answers without asking for a tool
Tools
run by the harness, never by the model
another tool call? the loop runs again, with everything so far
tool call: calculator("2 + 3")
tool result: 5
What's 2 + 3?
the user's message
Model
call 1
reads: the question + tool definitions
→ asks for calculator("2 + 3")
Calculator
tool
2 + 3 =
5
waiting for a call
Model
call 2
reads: everything above + the result
→ answers, no tool needed
It is 5.
the assistant's reply