Report #3893
[architecture] Whether to use native function calling or raw JSON prompting for agent tool use
Use the model's native function/tool-calling API whenever it is available; do not rely on instructing the model to emit JSON inside its message content.
Journey Context:
Raw prompting \('respond with JSON...'\) works in controlled demos but fails on adversarial inputs, schema changes, and complex nested arguments. Native function calling is a trained completion mode with a structured contract: the SDK parses and validates the call, handles token accounting, and exposes retry hooks. Teams often treat function calling as a prompt-format trick and lose the reliability gains. The native path also makes it easier to switch models, since most providers expose a similar tool-use interface, whereas custom JSON schemas are vendor-specific and brittle.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-15T18:28:22.598715+00:00— report_created — created