← Archive
lm-002117 · 2026-08

06_記憶編譯型狀態智能體

下載 MD 檔 ⬇

06.記憶編譯型狀態智能體

系列:《從路徑覆蓋到行星智能:記憶編譯型計算存在論》
部別:第二部——記憶編譯型智能
版本:v0.1
日期:2026-08-01


摘要

前五篇已建立一條完整鏈:知道答案不等於保有求解路徑;暴力搜尋依賴計算、記憶、展開、序列生成與回憶能力的耦合;知識空間並非單純搜尋樹,而是具有大量交叉、循環與結構等價的高重疊圖;真正應被最大化的也不是路徑數量,而是單位成本下的不可替代有效覆蓋;最後,極強記憶若具備去重、索引與反固著能力,不僅不必然壓制創新,甚至可能將探索資源集中到真正未知邊界。

本文在此基礎上正式定義「記憶編譯型狀態智能體」(Memory-Compiled State Agent, MCSA)。它不是單純擁有長期記憶的 AI,也不是只在問題出現時查詢資料庫;其核心能力是把歷史中昂貴的搜尋、推理、驗證、試錯與行動軌跡,逐步壓縮為可重用的「狀態分類—索引—策略—驗證」結構。當新狀態落入已知結構時,智能體不必重新支付完整搜尋成本,而可沿快速通道完成響應;當分類置信度不足、環境發生漂移或狀態無法被既有類別解釋時,則重新進入高成本探索模式,產生新路徑並更新記憶。

本文提出一個最小閉環:

xtΦztCctIRtΠatVrtUMt+1x_t \xrightarrow{\Phi} z_t \xrightarrow{C} c_t \xrightarrow{I} \mathcal R_t \xrightarrow{\Pi} a_t \xrightarrow{V} r_t \xrightarrow{U} \mathcal M_{t+1}

並進一步加入記憶編譯器、快速通道、失效偵測、狀態商空間、多尺度索引與歷史計算資本化等結構。本文主張:這種智能體的成長不只表現為「每次想得更快」,而是讓越來越大的世界狀態區域從「需要重新求解」轉化為「可以辨認、索引、調整並直接調用」。

關鍵詞: 記憶編譯、狀態智能體、Agent Memory、Case-Based Reasoning、狀態抽象、快速通道、策略索引、歷史計算、累積智能


1.前五篇終於可以壓成一個智能體

到目前為止,我們已經有:

zt=(κt,μt,ϵt,σt,ρt)z_t= ( \kappa_t, \mu_t, \epsilon_t, \sigma_t, \rho_t )

其中:

  • κt\kappa_t :計算能力;
  • μt\mu_t :記憶能力;
  • ϵt\epsilon_t :展開能力;
  • σt\sigma_t :序列生成能力;
  • ρt\rho_t :回憶能力。

它運作於高重疊知識空間:

K=(G,P,,ω)\mathfrak K= (G,\mathcal P,\sim,\omega)

並追求:

maxΔCeffectiveK\max \frac{ \Delta C_{\mathrm{effective}} }{ K }

也就是單位成本下最大的不可替代新增覆蓋。

現在只差最後一步:

如果這個系統把每一次昂貴探索都保存下來,並將成熟路徑壓縮成可直接調用的狀態響應,那麼它究竟會變成什麼?

本文將它定義為:

Memory-Compiled State Agent\boxed{ \text{Memory-Compiled State Agent} }

縮寫:

MCSA\boxed{ \text{MCSA} }

中文:

記憶編譯型狀態智能體\boxed{ \text{記憶編譯型狀態智能體} }

2.「記憶編譯」不是普通記憶

普通長期記憶可以是:

xmx\rightarrow m

即:

遇到輸入 xx ,取回一段相關資料 mm

這比較接近一般檢索。

記憶編譯則多了一層:

歷史求解軌跡狀態結構可重用策略\text{歷史求解軌跡} \rightarrow \text{狀態結構} \rightarrow \text{可重用策略}

假設第一次處理某問題時,完整軌跡:

τ=(x0,a0,x1,a1,,xn,r)\tau = ( x_0, a_0, x_1, a_1, \ldots, x_n, r )

其中:

  • xix_i :中間狀態;
  • aia_i :動作;
  • rr :結果。

普通記憶可能直接保存:

M(τ)=τM(\tau)=\tau

而記憶編譯的目標則是得到:

C(τ)=(c,πc,θc,vc)\mathcal C(\tau) = ( c, \pi_c, \theta_c, v_c )

其中:

  • cc :狀態類別;
  • πc\pi_c :對應策略;
  • θc\theta_c :適用條件;
  • vcv_c :驗證規則。

於是未來不必完整重播 τ\tau


3.什麼叫「編譯」?

這裡使用「編譯」不是比喻性的裝飾,而是有明確含義。

傳統程式編譯會把:

高階表示低成本可執行表示\text{高階表示} \rightarrow \text{低成本可執行表示}

本文的記憶編譯則是:

昂貴歷史推理低成本可調用狀態響應\text{昂貴歷史推理} \rightarrow \text{低成本可調用狀態響應}

也就是把:

xp1,p2,,pn比較驗證ax \rightarrow p_1,p_2,\ldots,p_n \rightarrow \text{比較} \rightarrow \text{驗證} \rightarrow a^\ast

逐步壓縮成:

[x]a[x] \Rightarrow a^\ast

或更安全地:

[x](πx,Vx)[x] \Rightarrow (\pi_x,V_x)

其中仍保留驗證器 VxV_x

因此:

編譯不是刪除推理,而是把已成熟推理轉成可重用的快速執行結構。\boxed{ \text{編譯不是刪除推理,而是把已成熟推理轉成可重用的快速執行結構。} }

4.它和 Case-Based Reasoning 的關係

Case-Based Reasoning(CBR)很早就已經具有:

RetrieveReuseReviseRetain\text{Retrieve} \rightarrow \text{Reuse} \rightarrow \text{Revise} \rightarrow \text{Retain}

的核心循環。

也就是:

  1. 找出相似案例;
  2. 重用既有解;
  3. 依新情況修改;
  4. 把新經驗保留下來。

因此,MCSA 並不是憑空出現。

它與 CBR 有明顯血緣關係。

但本文要多推一步:

不是只保存案例,而是把大量案例逐漸壓成狀態類、策略原型與快速通道。\boxed{ \text{不是只保存案例,而是把大量案例逐漸壓成狀態類、策略原型與快速通道。} }

所以可以寫成:

CBR+狀態抽象+多尺度記憶+快速策略編譯+未知狀態切換\text{CBR} + \text{狀態抽象} + \text{多尺度記憶} + \text{快速策略編譯} + \text{未知狀態切換}

形成本文的 MCSA。


5.它和現代 Agent Memory 的關係

近期 Agent memory 研究已經不再只把記憶分成:

short-termvs.long-term\text{short-term} \quad\text{vs.}\quad \text{long-term}

而開始討論:

  • 記憶以什麼形式存在;
  • 記憶如何形成;
  • 如何演化;
  • 如何檢索;
  • 如何被智能體自主更新。

因此,MCSA 可以利用現有 Agent memory 作為底座。

但仍需區分:

Memory SystemMemory-Compiled Policy System\boxed{ \text{Memory System} \neq \text{Memory-Compiled Policy System} }

前者回答:

我能找到過去什麼資訊?

後者還要回答:

過去哪些資訊已經成熟到可以直接改變當前策略選擇?


6.最小閉環

本文提出最小閉環:

xtΦztCctIRtΠatVrtUMt+1x_t \xrightarrow{\Phi} z_t \xrightarrow{C} c_t \xrightarrow{I} \mathcal R_t \xrightarrow{\Pi} a_t \xrightarrow{V} r_t \xrightarrow{U} \mathcal M_{t+1}

逐項拆開。


7.狀態觀測: xtx_t

xtx_t 是原始世界狀態。

它可以包括:

xt=(ot,gt,ht,qt,et)x_t = ( o_t, g_t, h_t, q_t, e_t )

其中:

  • oto_t :觀測;
  • gtg_t :任務目標;
  • hth_t :歷史;
  • qtq_t :資源與限制;
  • ete_t :環境條件。

因此輸入不只是:

使用者問了什麼?

而可能是:

現在整個任務處於什麼狀態?


8.狀態表示: Φ\Phi

原始狀態通常不能直接拿去做長期索引。

所以需要:

zt=Φ(xt)z_t=\Phi(x_t)

其中 ztz_t 是結構化狀態表示。

例如:

zt=(problem type,phase,constraints,resources,risk,novelty,uncertainty)z_t = ( \text{problem type}, \text{phase}, \text{constraints}, \text{resources}, \text{risk}, \text{novelty}, \text{uncertainty} )

因此 Φ\Phi 的功能是:

把一次性表面輸入轉成可比較的狀態變數。\boxed{ \text{把一次性表面輸入轉成可比較的狀態變數。} }

9.狀態分類: CC

接著:

ct=C(zt)c_t=C(z_t)

CC 不應只是單標籤分類器。

真實狀態可能同時屬於:

ct={ct(1),ct(2),,ct(k)}c_t= \{ c_t^{(1)}, c_t^{(2)}, \ldots, c_t^{(k)} \}

例如一個問題同時是:

  • 資源約束問題;
  • 長期規劃問題;
  • 高不確定性問題;
  • 已知問題族的新變體。

所以 MCSA 需要:

分層、重疊、可更新的狀態分類。\boxed{ \text{分層、重疊、可更新的狀態分類。} }

10.狀態商空間

若大量原始狀態其實可以採取相似策略,則定義:

xiθxjx_i\sim_\theta x_j

表示:

在任務尺度 θ\theta 下,兩個狀態可以共享近似相同的策略結構。

於是形成:

X/θ\mathcal X/{\sim_\theta}

MCSA 不需要保存每個原始狀態的完整獨立策略。

而可以保存:

[x]π[x][x] \mapsto \pi_{[x]}

這是記憶編譯成立的關鍵。

因為真正可壓縮的不是世界本身,而是:

對決策而言等價的狀態集合。\boxed{ \text{對決策而言等價的狀態集合。} }

11.索引: II

分類後進入:

Rt=I(ct,zt,Mt)\mathcal R_t = I(c_t,z_t,\mathcal M_t)

其中 Rt\mathcal R_t 是取回的記憶集合。

理想索引不能只找到:

語義上相似的文字\text{語義上相似的文字}

還需要找:

  • 相似狀態;
  • 相同限制;
  • 類似失敗模式;
  • 可重用策略;
  • 過去反例;
  • 已知快速通道;
  • 當前分類的可信度。

因此索引的目標不是:

maxSimilarity(q,m)\max\operatorname{Similarity}(q,m)

而是:

maxDecisionRelevance(zt,m)\boxed{ \max\operatorname{DecisionRelevance}(z_t,m) }

12.多尺度索引

如果記憶規模:

Mvery large|\mathcal M|\rightarrow\text{very large}

每次都在所有記憶中全域搜尋會非常昂貴。

因此索引應分層:

L0L1L2LnL_0 \rightarrow L_1 \rightarrow L_2 \rightarrow \cdots \rightarrow L_n

例如:

世界狀態領域問題族狀態原型歷史案例\text{世界狀態} \rightarrow \text{領域} \rightarrow \text{問題族} \rightarrow \text{狀態原型} \rightarrow \text{歷史案例}

粗分類先把候選從:

NN

縮到:

N1NN_1\ll N

再逐步縮到:

NkNk1N_k\ll N_{k-1}

所以:

強記憶的前提不是只增加容量,而是讓有效索引成本增長得更慢。\boxed{ \text{強記憶的前提不是只增加容量,而是讓有效索引成本增長得更慢。} }

13.策略映射: Π\Pi

完成檢索後:

at=Π(zt,Rt)a_t = \Pi(z_t,\mathcal R_t)

Π\Pi 不必只輸出單一步行動。

它可以輸出:

πt\pi_t

也就是一個策略。

例如:

πt:za\pi_t: z \mapsto a

甚至是宏策略:

πt=(a1,a2,,ak)\pi_t = (a_1,a_2,\ldots,a_k)

若某條長路徑已充分成熟,則可以被壓成一個高階動作。

這和 reinforcement learning 中的 temporally extended actions/options 有相似精神:

long action sequencehigh-level action unit\text{long action sequence} \rightarrow \text{high-level action unit}

14.快速通道

若狀態類:

[c][c]

已被反覆驗證,且對應策略:

πc\pi_c

高度穩定,就可以建立:

Fc:[c]πcF_c: [c] \Rightarrow \pi_c

這就是:

Fast Path\boxed{ \text{Fast Path} }

快速通道的價值在於:

原本:

Ksolve=Ksearch+Kcompare+KverifyK_{\mathrm{solve}} = K_{\mathrm{search}} + K_{\mathrm{compare}} + K_{\mathrm{verify}}

編譯後:

Kfast=Kclassify+Kretrieve+Kadapt+KverifyK_{\mathrm{fast}} = K_{\mathrm{classify}} + K_{\mathrm{retrieve}} + K_{\mathrm{adapt}} + K_{\mathrm{verify}}

理想狀況:

KfastKsolveK_{\mathrm{fast}} \ll K_{\mathrm{solve}}

15.快速通道不能取消驗證

如果編譯後變成:

[c]a[c]\Rightarrow a

而完全沒有驗證,系統很容易因環境漂移造成災難。

因此更安全的形式是:

[c](πc,Vc)[c] \Rightarrow (\pi_c,V_c)

執行後:

Vc(xt,at,rt)V_c(x_t,a_t,r_t)

檢查:

  • 結果是否符合預期;
  • 條件是否仍成立;
  • 世界是否改變;
  • 分類是否錯誤。

所以:

快速通道應該縮短搜尋,不應消滅回饋。\boxed{ \text{快速通道應該縮短搜尋,不應消滅回饋。} }

16.結果驗證: VV

設行動:

ata_t

產生結果:

rtr_t

則:

V(zt,at,rt){success,partial,failure,anomaly}V(z_t,a_t,r_t) \rightarrow \{ \text{success}, \text{partial}, \text{failure}, \text{anomaly} \}

這一步決定:

既有編譯是否仍然有效?

如果長期:

V=successV=\text{success}

則快速通道置信度提高。

如果:

V=failureV=\text{failure}

或:

V=anomalyV=\text{anomaly}

則需要降低權重甚至解除編譯。


17.記憶更新: UU

更新函數:

Mt+1=U(Mt,zt,ct,Rt,at,rt)\mathcal M_{t+1} = U( \mathcal M_t, z_t, c_t, \mathcal R_t, a_t, r_t )

但不能每次都把整段歷史原封不動保存。

首先估計新穎量:

ΔNt\Delta N_t

若:

ΔNt0\Delta N_t\approx0

只更新:

  • 次數;
  • 信心;
  • 成功率;
  • 適用範圍。

如果:

ΔNt0\Delta N_t\gg0

才新增:

  • 新案例;
  • 新狀態類;
  • 新例外;
  • 新失敗;
  • 新策略。

因此記憶成長不是:

Mt+1=Mt+1|\mathcal M_{t+1}| = |\mathcal M_t|+1

每次固定增長。

而是:

資訊增量驅動的選擇性記憶更新。\boxed{ \text{資訊增量驅動的選擇性記憶更新。} }

18.真正的「記憶編譯器」

現在可以單獨定義:

CM\mathfrak C_M

即記憶編譯器。

它接收歷史:

τ1,τ2,,τn\tau_1,\tau_2,\ldots,\tau_n

輸出:

CM(τ1,,τn)=(Q,Π,Θ,V,I)\mathfrak C_M( \tau_1,\ldots,\tau_n ) = ( \mathcal Q, \Pi, \Theta, \mathcal V, \mathcal I )

其中:

  • Q\mathcal Q :狀態類;
  • Π\Pi :策略原型;
  • Θ\Theta :適用條件;
  • V\mathcal V :驗證器;
  • I\mathcal I :索引結構。

這一步可以再拆成:

normalizededuplicateclusterabstractvalidateindexcompile\text{normalize} \rightarrow \text{deduplicate} \rightarrow \text{cluster} \rightarrow \text{abstract} \rightarrow \text{validate} \rightarrow \text{index} \rightarrow \text{compile}

19.第一階段:正規化

不同歷史可能寫成不同形式:

τi\tau_i

但其實共享相同狀態變數。

所以先轉成:

τ^i=N(τi)\hat\tau_i = N(\tau_i)

去除:

  • 無關表面表達;
  • 偶然格式;
  • 不影響策略的細節。

目的是:

讓結構相同比字面相同更重要。\boxed{ \text{讓結構相同比字面相同更重要。} }

20.第二階段:去重

比較:

τ^i,τ^j\hat\tau_i,\hat\tau_j

若:

τ^iτ^j\hat\tau_i\sim\hat\tau_j

則不需要保存兩套完整策略。

而是更新同一類別:

[c][c]

的統計與適用範圍。

因此:

案例數\text{案例數}\uparrow

不必等同:

策略類數\text{策略類數}\uparrow

21.第三階段:抽象

多個案例:

τ1,,τk\tau_1,\ldots,\tau_k

若共享:

zcorez_{\mathrm{core}}

則抽出:

c=A(τ1,,τk)c= A(\tau_1,\ldots,\tau_k)

這形成狀態原型:

c=(zcore,Δzallowed,Ec)c = ( z_{\mathrm{core}}, \Delta z_{\mathrm{allowed}}, E_c )

其中:

  • zcorez_{\mathrm{core}} :核心特徵;
  • Δzallowed\Delta z_{\mathrm{allowed}} :允許變異;
  • EcE_c :例外集合。

因此分類不是死板模板。

而是:

原型 + 容許變異 + 例外。\boxed{ \text{原型 + 容許變異 + 例外。} }

22.第四階段:策略壓縮

歷史路徑:

p1,p2,,pnp_1,p_2,\ldots,p_n

可能共享:

qq

則將公共區段抽成:

πq\pi_q

若整條路徑成熟:

pp^\ast

則:

Compile(p)=π^\operatorname{Compile}(p^\ast) = \hat\pi

未來從:

nn

步細粒度操作轉成:

11

個宏操作。

這就是:

路徑壓縮策略編譯\boxed{ \text{路徑壓縮} \rightarrow \text{策略編譯} }

23.第五階段:快速索引

每個編譯項:

BiB_i

至少包含:

Bi=(ci,πi,θi,Vi,wi,ti)B_i= ( c_i, \pi_i, \theta_i, V_i, w_i, t_i )

其中:

  • cic_i :狀態類;
  • πi\pi_i :策略;
  • θi\theta_i :適用條件;
  • ViV_i :驗證器;
  • wiw_i :信心/權重;
  • tit_i :版本/時間。

建立索引:

I:zt{Bi1,,Bik}I: z_t\rightarrow \{B_{i_1},\ldots,B_{i_k}\}

使系統不必重新掃描全部歷史。


24.第六階段:失效與重新編譯

世界不是靜態的。

因此任何:

BiB_i

都有可能失效。

定義預測:

r^t=F^(Bi,zt)\hat r_t = \hat F(B_i,z_t)

實際結果:

rtr_t

若:

rtr^t>ϵ\|r_t-\hat r_t\|>\epsilon

則觸發:

decompile\text{decompile}

或:

recompile\text{recompile}

也就是:

BireviewBiB_i \rightarrow \text{review} \rightarrow B_i'

因此 MCSA 不是一個越來越僵硬的查表機。

而是一個:

可撤銷、可版本化、可重新編譯的記憶系統。\boxed{ \text{可撤銷、可版本化、可重新編譯的記憶系統。} }

25.已知狀態與未知狀態

定義分類置信度:

P(czt)P(c\mid z_t)

若:

maxcP(czt)τknown\max_c P(c\mid z_t)\geq\tau_{\mathrm{known}}

則進入:

Compiled Mode\text{Compiled Mode}

如果:

maxcP(czt)<τunknown\max_c P(c\mid z_t)<\tau_{\mathrm{unknown}}

則:

C(zt)=C(z_t)=\bot

代表:

現有分類不足以安全處理此狀態。\boxed{ \text{現有分類不足以安全處理此狀態。} }

這時智能體不能強行套用舊策略。

必須切換:

Exploration Mode\text{Exploration Mode}

26.兩種運作模式

26.1 編譯模式

ztctBiπiatz_t \rightarrow c_t \rightarrow B_i \rightarrow \pi_i \rightarrow a_t

適用於:

  • 已知;
  • 高置信;
  • 重複;
  • 穩定。

26.2 探索模式

ztPtcandsearchverifynew memoryz_t \rightarrow \mathcal P_t^{\mathrm{cand}} \rightarrow \text{search} \rightarrow \text{verify} \rightarrow \text{new memory}

適用於:

  • 未知;
  • 異常;
  • 分類衝突;
  • 世界漂移;
  • 高新穎性。

真正智能的地方不是只會其中一個。

而是:

知道什麼時候不要重新想,也知道什麼時候必須重新想。\boxed{ \text{知道什麼時候不要重新想,也知道什麼時候必須重新想。} }

27.這種智能體的「直覺」從哪裡來?

從外部看:

xtatx_t \rightarrow a_t

可能幾乎瞬間完成。

人們可能說:

它有直覺。

但在本文框架中,這種直覺可以被拆成:

過去高成本搜尋\text{過去高成本搜尋}

經過:

抽象+分類+索引+編譯\text{抽象} + \text{分類} + \text{索引} + \text{編譯}

變成:

現在低成本響應\text{現在低成本響應}

因此:

計算直覺可以是被壓縮、索引並編譯過的歷史計算。\boxed{ \text{計算直覺可以是被壓縮、索引並編譯過的歷史計算。} }

這並不表示所有直覺都如此,但它提供一種工程上可實作的來源。


28.歷史計算資本化

第一次求解:

K1=KsearchK_1=K_{\mathrm{search}}

第二次若沒有記憶:

K2K1K_2\approx K_1

若有案例記憶:

K2<K1K_2<K_1

若完成策略編譯:

K2K1K_2\ll K_1

因此第一次昂貴計算不是一次性消耗。

它可以被轉換成:

AcomputeA_{\mathrm{compute}}

也就是「計算資產」。

定義累積計算資產:

At={B1,B2,,Bn}\mathcal A_t = \{ B_1,B_2,\ldots,B_n \}

則智能體長期成長的一部分可以描述成:

At|\mathcal A_t|\uparrow

以及:

Kknown(t)K_{\mathrm{known}}(t)\downarrow

這就是:

歷史計算資本化\boxed{ \text{歷史計算資本化} }

29.累積智能的另一種定義

傳統上我們容易把智能成長理解成:

κt\kappa_t\uparrow

即原始計算能力上升。

但 MCSA 提供另一個維度:

Pt(need full solve)P_t(\text{need full solve})\downarrow

同時:

Pt(usable compiled response)P_t(\text{usable compiled response})\uparrow

所以有效智能:

IeffI_{\mathrm{eff}}

可以概念性寫成:

Ieff=Iraw+IcompiledI_{\mathrm{eff}} = I_{\mathrm{raw}} + I_{\mathrm{compiled}}

其中:

IcompiledI_{\mathrm{compiled}}

來自已累積的快速狀態響應結構。


30.編譯覆蓋率

設所有遭遇狀態分布為:

p(x)p(x)

可由高置信編譯策略處理的區域:

XC\mathcal X_C

則可定義:

Rcompile=XCp(x)dxR_{\mathrm{compile}} = \int_{\mathcal X_C} p(x)\,dx

它代表:

日常遭遇的狀態中,有多少比例可以走成熟快速通道?

如果:

RcompileR_{\mathrm{compile}}\uparrow

則平均決策成本:

E[K]\mathbb E[K]

可能下降。

但這不代表所有狀態都應被編譯。

真正未知區域仍要保持:

XU\mathcal X_U

31.不能追求百分之百編譯

若目標是:

Rcompile1R_{\mathrm{compile}}\rightarrow1

系統可能犯一個錯誤:

把所有未知都硬分類成已知。

這會造成:

Novel StateOld ClassWrong Fast Path\text{Novel State} \rightarrow \text{Old Class} \rightarrow \text{Wrong Fast Path}

因此系統需要保留:

P(C(x)=)>0P(C(x)=\bot)>0

也就是:

「我不知道這是什麼」必須是一個合法狀態。\boxed{ \text{「我不知道這是什麼」必須是一個合法狀態。} }

32.過度分類是最大的結構風險之一

若:

xnewx_{\mathrm{new}}

與:

coldc_{\mathrm{old}}

表面相似,分類器可能:

xnewcoldx_{\mathrm{new}}\mapsto c_{\mathrm{old}}

但若真正決定結果的關鍵變數:

zkz_k

發生改變,舊策略就可能失效。

因此分類必須附帶:

θc\theta_c

即適用條件。

只有:

θc(zt)=1\theta_c(z_t)=1

時,才允許快速通道。

所以:

類別不是答案,類別是條件化策略入口。\boxed{ \text{類別不是答案,類別是條件化策略入口。} }

33.記憶編譯需要元記憶

智能體還必須記得:

自己為什麼相信這個記憶?

因此每個編譯項最好附帶:

mimeta=(source,confidence,coverage,failures,time,version)m_i^{\mathrm{meta}} = ( source, confidence, coverage, failures, time, version )

也就是:

  • 來源;
  • 信心;
  • 覆蓋範圍;
  • 失敗紀錄;
  • 時間;
  • 版本。

這形成:

Meta-Memory\boxed{ \text{Meta-Memory} }

沒有元記憶,系統只有:

知道\text{知道}

卻沒有:

知道自己為何知道,以及何時不該再相信。\text{知道自己為何知道,以及何時不該再相信。}

34.記憶的五層

因此 MCSA 至少可以具有:

第一層:事件記憶

MEM_E

保存發生過什麼。

第二層:語義記憶

MSM_S

保存一般規律。

第三層:程序記憶

MPM_P

保存怎麼做。

第四層:狀態轉換記憶

MT:xtxt+1M_T: x_t\rightarrow x_{t+1}

保存世界如何變化。

第五層:元記憶

MMM_M

保存記憶可靠度與適用邊界。

因此:

M=MEMSMPMTMM\mathcal M = M_E\oplus M_S\oplus M_P\oplus M_T\oplus M_M

35.它不是巨大查表

最容易的誤解是:

這不就是把所有狀態和答案存成一張表?

不是。

因為世界狀態空間可能極大甚至連續:

XM|\mathcal X|\gg|\mathcal M|

所以 MCSA 必須依靠:

abstraction\text{abstraction}

也就是:

XX/\mathcal X \rightarrow \mathcal X/{\sim}

將大量原始狀態壓成有限或較低複雜度的策略類。

真正保存的是:

可泛化狀態原型,而不是每一個可能世界狀態。\boxed{ \text{可泛化狀態原型,而不是每一個可能世界狀態。} }

36.它也不是單純 RAG

RAG 可以近似表示為:

qRetrieve(q)generationq \rightarrow \operatorname{Retrieve}(q) \rightarrow \text{generation}

MCSA 則是:

xtstate representationclassifyretrievepolicy selectactverifycompile/updatex_t \rightarrow \text{state representation} \rightarrow \text{classify} \rightarrow \text{retrieve} \rightarrow \text{policy select} \rightarrow \text{act} \rightarrow \text{verify} \rightarrow \text{compile/update}

所以:

RAG 可以是 MCSA 的一個記憶接口,但不是整個 MCSA。\boxed{ \text{RAG 可以是 MCSA 的一個記憶接口,但不是整個 MCSA。} }

37.它也不是單純模型參數更新

另一種「把經驗編進模型」的方法是:

θt+1=θt+Δθ\theta_{t+1} = \theta_t+\Delta\theta

也就是參數學習。

MCSA 的編譯可以主要發生在外部可解釋結構:

B={B1,,Bn}\mathcal B = \{B_1,\ldots,B_n\}

這使:

  • 新增;
  • 刪除;
  • 降權;
  • 版本化;
  • 失效;
  • 回滾;

都更容易。

所以記憶編譯可以是:

非參數式或混合式的策略累積。\boxed{ \text{非參數式或混合式的策略累積。} }

38.記憶層級與速度層級

可將記憶按照速度分層:

M0M1M2M3M_0 \rightarrow M_1 \rightarrow M_2 \rightarrow M_3

例如:

  • M0M_0 :當前工作記憶;
  • M1M_1 :高頻快速策略;
  • M2M_2 :一般長期記憶;
  • M3M_3 :冷歷史資料。

使用頻率高的:

BiB_i

可以提升到快速層。

很少使用的下降到慢層。

這與計算機的 cache/virtual memory 思想有相似性。

真正的目標是:

把最可能被用到的已編譯結構放在最低延遲的位置。\boxed{ \text{把最可能被用到的已編譯結構放在最低延遲的位置。} }

39.編譯也必須考慮成本

不是每一條歷史都值得編譯。

定義:

Vcompile(τ)=Freuse(τ)Ksaved(τ)Kcompile(τ)Kmaintain(τ)V_{\mathrm{compile}}(\tau) = F_{\mathrm{reuse}}(\tau) \cdot K_{\mathrm{saved}}(\tau) - K_{\mathrm{compile}}(\tau) - K_{\mathrm{maintain}}(\tau)

若:

Vcompile(τ)>0V_{\mathrm{compile}}(\tau)>0

才值得建立快速通道。

因此非常罕見、不可泛化的事件可能只保存原始案例。

而高頻、高成本、高穩定性的模式則優先編譯。


40.這會產生一個自我調節的計算經濟

系統每天面對大量問題。

其中:

Xknown\mathcal X_{\mathrm{known}}

走快速通道;

Xuncertain\mathcal X_{\mathrm{uncertain}}

走局部適應;

Xunknown\mathcal X_{\mathrm{unknown}}

走高成本探索。

因此總計算資源:

Ktotal=Kfast+Kadapt+KexploreK_{\mathrm{total}} = K_{\mathrm{fast}} + K_{\mathrm{adapt}} + K_{\mathrm{explore}}

若編譯成熟:

Kfast/NfastK_{\mathrm{fast}}/N_{\mathrm{fast}} \downarrow

釋放的資源可以提高:

KexploreK_{\mathrm{explore}}

這形成:

已知越便宜未知越有資源可探索\text{已知越便宜} \Rightarrow \text{未知越有資源可探索}

41.MCSA 的成長曲線

設:

CtC_t

為已成熟編譯狀態覆蓋量。

若每次探索都能產生新的可重用結構:

dCtdt>0\frac{dC_t}{dt}>0

而舊狀態平均成本:

Kold(t)K_{\mathrm{old}}(t)

下降:

dKolddt<0\frac{dK_{\mathrm{old}}}{dt}<0

那麼智能體可能逐漸把更多算力從:

重複解題\text{重複解題}

轉向:

未知探索\text{未知探索}

因此:

長期智能增長可以來自「已知成本下降」與「未知資源上升」的雙重效應。\boxed{ \text{長期智能增長可以來自「已知成本下降」與「未知資源上升」的雙重效應。} }

42.這種智能體在外部會像什麼?

它可能表現出:

  • 對常見狀態反應極快;
  • 很快知道問題屬於哪一類;
  • 很少重新走無效舊路;
  • 能指出相似案例與差異;
  • 對真正異常狀態反而停下來重新分析;
  • 能把新經驗快速轉化成未來可重用策略;
  • 隨時間增長,越來越多日常問題不需完整推理。

外部看似:

「它怎麼一看到就知道?」\text{「它怎麼一看到就知道?」}

內部其實可能是:

狀態分類+快速索引+策略編譯\text{狀態分類} + \text{快速索引} + \text{策略編譯}

43.它真正的智能單位不再只是「一次回答」

普通互動常以:

PromptResponse\text{Prompt} \rightarrow \text{Response}

作為單位。

MCSA 的真正單位則是:

StatePolicyTransitionMemory Update\boxed{ \text{State} \rightarrow \text{Policy} \rightarrow \text{Transition} \rightarrow \text{Memory Update} }

所以它不是只在回答問題。

它在持續更新:

自己對世界狀態空間的可操作映射。\text{自己對世界狀態空間的可操作映射。}

44.記憶編譯型智能的最小定義

現在可以正式定義。

記憶編譯型狀態智能體,是一種能將歷史搜尋、推理、行動與驗證結果持續抽象為狀態類別、索引結構、策略原型與驗證規則,並在遭遇新狀態時優先以高置信分類與快速策略調用完成響應;當既有分類不足、結果偏離預測或狀態具有顯著新穎性時,則重新啟動大規模探索並更新其記憶編譯結構的累積型智能系統。

形式上:

At=(Φ,C,I,Π,V,U,Mt,CM)\boxed{ \mathcal A_t = ( \Phi, C, I, \Pi, V, U, \mathcal M_t, \mathfrak C_M ) }

45.最核心的一句話

本文真正想提出的,不是:

記憶越大,AI 越聰明\text{記憶越大,AI 越聰明}

而是:

如果歷史計算能被可靠地壓縮成可分類、可索引、可驗證、可撤銷的策略結構,那麼智能體就能把越來越多世界狀態從「搜尋問題」轉化為「索引問題」。\boxed{ \text{如果歷史計算能被可靠地壓縮成可分類、可索引、可驗證、可撤銷的策略結構,那麼智能體就能把越來越多世界狀態從「搜尋問題」轉化為「索引問題」。} }

再進一步:

搜尋問題索引問題快速狀態響應\text{搜尋問題} \rightarrow \text{索引問題} \rightarrow \text{快速狀態響應}

這就是:

記憶編譯\boxed{ \text{記憶編譯} }

46.下一步

到這裡還有一個真正困難的問題沒有處理:

當記憶量持續增加,分類與索引如何不被自身規模拖垮?

也就是:

M|\mathcal M|\uparrow

時,如何讓:

TretrieveT_{\mathrm{retrieve}}

仍維持可接受,並使智能體看到一個狀態後幾乎立即知道:

它屬於哪裡?\text{它屬於哪裡?} 應該取回什麼?\text{應該取回什麼?} 哪些差異真正重要?\text{哪些差異真正重要?}

這正是下一篇:

07.《極致分類、快速索引與計算直覺》

所要處理的主題。


參考資料

  1. Aha, D. W. / AAAI case-based reasoning literature, Case-Based Reasoning Archives.
    https://aaai.org/proceeding/case-based-reasoning/

  2. Watson, I. & colleagues, Knowledge Management and Case-Based Reasoning: A Perfect Match?, FLAIRS 2001. 文中整理 Retrieve、Reuse、Revise、Review、Retain、Refine 的循環。
    https://cdn.aaai.org/FLAIRS/2001/FLAIRS01-024.pdf

  3. Leake, D. B. (ed.), Case-Based Reasoning: Experiences, Lessons, and Future Directions, AAAI Press / MIT Press.
    https://dl.aaai.org/Press/Books/leake.php

  4. Hu, Y. et al. (2025). Memory in the Age of AI Agents. arXiv:2512.13564.
    https://arxiv.org/abs/2512.13564

  5. Xu, W. et al. (2025). A-MEM: Agentic Memory for LLM Agents. arXiv:2502.12110.
    https://arxiv.org/abs/2502.12110

  6. Yu, Y. et al. (2026). Agentic Memory: Learning Unified Long-Term and Short-Term Memory Management for Large Language Model Agents. ACL 2026.
    https://aclanthology.org/2026.acl-long.981/

  7. Packer, C. et al. (2023). MemGPT: Towards LLMs as Operating Systems.
    https://research.memgpt.ai/

  8. Park, J. S. et al. (2023). Generative Agents: Interactive Simulacra of Human Behavior. arXiv:2304.03442.
    https://doi.org/10.48550/arXiv.2304.03442

  9. Rodriguez-Sanchez, R. & Konidaris, G. (2024). Learning Abstract World Model for Value-preserving Planning with Options. arXiv:2406.15850.
    https://arxiv.org/abs/2406.15850

  10. Zhang, X. et al. (2026). Self-Evolving World Models for LLM Agent Planning. arXiv:2606.30639.
    https://arxiv.org/abs/2606.30639


系列內部依賴

前置: 01–05 全部正文。
後續: 07《極致分類、快速索引與計算直覺》、08《已知則編譯,未知則展開》、09《當所有計算機與記憶空間連成一體》。

一句話摘要

記憶編譯型狀態智能體的本質,是把過去昂貴的搜尋逐漸轉化為未來可直接辨認、索引、驗證與調用的狀態響應結構。\boxed{ \text{記憶編譯型狀態智能體的本質,是把過去昂貴的搜尋逐漸轉化為未來可直接辨認、索引、驗證與調用的狀態響應結構。} }