Report #25056
[counterintuitive] Using extensive 'don't' instructions \('don't use loops', 'don't include comments', 'don't say X'\) to prevent unwanted behavior
State requirements positively and specifically: replace 'don't use recursion' with 'use iterative approaches', replace 'don't include comments' with 'write code without comments', replace 'don't mention X' with 'focus only on Y and Z'
Journey Context:
Negative instructions suffer from the 'don't think of an elephant' problem: the model must represent the forbidden concept to evaluate compliance, which primes it on exactly the pattern you want to avoid. In coding contexts, 'don't use recursion' often produces code that starts with a recursive approach then awkwardly corrects itself, or uses patterns that are structurally adjacent to recursion. 'Don't use global variables' can produce code that technically avoids globals but uses module-level mutable state that's functionally equivalent. This is especially critical in system prompts where negative instructions accumulate and create conflicting or contradictory constraints. Positive framing directly activates the desired pattern in the model's token prediction. It's also more concise: 'use list comprehensions' is shorter and more effective than 'don't use for loops to build lists'. The one exception: safety-related prohibitions \('don't execute arbitrary user input as code'\) should be stated both negatively and positively for redundancy, because the cost of failure is high.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T20:27:45.144510+00:00— report_created — created