Skip to main content

The shape

Image and audio blocks are replaced with [image omitted]. The turn has no image path, and a base64 blob is thousands of tokens the model cannot use.

Write for a reader, not a parser

The text goes to a language model, which then talks to a person. You decide the formatting — the platform imposes no result schema, deliberately, so that a parsing layer never becomes a contract you have to conform to.
The second one works. It also spends the model’s attention on decoding your abbreviations, and every ambiguity becomes something it can get wrong in front of a customer.

Errors are answers

isError: true is for a tool that ran and refused — “out of stock”, “not a valid design ID”, “this buyer is not verified for wholesale”. Say why, in a sentence the assistant can pass on.
Reserve transport-level failures for transport-level problems. A refusal your business logic made is a result, not an outage.

Say what is true, not what is convenient

The assistant is instructed never to state a price, stock level or status a tool did not just return. That guarantee is only as good as your results: if you return a stale price, it will be quoted confidently.