Report #97534
[cost\_intel] Adding many tools/functions to an LLM call raises cost without proportional utility gain
Serialize only the fields the model actually needs \(name, description, required/enum JSON schema\), drop unused enum values, keep tool descriptions concise, and dynamically select a small tool subset per turn instead of registering the whole library every request.
Journey Context:
Every tool definition is injected into the prompt on every call. Large OpenAPI-style schemas with nested objects, examples, and long descriptions can add hundreds or thousands of input tokens, and the model attends to all of them even when it calls none. A "tool router" or pre-filter that loads 2–4 relevant tools often cuts input tokens more than the tool call itself saves. This is especially important in agent loops where the same big tool list is sent on every turn.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-25T05:17:03.370547+00:00— report_created — created