指令用途
在大語言模型開始執行一項任務(例如進行程式碼重構)時,如果沒有對專案的歷史限制(ADR、代碼偏好、硬體配置)進行檢索,AI 助手極易寫出不符合當前儲存庫規範的程式碼。
get_observations 是 Claude-Mem 提供的 持久化記憶檢索器。當 AI 助手啟動新會話,或開發者在對話中提及某個特定主題(如 Database 或 PLC)時,AI 會調用此工具在本地 SQLite 記憶體資料庫中進行語意向量或關鍵字檢索,將歷史 Session 沉澱下來的架構事實注入到當前會話中,避免重複犯錯。
運作流程
- 語意比對:接收
query(查詢字串)與limit(回傳筆數限制)。 - 記憶庫檢索:在本地資料庫中檢索與關鍵字關聯度最高的長期觀察(Long-term Observations)。
- 安全注入:回傳高純度的摘要,自動格式化為 System Context 一部分。
實戰對話範例
範例:查詢與 PLC 通訊連線相關的記憶
- You:
/opsx:explore "我們需要修改 PLC 通訊模組。請幫我查詢我們之前有沒有關於 PlcConnection 的記錄或注意事項。" - AI:
好的,為了遵循我們之前的設計決策,我將調用
claude-mem的get_observations工具,拉取與 “PlcConnection” 相關的持久化記憶。CM 呼叫:
get_observations(query: "PlcConnection")
CM 回傳:[ { "observationId": "obs_1002", "category": "architecture", "summary": "PLC 連線在生產環境下高載延遲大,必須在 AppDbContext 和 Socket 連線中強制設定 CommandTimeout 為 60 秒,嚴禁改回預設 30 秒。" } ]分析:
檢索到一筆黃金記憶:我們曾經在 2026-07-16 決定將逾時時間調整為 60 秒。這項記憶提醒了我們在重構時,必須保留 60 秒的逾時設定,防止因為改回 30 秒而引發隨機斷連 Bug。接下來我們開始檢視修改的程式碼嗎?