定位說明:
save_observation是 write-side 工具(主動將觀察寫入長期記憶),不屬於官方 README 中描述的 Search Tools 三層 workflow(get_observations→save_observation→forget是記憶管理三指令,與搜尋層級無關)。
指令用途
雖然 AI 助手在對話結束後會自動嘗試壓縮記憶,但在很多時候,開發者與 AI 達成了一項至關重要的共識(例如:「此專案嚴禁使用 runtime 控制項生成」或者是「第三方 SDK 金鑰應由 KeyVault 託管」),此時如果能立即進行顯式寫入,就能保證該知識 100% 沉澱下來,永不丟失。
save_observation 允許 AI 助手或開發者手動將一條高純度的「黃金觀察」寫入本地 SQLite 持久化資料庫中。這相當於手動在 AI 的大腦中刻下一道深刻的記憶印記。
運作流程
- 參數接收:接收
key(檢索鍵,如api_key_policy)、value(記憶內容) 與category(分類)。 - 格式驗證:確保內容不含有敏感資訊(若有,會依據隱私規則進行警告或遮蔽)。
- 寫入儲存:寫入 SQLite,並自動為其在圖中建立與相關檔案的鏈結。
實戰對話範例
範例:手動記錄 SDK 金鑰安全策略
- You:
/opsx:explore "請幫我記錄:所有第三方 SDK 金鑰必須使用 AppSettings.json 結合環境變數,絕對不能直接寫在原始碼中。" - AI:
好的,這是一項非常關鍵的安全性開發規範。我將調用
save_observation將其持久化到您的長期開發記憶庫中。CM 呼叫:
save_observation( key: "sdk_key_security", value: "所有第三方 SDK 憑證必須由環境變數或 KeyVault 託管,嚴禁在原始碼中硬編碼金鑰串。", category: "security" )CM 回傳:
{"status": "saved", "observationId": "obs_1084"}規範已成功寫入長期記憶!在未來的開發會話中,只要涉及到 SDK 或金鑰配置,我都會自動調用此條記憶來規範我的代碼修改行爲。