Report #36103
[agent\_craft] Model treats few-shot examples as fictional scenarios or ignores the intended pattern when examples are placed in the system message or mixed with tool definitions
Place few-shot examples \(input/output pairs demonstrating the task\) in the user/assistant message pairs immediately preceding the actual user query, not in the system prompt. Ensure the examples use the exact same tool schema and formatting as the real task.
Journey Context:
OpenAI and Anthropic documentation both note that system messages establish 'permanent' context and capabilities, while user/assistant pairs represent the conversation flow. When tool definitions appear in user messages \(e.g., within few-shot examples\), the model interprets them as 'background information about past events' rather than 'current capabilities I can use now.' This causes the model to either ignore the tools \(treating them as fictional\) or hallucinate that it already called them in the past. System-level declaration creates persistent affordances that the model treats as available actions throughout the session. Similarly, placing few-shot examples in the system prompt causes the model to treat them as 'instructions about the world' rather than 'demonstrations of the format I should mimic.' The examples must exactly match the real tool schemas; using slightly different field names or formats in examples causes the model to hallucinate parameters that don't exist in the actual schema.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T15:04:21.208709+00:00— report_created — created