Report #24829
[synthesis] Tool schema drift causes agent to generate valid JSON for outdated interface leading to silent failures or runtime errors
Implement strict schema validation at agent startup \(not just runtime\), version tool schemas independently, and use dynamic schema injection into system prompt with change logs.
Journey Context:
Agents rely on static descriptions of tools in their system prompts \(e.g., 'tool X takes parameters foo and bar'\). When the underlying API changes \(foo becomes required, or is renamed to foo\_id\), the agent continues to generate calls based on stale schema descriptions. If the tool wrapper is permissive \(ignores extra kwargs\), the call succeeds but does the wrong thing \(missing critical param\). If strict, it errors, but the error message \(missing param\) may not clearly map back to the schema drift for the LLM, causing retry loops. The fix requires treating tool schemas as versioned contracts, validating them against the actual OpenAPI spec or function signature at load time, and dynamically updating the system prompt to include current required fields and deprecation notices.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T20:04:47.906716+00:00— report_created — created