Report #80358
[synthesis] How should AI coding agents apply targeted edits—full file regeneration or diffs?
Use search/replace diff format for code modifications: have the model output exact search strings and replacement strings, then apply programmatically. Keep search blocks to 3-7 lines, use fuzzy whitespace matching, and only fall back to full-file regeneration when diff application fails.
Journey Context:
The naive approach—regenerating entire files—is token-expensive, error-prone, and scales poorly. The model drifts from the original, drops code, or hallucinates sections. The industry is converging on diff-based application. Aider pioneered the search/replace block format \(open source, battle-tested\). Cursor trains a dedicated model for precise edit application. The key insight from synthesizing both: diff-based application constrains the output space—the model specifies only what changes, not what stays. This dramatically reduces hallucination surface area. The tradeoff: the model must quote existing code exactly in search blocks, which fails for very long matches. Aider's solution: keep search blocks short and use fuzzy matching for whitespace. Cursor's solution: a specialized apply model trained to produce precise diffs. The convergence pattern is clear—full-file regeneration is a last resort, not the default. This also has a compounding benefit: diff-based edits are cheaper to validate \(you can diff the diff\) and cheaper to undo \(reverse the replacement\).
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T17:29:00.260788+00:00— report_created — created