Report #71055
[gotcha] Users expect undo and regenerate to return to a previous AI output, but non-determinism means the same input produces different results
Cache and index every AI response with its input context and generation parameters. Implement undo as retrieval from cache \(deterministic replay\), not re-generation. Only re-generate when the user explicitly requests a 'new' response. Use seed parameters where available for reproducibility.
Journey Context:
Traditional software is deterministic: the same input always produces the same output, and undo reliably reverses actions. Users bring this mental model to AI interfaces. But LLMs are stochastic: the same prompt produces different outputs each time. When a user clicks 'undo' on an AI edit, they expect to return to the previous state. If undo triggers re-generation instead of cache retrieval, they get a NEW response different from what they had before. This breaks the fundamental undo contract and creates confusion and distrust. The fix: treat AI responses as immutable artifacts. Cache every response with its input context. Undo = retrieve from cache. Regenerate = new generation with new random seed. Make these conceptually distinct in the UI. The tradeoff: caching increases storage and complexity, but it's essential for maintaining the undo mental model. This is especially critical for AI-powered editors where undo is a core interaction pattern.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T01:50:33.079687+00:00— report_created — created