

LLM 助理的記憶體架構品質標準
格式:稽核檢查清單 — 放在眼前逐項驗證。
版本: 1.1 (2026-08-21)
適用範圍: 任何基於 LLM 的助理與代理,具有長期記憶(對話、情節、語義、向量、圖譜、多模態),不限技術堆疊與平台。
1. 參考循環模型
稽核遵循一個通用的記憶循環。每個檢查清單項目對應此模型中的一個節點或邊緣。
INPUT (user, files, web, images, other agents, external models)
→ INGESTION (validation, meaning extraction, importance scoring)
→ STORAGE (messages, episodes, concepts, vectors, graphs, caches)
→ RETRIEVAL (relevance, freshness, importance, boundaries)
→ ASSEMBLY (formatting, compression, injection, budgets)
→ MODEL / LLM
→ OUTPUT (responses, actions: files, search, memory calls)
→ FEEDBACK (output returns to INGESTION) ← loop is closed
Enter fullscreen mode
Exit fullscreen mode
關鍵特性是閉環:任何進入記憶的內容都會回到模型,並能自我複製。大多數嚴重的記憶體故障是邊緣故障,而非節點故障。
2. 如何執行稽核
-
從第 0 節(地圖)開始。 若沒有完整的儲存地圖,其他章節的結果將不可靠。
- 依序完成 A–K 各節。標記每個項目:
yes / partial / no / n/a。
- 對於每個
no 和 partial,記錄證據:檔案與行號、SQL 查詢與結果、傾印、提示快照、記錄項目。沒有證據的斷言不視為已驗證。
- 重要性標記:
-
[CRIT] — 直接造成資料遺失、污染、洩漏或記憶體不受控增長的風險。失敗 = 阻擋器。
-
[IMP] — 導致品質與可預測性 silently 退化的風險。
-
[REC] — 成熟度與可維護性。
- 只有在完成完整地圖後,才會給出判決(「稽核結果紀錄」章節)。
第 0 節. 系統地圖(準備)
- [ ] 0.1 已編製完整的儲存地圖:關聯式資料庫、檔案與向量索引、JSON 儲存、快取(RAM 與磁碟)、外部資料來源。[CRIT]
- [ ] 0.2 針對每個儲存體,識別寫入與讀取它的模組(讀寫所有權)。[CRIT]
- [ ] 0.3 識別所有存取鍵:哪些欄位用於寫入、哪些用於檢索;確認寫入鍵與讀取鍵一致。[CRIT]
- [ ] 0.4 識別模型輸出(回應、報告、動作結果)返回記憶體輸入的所有通道。[CRIT]
- [ ] 0.5 驗證:被分析的程式碼與執行的程式碼一致(已檢查引入、確認使用中的實作,無「死」的平行版本存在)。[CRIT]
- [ ] 0.6 擷取基準指標:儲存量(記錄數/位元組)、典型組裝後的上下文大小(token 數)、檢索時間。[IMP]
- [ ] 0.7 識別使用者或外部內容進入提示中特權(系統)部分的全部位置。[CRIT]
A 節. 輸入驗證(INGESTION)
- [ ] A1 所有外部來源(來自監控目錄的檔案、網路內容、圖片、其他代理的輸出)在寫入記憶體前都通過信任篩選。[CRIT]
- [ ] A2 秘密(金鑰、權杖、密碼、個人資料)在索引與向量化前被偵測並排除。[CRIT]
- [ ] A3 服務內容(日誌、診斷報告、服務標記、提示)被標記並從上下文組裝中排除(但可保留在歷史記錄中)。[CRIT]
- [ ] A4 意義萃取不會將形式與意義混淆:程式碼片段、語法、路徑與技術標記不會成為「概念」或「記憶」。[IMP]
- [ ] A5 每個記錄都記錄來源:來源、時間、撰寫代理、工作階段。[IMP]
- [ ] A6 來自不受信任來源的記錄會被降低權重或置於獨立的信任區域。[IMP]
- [ ] A7 多模態輸入中嵌入的內容(圖片中的文字、檔案後設資料)通過與明確文字相同的驗證。[CRIT]
B 節. 寫入冪等性與完整性(WRITE)
- [ ] B1 寫入具冪等性:重複傳遞事件(重試、更新重複、雙重呼叫)不會產生重複 — 在應用層進行去重或在 schema 中使用 UNIQUE 約束。[CRIT]
- [ ] B2 去重方向正確:保留目前記錄,抑制舊的重複項(而非相反)。[CRIT]
- [ ] B3 去重依據語義/內容鍵,而不僅是「內容 + 來源」配對 — 可捕捉跨來源的重複。[IMP]
- [ ] B4 寫入多個儲存體(訊息 + 向量 + 索引)具交易性或可補償:排除部分寫入(「訊息已存,向量未存」)。[IMP]
- [ ] B5 寫入失敗不會無聲發生:必須記錄、計量、帶退避重試;無可觀測性的 silent
return False 不可接受。[CRIT]
- [ ] B6 壓縮表示(摘要)與原始內容一致寫入;空白或失敗的壓縮不會取代原始內容。[CRIT]
C 節. 成長管理(GROWTH)
- [ ] C1 每個儲存體皆定義限制或保留原則(最大容量、歷史深度、溢位行為)。[IMP]
- [ ] C2 重新索引/重建具冪等性:重複執行不會倍增記錄。[CRIT]
- [ ] C3 已定義配額:單一記錄大小、每個工作階段/來源的記錄數、每個容器的總容量。[IMP]
- [ ] C4 向量索引與來源同步:刪除或抑制記錄時會反映在索引中;已定義並強制執行操作順序(清除來源 → 重建索引)。[CRIT]
- [ ] C5 快取(RAM 結構、摘要快取)具 TTL 或失效機制,並納入成長地圖。[IMP]
- [ ] C6 監控容量動態;異常(單次操作成長一個數量級)會觸發警示。[IMP]
- [ ] C7 多模態輸入以雜湊去重不會造成無界計數器成長,也不會允許以獨特變體串流「淹沒」記憶體新鮮度。[IMP]
D 節. 檢索排序與閘控(RETRIEVAL)
- [ ] D1 記錄的靜態「重要性」不會補償低相關性:套用上下文自適應評分(重要性權重依查詢接近度調整),並使用軟相關性門檻,低於此門檻的記錄即使重要性高也不進入上下文。[CRIT]
- [ ] D2 啟發式閘控(「對話式查詢 → 最小記憶體」)不會對合法查詢完全停用長期記憶;閘控條件必須狹窄且可稽核。[CRIT]
- [ ] D3 重要性啟發式對通膨具抵抗力:使用者無法透過淹沒、問號、關鍵詞或其他明顯技巧提高記錄排名。[IMP]
- [ ] D4 新鮮度提升受門檻限制:新但不相關的內容不會排擠舊但相關的內容。[IMP]
- [ ] D5 跨重新啟動的檢索具決定性:鍵值具持久性;不使用非決定性的雜湊或識別碼作為存取鍵。[CRIT]
- [ ] D6 門檻、限制與檢索權重已外部化至設定,而非硬編碼為魔術數字。[REC]
- [ ] D7 外部驅動的重要性抑制(依外部內容封存、使用者回覆標記工作階段為「已解決」)受門檻、新鮮度保護與目前動作範圍限制。[CRIT]
- [ ] D8 嵌入模型與資料的語言一致;當模型變更時,必須重新索引所有使用嵌入的儲存體。[CRIT]
E 節. 上下文組裝(ASSEMBLY)
- [ ] E1 禁止盲目截斷:任何縮短都必須是語義摘要;不允許半句片段進入提示。[CRIT]
- [ ] E2 完整原始內容與壓縮表示分開儲存(兩階段儲存:原始在歷史,壓縮在上下文)。[CRIT]
- [ ] E3 壓縮表示快取在來源變更、還原或重新評估時失效;已定義 TTL。[IMP]
- [ ] E4 結構化區塊(程式碼、表格)排除於壓縮之外或完整保留。[IMP]
- [ ] E5 針對每個注入的區塊(包含工具結果與記憶)定義預算(字元/ token)。[IMP]
- [ ] E6 使用者輸入未經所有欄位的嚴格驗證不得進入特權提示區塊(優先序、系統區段、記憶標頭)。[CRIT]
- [ ] E7 可信任標記(系統前綴、工具標記、記憶來源標籤)無法被使用者文字模仿 — 輸入已針對其格式進行過濾。[CRIT]
- [ ] E8 使用者查詢中的萬用字元(
%、_)與元字元在 LIKE/regex 記憶體搜尋中已跳脫。[IMP]
- [ ] E9 從模型回應文字中萃取的指令/動作(檔案操作、搜尋、記憶呼叫)已驗證:路徑、權限、確認、限制。[CRIT]
- [ ] E10 存在保護具情感意義記錄免於摘要與衰減的機制(受保護/活化記憶);受保護記錄的最大數量有上限。[REC]
- [ ] E11 關鍵資訊置於上下文視窗的開頭與結尾,而非中間;對於長上下文(16K+ token),已考量位置注意力衰減效應(參:Liu et al., “Lost in the Middle,” 2023)。[IMP]
F 節. 回饋循環(FEEDBACK LOOP)
- [ ] F1 模型輸出(回應、報告、動作結果)在返回記憶體前經過過濾:元內容(「對分析的分析」、服務摘要、關於上下文本身的報告)不會作為一般內容寫入。[CRIT]
- [ ] F2 摘要器/壓縮器不會透過主要 LLM 用戶端閉環:呼叫為裸呼叫(無歷史、無寫入記憶)。[CRIT]
- [ ] F3 摘要的摘要不可能發生(重複壓縮為無操作)。[IMP]
- [ ] F4 存在遞迴 artifact 偵測器:元回應特徵、控制記憶體中模型生成內容的比例、成長警示。[IMP]
- [ ] F5 插入回應文字的記憶召回結果,未經篩選不會「洩漏」回長期記憶。[CRIT]
- [ ] F6 阻斷「輸入錯誤 → 扭曲回應 → 寫入扭曲至記憶」的路徑:上下文組裝錯誤不會被偽裝成有效內容。[CRIT]
G 節. 隔離與信任邊界(ISOLATION)
- [ ] G1 隔離邊界不退化:實際上總是傳遞相同值(單一範圍識別碼)的篩選器不是邊界,而是邊界的模仿。[CRIT]
- [ ] G2 跨範圍傳輸僅能透過明確受控通道(橋接、對映、允許關聯)進行,而非透過共享搜尋。[IMP]
- [ ] G3 後備檢索分支不會返回不相關內容「只是為了返回東西」:空結果比隨機填充更誠實。[IMP]
- [ ] G4 外部儲存體(屬於其他系統)依合約連接:外部端的 schema/語義變更會被偵測,而非 silently 吸收。[IMP]
- [ ] G5 基於雜湊去重的首次寫入描述鎖存不是不可撤銷的:支援描述更新與重新感知時的重新描述。[IMP]
- [ ] G6 領域/範圍分類對改述具穩健性;分類錯誤不會導致內容可見性不可恢復(存在恢復路徑)。[IMP]
- [ ] G7 長期優先序受保護,不被暫時提升所抑制:已定義最大提升壽命與基礎權重恢復機制。[IMP]
H 節. 並行與遷移(CONCURRENCY)
- [ ] H1 儲存存取統一(連線池 / 單一閘道);不存在帶有相互鎖定的多個獨立連線。[IMP]
- [ ] H2 共享可變狀態(優先序、提升、快取、工作階段旗標)在非同步/多執行緒處理中受保護免於競爭。[CRIT]
- [ ] H3 時間區間(衰減、新鮮度、TTL)從單調來源計算;系統時鐘變更不會破壞邏輯。[IMP]
- [ ] H4 Schema 遷移具冪等性(變更前檢查是否存在),附帶備份與乾跑;排除或可偵測部分套用。[CRIT]
- [ ] H5 測試與生產儲存體隔離:暫存/記憶體內資料庫、模擬外部 API,不與即時資料並行存取。[CRIT]
- [ ] H6 單一事件的重複處理(系統輸入層的冪等鍵)排除雙重產生與雙重寫入。[IMP]
I 節. 可觀測性與恢復(OBSERVABILITY & RECOVERY)
- [ ] I1 記憶污染監控已運作:模式特徵、品質分數、警示門檻。[IMP]
- [ ] I2 排除無聲退化:每個優雅後備皆附帶指標/警示,而非僅一條日誌;大量以存根替換記憶必須可偵測。[CRIT]
- [ ] I3 定期備份;還原程序已在實務中驗證(還原演練),而非僅有複本存在。[IMP]
- [ ] I4 資料刪除為軟刪除:以權重抑制/封存取代 DELETE;已實作並測試恢復路徑(取消封存)。[IMP]
- [ ] I5 存在健康檢查:用於活性驗證、儲存體間計數器一致性、外部依賴可用性的現成指令。[IMP]
- [ ] I6 輔助基礎設施(網頁控制台、管理面板)的可用性受身份驗證保護;它們不會將記憶體暴露給外部。[CRIT]
- [ ] I7 存在診斷對話協定 — 以結構化方式詢問代理其上下文狀態(「你看到什麼?」、「什麼造成干擾?」、「缺少什麼?」),作為外部指標的補充。[REC]
- [ ] I8 適應性行為參數(人格特質、風格校準)在重新啟動後保持持久;每次啟動皆驗證恢復。[IMP]
J 節. 變更管理(CHANGE MANAGEMENT)
- [ ] J1 每個觀察區間僅一個邏輯變更;排除同時獨立修改(否則回歸原因無法定位)。[CRIT]
- [ ] J2 變更的成功標準可衡量:事前擷取基準(以 token/數字,而非「目測」),事後進行測量。[IMP]
- [ ] J3 每個已解決的事件皆以回歸防護測試結案;沒有測試的修正視為不完整。[IMP]
- [ ] J4 上下文組裝的本地驗證(「模型實際會看到什麼」的快照)先於線上測試進行。[IMP]
- [ ] J5 變更可逆:每個 commit 一個變更,單一步驟的回滾不會拉動相鄰步驟。[IMP]
- [ ] J6 維持文件循環:診斷 → 規格 → 審核 → 工作階段紀錄 → 報告 → 解決後模式(帶適用性訊號的泛化);在每個新規格開始時檢查模式的適用性。[REC]
K 節. 快速診斷(問題徵兆)
症狀 → 可能缺陷類別。用於完整檢查前的快速導航。
| 症狀 |
可能缺陷 |
參見章節 |
| 模型「分析」自己的報告/回應 |
回饋循環 |
F |
| 技術文字、日誌、程式碼出現在「記憶」中 |
輸入驗證 / 評分 |
A, D |
| 相同資料在上下文中重複 |
寫入冪等性 |
B |
| 重建後儲存量大幅成長 |
非冪等索引 |
C |
| 資料存在於儲存體中,但檢索結果為空 |
寫入/讀取鍵不符 |
0, D |
| 「有時正常」、「重啟後才有效」 |
隱藏儲存、RAM 狀態、快取 |
0, C |
| 資料庫「乾淨」但問題持續 |
地圖外存在儲存體 |
0 |
| 舊的不相關內容排擠新的 |
靜態重要性 vs 相關性 |
D |
| 模型突然「失去」所有長期記憶 |
非決定性持久鍵 |
D |
| 回應帶有不相關主題/代理的痕跡 |
隔離邊界突破 |
G |
| 簡短隨意查詢得到空上下文 |
積極的檢索閘控 |
D |
| 回應內容「斷在半個字」 |
組裝時盲目截斷 |
E |
| 被發現的秘密出現在回應中 |
驗證前洩漏至記憶 |
A |
| 負載下卡住,「資料庫已鎖定」 |
存取並行 |
H |
| 代理「猜測」而非「記得」 |
嵌入模型不符 / 檢索路徑 |
0, D |
稽核結果紀錄
完成完整檢查後填寫:
Audit date: ______
System under audit: ______
System map completed: yes / no (if no — audit is not complete)
| Section | items | yes | partial | no | n/a | failed [CRIT] |
|---------|-------|-----|---------|----|-----|---------------|
| 0. Map | 7 | | | | | |
| A. Input validation | 7 | | | | | |
| B. Write integrity | 6 | | | | | |
| C. Growth | 7 | | | | | |
| D. Retrieval | 8 | | | | | |
| E. Assembly | 11 | | | | | |
| F. Feedback loop | 6 | | | | | |
| G. Isolation | 7 | | | | | |
| H. Concurrency | 6 | | | | | |
| I. Observability | 8 | | | | | |
| J. Change management | 6 | | | | | |
Verdict:
- DOES NOT PASS: any [CRIT] failure — list: ______
- PASSES WITH CAVEATS: [CRIT] clean, [IMP] failures present: ______
- CONFORMS: no [CRIT]/[IMP] failures, only [REC] notes
Evidence (each failure → file/query/dump): ______
Priority remediation order: ______
Enter fullscreen mode
Exit fullscreen mode
判決規則:
- 第 0、A、B、E、F 節中任何 [CRIT] 失敗代表:目前形式的架構對長期記憶累積不安全 — 在修正前,資料將遺失、被污染或複製垃圾內容。
- C、D、G、H、I 節的 [CRIT] 失敗僅允許在有補償控制(監控、呼叫端限制)與修正計畫的情況下運作。
- 稽核在下一次重大架構變更前有效;每次變更後,需重新檢查受影響章節(架構世代變更時進行完整檢查)。
關於標準起源的說明
此標準是透過統整多年實際助理系統的運作經驗、事件與事後檢討而來,這些系統具備多層記憶:自我污染循環、非決定性鍵造成的無聲失憶、含有秘密的外部內容對長期儲存的污染、重複索引造成的容量倍增、嵌入模型語言不符導致的檢索失敗、同時變更造成的退化、重啟後人格特質遺失,以及將模型輸出與使用者輸入一同儲存造成的回饋循環。每個項目皆有對應類別的真實事件作為後盾;沒有事件基礎的項目標記為 [REC]。
作者:Aleksandr Kossarev, Jõgeva, Estonia
標籤:#ai #architecture #memory #standard
https://dev.to/aleksandr_kossarev_e23623/memory-architecture-quality-standard-for-llm-assistants-28b3
https://www.worldprogramming.org/posts/memory-architecture-quality-standard-for-llm-assistants-scadmk
Post Views: 462