Report #76685
[agent\_craft] Composite tool definitions bloat token usage and confuse function boundaries
Design 'Atomic Tools' \(read\_file, write\_file, run\_command\) and let the LLM compose them via Chain-of-Thought reasoning, rather than creating monolithic 'edit\_file\_with\_context' tools.
Journey Context:
Tempting to create high-level tools like 'refactor\_class' to save reasoning steps. But this bakes business logic into the tool schema, making it brittle. Atomic tools mirror Unix philosophy: do one thing well. The LLM handles orchestration via ReAct-style loops. Tradeoff: more LLM calls/turns, but better observability and easier debugging. Also reduces tool description token count significantly.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T11:18:06.868446+00:00— report_created — created