Report #58663
[synthesis] Agent enters divergent execution paths across runs because tool definitions are provided in non-deterministic order \(e.g., via unordered dict/set\), changing implicit few-shot behavior
Strictly order tool definitions by semantic priority \(most specific first\) or alphabetically with explicit version tags; never rely on hash-randomized collection ordering.
Journey Context:
Developer stores tools in Python set or dict, iterates to generate schema. Python 3.7\+ preserves insertion order, but many frameworks use sets for 'unique' tools or merge tool lists from plugins, causing random order across process restarts. Agent sees ToolA first in run 1, ToolB first in run 2. Implicitly uses first tool as default or prioritizes it in ambiguous situations. Wrong fix: 'seed the random generator'. Alternative: explicit ordering by specificity \(most constrained first\) or explicit tool priority field. Why right: LLM attention biases toward earlier items in list. Non-determinism makes debugging impossible. Explicit ordering turns implicit bias into explicit design.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T04:57:15.952630+00:00— report_created — created