聊聊為什麼需要沒事多按「編輯」?只是因為修正錯字? 🤔
AI 是文字接龍。每一個字,都是上一個字的延伸;每一句話,都是上一句話的結果。
所以當你輸入一個有問題的 prompt,或是 AI 給了一個不對的回應,然後你繼續往下聊、請它修正 — 你其實是在一段已經汙染的 context 上面繼續接龍。
工程上有兩個詞:
- Context Pollution(上下文汙染)
- Context Collision(上下文衝突)
一旦誤解被寫進 context,之後所有的回應都會帶著那個誤解往下走。有一篇 2025 年底的論文(ContextBranch)做過量化測試:跨多輪對話下指令,模型平均有 39% 的效能下滑 — 原因就是模型開始複製自己的前一個回應,而不是認真看新的指令。
這就是「編輯」(Rewind)真正在解決的問題
不管是 Claude 的 Edit、ChatGPT 的修改、還是 Claude Code 的 Rewind — 它們本質上都是同一件事:讓你跳回某個時間點,從那個點重新接龍。
就像時光機。「修正錯誤」「選擇新的人生」。
那工程上怎麼落地?
Rewind 概念在不同層次有不同的實作方式:
- 對話層(Chat UI) — 最直覺、簡單。編輯你的訊息 → context 被截斷到那個點 → 重新生成。Claude、ChatGPT 都是這樣做的
- Coding Agent 層 — Cursor 有 checkpoint,Claude Code 有
/rewind指令。可以在危險操作前先存一個命名的還原點,之後直接跳回 — 在 agent 跑歪之前先存檔,跑歪了直接跳回,跟打電動存檔一模一樣 - Agent Framework 層 — 這是最底層的工程實作。LangGraph 這類框架把每一步 agent 的執行狀態都序列化存起來(Redis、Postgres 都可以)。每次 agent 呼叫工具或做決策,狀態就被存一次。如果執行環境爛掉,agent 從最後一個已知的好狀態恢復,而不是重跑整個 reasoning loop
這也是為什麼沒有 checkpoint 機制的 agent,只能算 toy,不算 enterprise 工具。
最後,更進階 — Branching(分支)。Rewind 只是「回去」,Branching 是「回去之後,同時走兩條路」。
ContextBranch 這篇論文把 Git 的概念搬到對話上:checkpoint、branch、merge。分支式對話比線性對話的 context 尺寸縮減了 58%,而且品質更好 — 因為每條探索路徑都在自己乾淨的 context 裡跑。
很多人以為這只是 UX 上的小功能
覺得「欸我打錯字可以改一下」。No No No…這超強的。
在工程視角,整個 Rewind / Checkpoint / Branching 的設計邏輯是同一件事:
不要在一個汙染的 context 上繼續修補,讓模型從乾淨的狀態重新生成。
如果你在 coding 平台用 AI 寫程式,每次跑歪了,第一個反應不一定要是繼續問「那你重新寫一次」— 而是直接 rewind 到 checkpoint,重新下指令 🫡
下次看到「編輯」按鈕,不只是打錯字在用,他是會開啟平行宇宙的時光機。
