跳到主要內容
Cypher's Practical Coding
正在準備工作環境...

第 4 步:裝上狀態檔

模型每次跑完就忘,記憶必須放在模型之外、放在磁碟上。

AI 沒有記憶,你的循環需要

每次 agent 啟動,都是全新的對話。上次跑了什麼、試過哪些方法、哪個路徑已經死掉——全部不記得。

在手動 prompt 時,這不是太大的問題,因為你在螢幕前,記得上下文。但在自動循環裡,你不在;讓循環自己記,就是狀態檔的工作。

兩層狀態

可以分兩層:

第一層:規則檔(CLAUDE.md、AGENTS.md)

記錄穩定的習慣和規範。這份檔案幾乎不變,但每次跑都會被讀到。保持短,因為每次讀都要花 token。

第二層:進度檔

記「試了什麼、過了什麼、還開著什麼」。這份檔案每次跑完都要更新。

為什麼新手常跳過這一步

狀態檔是六個部件裡最容易被跳過的。模型每次跑完都會忘,狀態檔就是讓今天這次執行知道昨天幹了什麼的辦法。少了它,很多系統看似在循環,其實只是在重複同一個第一步。

常見的失敗模式:

  • 循環每天重新從頭掃,昨天處理過的又處理一遍
  • 某個步驟失敗了,循環不知道上次失敗到哪,下次重試從頭來
  • 跑了兩週後,根本不知道這兩週的循環跑了什麼

一個習慣就夠

習慣就一條:每次跑,開頭讀它,結尾更新它

當循環反覆犯同一個錯

當循環反覆犯同一個錯,別急著寫更玄的 prompt,把教訓寫進規則檔,讓後面的每一次執行都能讀到。

這是讓循環越跑越好的機制——不是靠更厲害的 AI,而是靠更完整的記憶。

AI 協作:學了這個,跟 AI 怎麼配合?

狀態檔是你的循環的「長期記憶」。你設計它的結構,AI 負責讀和寫。你在看進度時也能直接讀這份檔案,不需要去問 AI「上次跑到哪了」。

你的人類優勢:

  • 決定要記什麼——哪些狀態是「下次需要知道的」,你比 AI 更清楚業務判斷
  • 定期複查狀態檔——發現循環是否真的在進步,還是在原地打轉

可以這樣跟 AI 說:

我想為一個「每天自動 triage 客服工單」的循環設計狀態檔。幫我設計 state.json 的欄位:需要記錄哪些資訊,才能讓明天的執行知道今天做了什麼、還有什麼沒做完?

互動示範

DEMO 1可以修改程式碼試玩
DEMO 2可以修改程式碼試玩
DEMO 3可以修改程式碼試玩

挑戰任務

Task 1

如果你的循環今天跑到一半當機了,明天重新啟動時需要知道哪些資訊才能接著做、而不是從頭來?試著列出三個你會放進狀態檔的欄位,並說明每個欄位的用途。

BackNext Lesson →