GH-600 數位教科書 開啟互動版

D3:管理記憶、狀態與執行

D3-O1 實作代理記憶策略

代理每次繼續工作,都需要知道哪些資訊值得帶入脈絡。保存全部聊天看似完整,卻會把已推翻假設、舊版檔案與無關討論一起帶入,增加誤用機會。記憶設計的重點是讓正確資訊在需要時可被找到,並能判斷它是否仍有效。

保存期限與存放位置是不同維度

短期記憶服務當前任務;長期記憶保存跨任務仍有用的知識;外部記憶描述存放方式,例如版本化文件或資料庫。因此外部記憶不必然是長期記憶:一份暫存 checkpoint 也可能只在本次執行期間有效。

資訊 適合的處理 重新驗證時機
專案的 CSV 格式約定 放入可追溯的專案文件 格式需求或實作契約變更時
本次已修正哪個案例 保存於任務狀態 恢復工作或切換版本時
上次服務回傳的錯誤 保留必要診斷摘要 不能直接當成目前狀態
憑證與完整敏感輸出 不放入一般記憶 由專用管理機制處理

Expiry 設定資訊何時需要重新確認,pruning 移除過期或重複內容,reset 則在任務或信任脈絡改變時重新建立工作基準。這些是設計規則,不表示所有代理產品都有同名選項。

GitHub Copilot Memory 是具體產品功能,與一般記憶架構不能混為一談。截至本次核對,官方文件描述 repository facts 會附上程式碼引用,使用時對照目前分支驗證;功能仍標示為 public preview。教材不把產品記憶當成備份、完整執行日誌或必定可用的狀態儲存。

判斷練習: 記憶寫著「匯出測試在舊版執行階段通過」,目前專案已換版本,可以沿用結論嗎?

解析: 可以把它當成查找歷史證據的線索,不能當成現況保證。先讀專案目前的版本設定並重跑相關測試,再記錄新的適用範圍。若原資訊沒有版本與來源,更應降低信任程度。

來源:About GitHub Copilot Memory(GH-DOC-23,2026-09-22 核對)。表格與保存規則為教學設計。

D3-O2 保留狀態並管理脈絡漂移

記憶告訴代理「哪些知識可能有用」,狀態告訴它「這個任務現在在哪裡」。若只保存「匯出修正完成一半」,下一次執行不知道哪些檔案已改、哪些測試已跑,也不知道是否已建立遠端 PR。

能安全恢復的 checkpoint

一份可用的 checkpoint 至少應連結任務目標、目前版本、已完成步驟及其證據、待處理事項與已發生的外部副作用。未提交差異也要有可重建的位置,不能只記 branch 名稱。以下是教學用欄位,不是工具設定格式:

欄位 匯出案例的內容
目標與限制 修正 CSV 逗號欄位;不改資料庫與部署
基準與產物 基底 commit、目前 commit 或保存的 patch
已驗證 逗號案例通過,附指令與結果位置
未驗證 引號與換行案例尚未執行
副作用 已建立遠端 PR,附可查詢的識別
下一步 確認版本未變後執行剩餘測試

恢復時先把紀錄與環境對帳,再繼續下一步。checkpoint 說 PR 已建立,應查遠端確認;說測試通過,應核對目前檔案是否仍是受測版本。恢復不等於從頭重做,也不等於照單相信舊紀錄。

脈絡漂移如何發生

代理修正匯出時發現資料模型不一致,可能逐漸轉向「統一整個資料層」。新方向看似有價值,卻可能不再服務原目標。用目標、允許範圍、驗收與待決假設定期比對行動,可以提早發現漂移。必要時保存現況、提出新增範圍並等待決策,而不是把新方向偷偷寫成已核准事項。

判斷練習: checkpoint 指出測試已通過,但目前工作樹有另一位開發者的新修改。可以直接從「開 PR」繼續嗎?

解析: 先確認修改歸屬與對測試的影響。若無法證明目前產物就是受測產物,應補驗;不能覆寫他人的變更以符合舊 checkpoint。這是在恢復可信狀態,不是忽略既有進度。

技能範圍:GH600-SG。Repository instructions(GH-DOC-04)可描述恢復流程,但不能代替實際 checkpoint 與產物保存。

D3-O3 確保跨工具與環境連續性

從 IDE 交接到 CI,或從實作代理交接給審查代理時,共享聊天摘要並不足夠。接手者需要可取得的產物、明確的版本與相同的驗收定義。原環境的暫存路徑、記憶體變數或未推送分支,不會因為被提到就自動出現在另一個環境。

決定哪份資料具有權威

Source of truth 應按資料類型指定:需求由已核准 issue 或規格決定,程式碼由版本化產物決定,執行結果由對應 run 的紀錄決定。不能單純把「時間較新」當成勝出規則;較新的代理摘要也可能誤讀較早的核准決策。

當兩份狀態衝突,先比對任務識別、基底版本、寫入者與證據。例如 A 說「引號測試通過」,B 說「測試未執行」,可能是兩者指向不同 commit,而非其中一方說謊。若仍無法判定,停止依賴該結論的步驟,由指定整合者裁決並留下理由。

跨環境還要重新確認權限與可達資源。本機能讀取內部文件,不代表 CI 身分也應取得相同權限。交接資料應傳遞必要引用與核准邊界,不把原身分的能力一併複製。

判斷練習: 接手代理收到本機絕對路徑與「檢查已通過」,但路徑不存在於它的 runner。應否改為相信摘要?

解析: 先取得可存取且可核對版本的 artifact;拿不到就把對應結果標為未驗證。可以繼續不依賴該證據的工作,但不能把缺失證據改寫成通過。可靠交接的驗收方式,是讓接手者在自己的環境找到相同產物並重現關鍵檢查。

技能範圍:GH600-SG;產品記憶的共享範圍另見 GH-DOC-23,不可將單一產品的共享能力外推至所有工具。