#function-calling
Every post tagged "function-calling".
22 posts · showing 1–10
-
The Invoice Tool Timed Out, So the Billing Agent Called It Again. The Customer Was Charged Twice. A Timeout Is Not a Failure.
A timeout tells the agent it stopped waiting, not that nothing happened. Here is how a reasonable-looking retry turned into a double charge, and the idempotency key that makes the retry safe.
-
One Big update_task Tool or Three Small Ones? Your To-Do Agent Only Sees the Names and Descriptions
A to-do agent archived a task you meant to finish, and the tool was working fine. The model picks tools from a short menu of names and descriptions, so how you split that menu decides how often it picks wrong.
-
The Expense Agent Logged "Rate limit exceeded" as a Vendor Name. Make Tool Errors Impossible to Mistake for Results.
When a tool returns its failure as a plain string, the model reads it like any other output and carries on. The fix lives in the tool's return shape, not in the prompt.
-
The Inbox Agent Said Nobody Had Replied. The Search Tool Had Returned Page One of Four.
An agent can't tell "there's nothing here" from "I only saw the first page" unless the tool tells it. Here is how to make a paginated tool announce its own incompleteness, and why claims of absence need a stricter rule than claims of presence.
-
The Refund Tool Timed Out, the Agent Retried, and the Customer Got Paid Twice. Make Every Write Tool Idempotent.
A timeout tells the agent nothing about whether the write happened, and a retry is its most reasonable next move. The fix belongs in the tool, not in the prompt.
-
The Agent Said It Booked the Meeting. Learn to Read One Turn: Text, Tool Call, Tool Result, and Which One Counts
An agent's reply can describe an action it never took. Once you can tell the three kinds of message in a transcript apart, you will know in ten seconds whether the calendar invite exists.
-
One Tool With Twelve Parameters or Four With Three? Let the Agent's Error Log Decide
Merging tools trades wrong-tool mistakes for wrong-argument mistakes. Your traces already show which one your agent makes more, and an overloaded tool leaves a signature you can grep for.
-
Forty Tools in One Prompt: What It Actually Costs, and the Three Signals That Say Split the Agent
Forty registered tools do not fail loudly — the agent just gets vague, picking near-synonyms and asking questions it had the answer to. Here are the three costs you're paying, and the signals in your traces that tell you to merge, gate, or finally split.
-
Your Tool Returned 4,000 Rows and the Agent Needed Three: Truncate, Paginate, or Summarize?
Most tool endpoints were written for a caller that can loop and discard. An agent reads the whole response in one gulp and keeps it forever — and the three ways of shrinking that response fail in completely different ways.
-
Cached or Re-Called? Giving Every Agent Tool a Staleness Budget
An agent that reads a value once and acts on it four minutes later isn't reasoning badly — nobody told it how long that value stays true. Per-tool staleness budgets, and the one rule that matters most before a write.