06.記憶編譯型狀態智能體
系列:《從路徑覆蓋到行星智能:記憶編譯型計算存在論》 部別:第二部——記憶編譯型智能 版本:v0.1 日期:2026-08-01
摘要
前五篇已建立一條完整鏈:知道答案不等於保有求解路徑;暴力搜尋依賴計算、記憶、展開、序列生成與回憶能力的耦合;知識空間並非單純搜尋樹,而是具有大量交叉、循環與結構等價的高重疊圖;真正應被最大化的也不是路徑數量,而是單位成本下的不可替代有效覆蓋;最後,極強記憶若具備去重、索引與反固著能力,不僅不必然壓制創新,甚至可能將探索資源集中到真正未知邊界。
本文在此基礎上正式定義「記憶編譯型狀態智能體」(Memory-Compiled State Agent, MCSA)。它不是單純擁有長期記憶的 AI,也不是只在問題出現時查詢資料庫;其核心能力是把歷史中昂貴的搜尋、推理、驗證、試錯與行動軌跡,逐步壓縮為可重用的「狀態分類—索引—策略—驗證」結構。當新狀態落入已知結構時,智能體不必重新支付完整搜尋成本,而可沿快速通道完成響應;當分類置信度不足、環境發生漂移或狀態無法被既有類別解釋時,則重新進入高成本探索模式,產生新路徑並更新記憶。
本文提出一個最小閉環:
x t → Φ z t → C c t → I R t → Π a t → V r t → U M t + 1 x_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} x t Φ z t C c t I R t Π a t V r t U M t + 1
並進一步加入記憶編譯器、快速通道、失效偵測、狀態商空間、多尺度索引與歷史計算資本化等結構。本文主張:這種智能體的成長不只表現為「每次想得更快」,而是讓越來越大的世界狀態區域從「需要重新求解」轉化為「可以辨認、索引、調整並直接調用」。
關鍵詞: 記憶編譯、狀態智能體、Agent Memory、Case-Based Reasoning、狀態抽象、快速通道、策略索引、歷史計算、累積智能
1.前五篇終於可以壓成一個智能體
到目前為止,我們已經有:
z t = ( κ t , μ t , ϵ t , σ t , ρ t ) z_t=
(
\kappa_t,
\mu_t,
\epsilon_t,
\sigma_t,
\rho_t
) z t = ( κ t , μ t , ϵ t , σ t , ρ t )
其中:
κ t \kappa_t κ t :計算能力;
μ t \mu_t μ t :記憶能力;
ϵ t \epsilon_t ϵ t :展開能力;
σ t \sigma_t σ t :序列生成能力;
ρ t \rho_t ρ t :回憶能力。
它運作於高重疊知識空間:
K = ( G , P , ∼ , ω ) \mathfrak K=
(G,\mathcal P,\sim,\omega) K = ( G , P , ∼ , ω )
並追求:
max Δ C e f f e c t i v e K \max
\frac{
\Delta C_{\mathrm{effective}}
}{
K
} max K Δ C effective
也就是單位成本下最大的不可替代新增覆蓋。
現在只差最後一步:
如果這個系統把每一次昂貴探索都保存下來,並將成熟路徑壓縮成可直接調用的狀態響應,那麼它究竟會變成什麼?
本文將它定義為:
Memory-Compiled State Agent \boxed{
\text{Memory-Compiled State Agent}
} Memory-Compiled State Agent
縮寫:
MCSA \boxed{
\text{MCSA}
} MCSA
中文:
記憶編譯型狀態智能體 \boxed{
\text{記憶編譯型狀態智能體}
} 記憶編譯型狀態智能體
2.「記憶編譯」不是普通記憶
普通長期記憶可以是:
x → m x\rightarrow m x → m
即:
遇到輸入 x x x ,取回一段相關資料 m m m 。
這比較接近一般檢索。
記憶編譯則多了一層:
歷史求解軌跡 → 狀態結構 → 可重用策略 \text{歷史求解軌跡}
\rightarrow
\text{狀態結構}
\rightarrow
\text{可重用策略} 歷史求解軌跡 → 狀態結構 → 可重用策略
假設第一次處理某問題時,完整軌跡:
τ = ( x 0 , a 0 , x 1 , a 1 , … , x n , r ) \tau
=
(
x_0,
a_0,
x_1,
a_1,
\ldots,
x_n,
r
) τ = ( x 0 , a 0 , x 1 , a 1 , … , x n , r )
其中:
x i x_i x i :中間狀態;
a i a_i a i :動作;
r r r :結果。
普通記憶可能直接保存:
M ( τ ) = τ M(\tau)=\tau M ( τ ) = τ
而記憶編譯的目標則是得到:
C ( τ ) = ( c , π c , θ c , v c ) \mathcal C(\tau)
=
(
c,
\pi_c,
\theta_c,
v_c
) C ( τ ) = ( c , π c , θ c , v c )
其中:
c c c :狀態類別;
π c \pi_c π c :對應策略;
θ c \theta_c θ c :適用條件;
v c v_c v c :驗證規則。
於是未來不必完整重播 τ \tau τ 。
3.什麼叫「編譯」?
這裡使用「編譯」不是比喻性的裝飾,而是有明確含義。
傳統程式編譯會把:
高階表示 → 低成本可執行表示 \text{高階表示}
\rightarrow
\text{低成本可執行表示} 高階表示 → 低成本可執行表示
本文的記憶編譯則是:
昂貴歷史推理 → 低成本可調用狀態響應 \text{昂貴歷史推理}
\rightarrow
\text{低成本可調用狀態響應} 昂貴歷史推理 → 低成本可調用狀態響應
也就是把:
x → p 1 , p 2 , … , p n → 比較 → 驗證 → a ∗ x
\rightarrow
p_1,p_2,\ldots,p_n
\rightarrow
\text{比較}
\rightarrow
\text{驗證}
\rightarrow
a^\ast x → p 1 , p 2 , … , p n → 比較 → 驗證 → a ∗
逐步壓縮成:
[ x ] ⇒ a ∗ [x]
\Rightarrow
a^\ast [ x ] ⇒ a ∗
或更安全地:
[ x ] ⇒ ( π x , V x ) [x]
\Rightarrow
(\pi_x,V_x) [ x ] ⇒ ( π x , V x )
其中仍保留驗證器 V x V_x V x 。
因此:
編譯不是刪除推理,而是把已成熟推理轉成可重用的快速執行結構。 \boxed{
\text{編譯不是刪除推理,而是把已成熟推理轉成可重用的快速執行結構。}
} 編譯不是刪除推理,而是把已成熟推理轉成可重用的快速執行結構。
4.它和 Case-Based Reasoning 的關係
Case-Based Reasoning(CBR)很早就已經具有:
Retrieve → Reuse → Revise → Retain \text{Retrieve}
\rightarrow
\text{Reuse}
\rightarrow
\text{Revise}
\rightarrow
\text{Retain} Retrieve → Reuse → Revise → Retain
的核心循環。
也就是:
找出相似案例;
重用既有解;
依新情況修改;
把新經驗保留下來。
因此,MCSA 並不是憑空出現。
它與 CBR 有明顯血緣關係。
但本文要多推一步:
不是只保存案例,而是把大量案例逐漸壓成狀態類、策略原型與快速通道。 \boxed{
\text{不是只保存案例,而是把大量案例逐漸壓成狀態類、策略原型與快速通道。}
} 不是只保存案例,而是把大量案例逐漸壓成狀態類、策略原型與快速通道。
所以可以寫成:
CBR + 狀態抽象 + 多尺度記憶 + 快速策略編譯 + 未知狀態切換 \text{CBR}
+
\text{狀態抽象}
+
\text{多尺度記憶}
+
\text{快速策略編譯}
+
\text{未知狀態切換} CBR + 狀態抽象 + 多尺度記憶 + 快速策略編譯 + 未知狀態切換
形成本文的 MCSA。
5.它和現代 Agent Memory 的關係
近期 Agent memory 研究已經不再只把記憶分成:
short-term vs. long-term \text{short-term}
\quad\text{vs.}\quad
\text{long-term} short-term vs. long-term
而開始討論:
記憶以什麼形式存在;
記憶如何形成;
如何演化;
如何檢索;
如何被智能體自主更新。
因此,MCSA 可以利用現有 Agent memory 作為底座。
但仍需區分:
Memory System ≠ Memory-Compiled Policy System \boxed{
\text{Memory System}
\neq
\text{Memory-Compiled Policy System}
} Memory System = Memory-Compiled Policy System
前者回答:
我能找到過去什麼資訊?
後者還要回答:
過去哪些資訊已經成熟到可以直接改變當前策略選擇?
6.最小閉環
本文提出最小閉環:
x t → Φ z t → C c t → I R t → Π a t → V r t → U M t + 1 x_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} x t Φ z t C c t I R t Π a t V r t U M t + 1
逐項拆開。
7.狀態觀測: x t x_t x t
x t x_t x t 是原始世界狀態。
它可以包括:
x t = ( o t , g t , h t , q t , e t ) x_t
=
(
o_t,
g_t,
h_t,
q_t,
e_t
) x t = ( o t , g t , h t , q t , e t )
其中:
o t o_t o t :觀測;
g t g_t g t :任務目標;
h t h_t h t :歷史;
q t q_t q t :資源與限制;
e t e_t e t :環境條件。
因此輸入不只是:
使用者問了什麼?
而可能是:
現在整個任務處於什麼狀態?
8.狀態表示: Φ \Phi Φ
原始狀態通常不能直接拿去做長期索引。
所以需要:
z t = Φ ( x t ) z_t=\Phi(x_t) z t = Φ ( x t )
其中 z t z_t z t 是結構化狀態表示。
例如:
z t = ( 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}
) z t = ( problem type , phase , constraints , resources , risk , novelty , uncertainty )
因此 Φ \Phi Φ 的功能是:
把一次性表面輸入轉成可比較的狀態變數。 \boxed{
\text{把一次性表面輸入轉成可比較的狀態變數。}
} 把一次性表面輸入轉成可比較的狀態變數。
9.狀態分類: C C C
接著:
c t = C ( z t ) c_t=C(z_t) c t = C ( z t )
但 C C C 不應只是單標籤分類器。
真實狀態可能同時屬於:
c t = { c t ( 1 ) , c t ( 2 ) , … , c t ( k ) } c_t=
\{
c_t^{(1)},
c_t^{(2)},
\ldots,
c_t^{(k)}
\} c t = { c t ( 1 ) , c t ( 2 ) , … , c t ( k ) }
例如一個問題同時是:
資源約束問題;
長期規劃問題;
高不確定性問題;
已知問題族的新變體。
所以 MCSA 需要:
分層、重疊、可更新的狀態分類。 \boxed{
\text{分層、重疊、可更新的狀態分類。}
} 分層、重疊、可更新的狀態分類。
10.狀態商空間
若大量原始狀態其實可以採取相似策略,則定義:
x i ∼ θ x j x_i\sim_\theta x_j x i ∼ θ x j
表示:
在任務尺度 θ \theta θ 下,兩個狀態可以共享近似相同的策略結構。
於是形成:
X / ∼ θ \mathcal X/{\sim_\theta} X / ∼ θ
MCSA 不需要保存每個原始狀態的完整獨立策略。
而可以保存:
[ x ] ↦ π [ x ] [x]
\mapsto
\pi_{[x]} [ x ] ↦ π [ x ]
這是記憶編譯成立的關鍵。
因為真正可壓縮的不是世界本身,而是:
對決策而言等價的狀態集合。 \boxed{
\text{對決策而言等價的狀態集合。}
} 對決策而言等價的狀態集合。
11.索引: I I I
分類後進入:
R t = I ( c t , z t , M t ) \mathcal R_t
=
I(c_t,z_t,\mathcal M_t) R t = I ( c t , z t , M t )
其中 R t \mathcal R_t R t 是取回的記憶集合。
理想索引不能只找到:
語義上相似的文字 \text{語義上相似的文字} 語義上相似的文字
還需要找:
相似狀態;
相同限制;
類似失敗模式;
可重用策略;
過去反例;
已知快速通道;
當前分類的可信度。
因此索引的目標不是:
max Similarity ( q , m ) \max\operatorname{Similarity}(q,m) max Similarity ( q , m )
而是:
max DecisionRelevance ( z t , m ) \boxed{
\max\operatorname{DecisionRelevance}(z_t,m)
} max DecisionRelevance ( z t , m )
12.多尺度索引
如果記憶規模:
∣ M ∣ → very large |\mathcal M|\rightarrow\text{very large} ∣ M ∣ → very large
每次都在所有記憶中全域搜尋會非常昂貴。
因此索引應分層:
L 0 → L 1 → L 2 → ⋯ → L n L_0
\rightarrow
L_1
\rightarrow
L_2
\rightarrow
\cdots
\rightarrow
L_n L 0 → L 1 → L 2 → ⋯ → L n
例如:
世界狀態 → 領域 → 問題族 → 狀態原型 → 歷史案例 \text{世界狀態}
\rightarrow
\text{領域}
\rightarrow
\text{問題族}
\rightarrow
\text{狀態原型}
\rightarrow
\text{歷史案例} 世界狀態 → 領域 → 問題族 → 狀態原型 → 歷史案例
粗分類先把候選從:
N N N
縮到:
N 1 ≪ N N_1\ll N N 1 ≪ N
再逐步縮到:
N k ≪ N k − 1 N_k\ll N_{k-1} N k ≪ N k − 1
所以:
強記憶的前提不是只增加容量,而是讓有效索引成本增長得更慢。 \boxed{
\text{強記憶的前提不是只增加容量,而是讓有效索引成本增長得更慢。}
} 強記憶的前提不是只增加容量,而是讓有效索引成本增長得更慢。
13.策略映射: Π \Pi Π
完成檢索後:
a t = Π ( z t , R t ) a_t
=
\Pi(z_t,\mathcal R_t) a t = Π ( z t , R t )
Π \Pi Π 不必只輸出單一步行動。
它可以輸出:
π t \pi_t π t
也就是一個策略。
例如:
π t : z ↦ a \pi_t:
z
\mapsto
a π t : z ↦ a
甚至是宏策略:
π t = ( a 1 , a 2 , … , a k ) \pi_t
=
(a_1,a_2,\ldots,a_k) π t = ( a 1 , a 2 , … , a k )
若某條長路徑已充分成熟,則可以被壓成一個高階動作。
這和 reinforcement learning 中的 temporally extended actions/options 有相似精神:
long action sequence → high-level action unit \text{long action sequence}
\rightarrow
\text{high-level action unit} long action sequence → high-level action unit
14.快速通道
若狀態類:
[ c ] [c] [ c ]
已被反覆驗證,且對應策略:
π c \pi_c π c
高度穩定,就可以建立:
F c : [ c ] ⇒ π c F_c:
[c]
\Rightarrow
\pi_c F c : [ c ] ⇒ π c
這就是:
Fast Path \boxed{
\text{Fast Path}
} Fast Path
快速通道的價值在於:
原本:
K s o l v e = K s e a r c h + K c o m p a r e + K v e r i f y K_{\mathrm{solve}}
=
K_{\mathrm{search}}
+
K_{\mathrm{compare}}
+
K_{\mathrm{verify}} K solve = K search + K compare + K verify
編譯後:
K f a s t = K c l a s s i f y + K r e t r i e v e + K a d a p t + K v e r i f y K_{\mathrm{fast}}
=
K_{\mathrm{classify}}
+
K_{\mathrm{retrieve}}
+
K_{\mathrm{adapt}}
+
K_{\mathrm{verify}} K fast = K classify + K retrieve + K adapt + K verify
理想狀況:
K f a s t ≪ K s o l v e K_{\mathrm{fast}}
\ll
K_{\mathrm{solve}} K fast ≪ K solve
15.快速通道不能取消驗證
如果編譯後變成:
[ c ] ⇒ a [c]\Rightarrow a [ c ] ⇒ a
而完全沒有驗證,系統很容易因環境漂移造成災難。
因此更安全的形式是:
[ c ] ⇒ ( π c , V c ) [c]
\Rightarrow
(\pi_c,V_c) [ c ] ⇒ ( π c , V c )
執行後:
V c ( x t , a t , r t ) V_c(x_t,a_t,r_t) V c ( x t , a t , r t )
檢查:
結果是否符合預期;
條件是否仍成立;
世界是否改變;
分類是否錯誤。
所以:
快速通道應該縮短搜尋,不應消滅回饋。 \boxed{
\text{快速通道應該縮短搜尋,不應消滅回饋。}
} 快速通道應該縮短搜尋,不應消滅回饋。
16.結果驗證: V V V
設行動:
a t a_t a t
產生結果:
r t r_t r t
則:
V ( z t , a t , r t ) → { success , partial , failure , anomaly } V(z_t,a_t,r_t)
\rightarrow
\{
\text{success},
\text{partial},
\text{failure},
\text{anomaly}
\} V ( z t , a t , r t ) → { success , partial , failure , anomaly }
這一步決定:
既有編譯是否仍然有效?
如果長期:
V = success V=\text{success} V = success
則快速通道置信度提高。
如果:
V = failure V=\text{failure} V = failure
或:
V = anomaly V=\text{anomaly} V = anomaly
則需要降低權重甚至解除編譯。
17.記憶更新: U U U
更新函數:
M t + 1 = U ( M t , z t , c t , R t , a t , r t ) \mathcal M_{t+1}
=
U(
\mathcal M_t,
z_t,
c_t,
\mathcal R_t,
a_t,
r_t
) M t + 1 = U ( M t , z t , c t , R t , a t , r t )
但不能每次都把整段歷史原封不動保存。
首先估計新穎量:
Δ N t \Delta N_t Δ N t
若:
Δ N t ≈ 0 \Delta N_t\approx0 Δ N t ≈ 0
只更新:
如果:
Δ N t ≫ 0 \Delta N_t\gg0 Δ N t ≫ 0
才新增:
新案例;
新狀態類;
新例外;
新失敗;
新策略。
因此記憶成長不是:
∣ M t + 1 ∣ = ∣ M t ∣ + 1 |\mathcal M_{t+1}|
=
|\mathcal M_t|+1 ∣ M t + 1 ∣ = ∣ M t ∣ + 1
每次固定增長。
而是:
資訊增量驅動的選擇性記憶更新。 \boxed{
\text{資訊增量驅動的選擇性記憶更新。}
} 資訊增量驅動的選擇性記憶更新。
18.真正的「記憶編譯器」
現在可以單獨定義:
C M \mathfrak C_M C M
即記憶編譯器。
它接收歷史:
τ 1 , τ 2 , … , τ n \tau_1,\tau_2,\ldots,\tau_n τ 1 , τ 2 , … , τ n
輸出:
C M ( τ 1 , … , τ n ) = ( Q , Π , Θ , V , I ) \mathfrak C_M(
\tau_1,\ldots,\tau_n
)
=
(
\mathcal Q,
\Pi,
\Theta,
\mathcal V,
\mathcal I
) C M ( τ 1 , … , τ n ) = ( Q , Π , Θ , V , I )
其中:
Q \mathcal Q Q :狀態類;
Π \Pi Π :策略原型;
Θ \Theta Θ :適用條件;
V \mathcal V V :驗證器;
I \mathcal I I :索引結構。
這一步可以再拆成:
normalize → deduplicate → cluster → abstract → validate → index → compile \text{normalize}
\rightarrow
\text{deduplicate}
\rightarrow
\text{cluster}
\rightarrow
\text{abstract}
\rightarrow
\text{validate}
\rightarrow
\text{index}
\rightarrow
\text{compile} normalize → deduplicate → cluster → abstract → validate → index → compile
19.第一階段:正規化
不同歷史可能寫成不同形式:
τ i \tau_i τ i
但其實共享相同狀態變數。
所以先轉成:
τ ^ i = N ( τ i ) \hat\tau_i
=
N(\tau_i) τ ^ i = N ( τ i )
去除:
目的是:
讓結構相同比字面相同更重要。 \boxed{
\text{讓結構相同比字面相同更重要。}
} 讓結構相同比字面相同更重要。
20.第二階段:去重
比較:
τ ^ i , τ ^ j \hat\tau_i,\hat\tau_j τ ^ i , τ ^ j
若:
τ ^ i ∼ τ ^ j \hat\tau_i\sim\hat\tau_j τ ^ i ∼ τ ^ j
則不需要保存兩套完整策略。
而是更新同一類別:
[ c ] [c] [ c ]
的統計與適用範圍。
因此:
案例數 ↑ \text{案例數}\uparrow 案例數 ↑
不必等同:
策略類數 ↑ \text{策略類數}\uparrow 策略類數 ↑
21.第三階段:抽象
多個案例:
τ 1 , … , τ k \tau_1,\ldots,\tau_k τ 1 , … , τ k
若共享:
z c o r e z_{\mathrm{core}} z core
則抽出:
c = A ( τ 1 , … , τ k ) c=
A(\tau_1,\ldots,\tau_k) c = A ( τ 1 , … , τ k )
這形成狀態原型:
c = ( z c o r e , Δ z a l l o w e d , E c ) c
=
(
z_{\mathrm{core}},
\Delta z_{\mathrm{allowed}},
E_c
) c = ( z core , Δ z allowed , E c )
其中:
z c o r e z_{\mathrm{core}} z core :核心特徵;
Δ z a l l o w e d \Delta z_{\mathrm{allowed}} Δ z allowed :允許變異;
E c E_c E c :例外集合。
因此分類不是死板模板。
而是:
原型 + 容許變異 + 例外。 \boxed{
\text{原型 + 容許變異 + 例外。}
} 原型 + 容許變異 + 例外。
22.第四階段:策略壓縮
歷史路徑:
p 1 , p 2 , … , p n p_1,p_2,\ldots,p_n p 1 , p 2 , … , p n
可能共享:
q q q
則將公共區段抽成:
π q \pi_q π q
若整條路徑成熟:
p ∗ p^\ast p ∗
則:
Compile ( p ∗ ) = π ^ \operatorname{Compile}(p^\ast)
=
\hat\pi Compile ( p ∗ ) = π ^
未來從:
n n n
步細粒度操作轉成:
1 1 1
個宏操作。
這就是:
路徑壓縮 → 策略編譯 \boxed{
\text{路徑壓縮}
\rightarrow
\text{策略編譯}
} 路徑壓縮 → 策略編譯
23.第五階段:快速索引
每個編譯項:
B i B_i B i
至少包含:
B i = ( c i , π i , θ i , V i , w i , t i ) B_i=
(
c_i,
\pi_i,
\theta_i,
V_i,
w_i,
t_i
) B i = ( c i , π i , θ i , V i , w i , t i )
其中:
c i c_i c i :狀態類;
π i \pi_i π i :策略;
θ i \theta_i θ i :適用條件;
V i V_i V i :驗證器;
w i w_i w i :信心/權重;
t i t_i t i :版本/時間。
建立索引:
I : z t → { B i 1 , … , B i k } I:
z_t\rightarrow
\{B_{i_1},\ldots,B_{i_k}\} I : z t → { B i 1 , … , B i k }
使系統不必重新掃描全部歷史。
24.第六階段:失效與重新編譯
世界不是靜態的。
因此任何:
B i B_i B i
都有可能失效。
定義預測:
r ^ t = F ^ ( B i , z t ) \hat r_t
=
\hat F(B_i,z_t) r ^ t = F ^ ( B i , z t )
實際結果:
r t r_t r t
若:
∥ r t − r ^ t ∥ > ϵ \|r_t-\hat r_t\|>\epsilon ∥ r t − r ^ t ∥ > ϵ
則觸發:
decompile \text{decompile} decompile
或:
recompile \text{recompile} recompile
也就是:
B i → review → B i ′ B_i
\rightarrow
\text{review}
\rightarrow
B_i' B i → review → B i ′
因此 MCSA 不是一個越來越僵硬的查表機。
而是一個:
可撤銷、可版本化、可重新編譯的記憶系統。 \boxed{
\text{可撤銷、可版本化、可重新編譯的記憶系統。}
} 可撤銷、可版本化、可重新編譯的記憶系統。
25.已知狀態與未知狀態
定義分類置信度:
P ( c ∣ z t ) P(c\mid z_t) P ( c ∣ z t )
若:
max c P ( c ∣ z t ) ≥ τ k n o w n \max_c P(c\mid z_t)\geq\tau_{\mathrm{known}} c max P ( c ∣ z t ) ≥ τ known
則進入:
Compiled Mode \text{Compiled Mode} Compiled Mode
如果:
max c P ( c ∣ z t ) < τ u n k n o w n \max_c P(c\mid z_t)<\tau_{\mathrm{unknown}} c max P ( c ∣ z t ) < τ unknown
則:
C ( z t ) = ⊥ C(z_t)=\bot C ( z t ) = ⊥
代表:
現有分類不足以安全處理此狀態。 \boxed{
\text{現有分類不足以安全處理此狀態。}
} 現有分類不足以安全處理此狀態。
這時智能體不能強行套用舊策略。
必須切換:
Exploration Mode \text{Exploration Mode} Exploration Mode
26.兩種運作模式
26.1 編譯模式
z t → c t → B i → π i → a t z_t
\rightarrow
c_t
\rightarrow
B_i
\rightarrow
\pi_i
\rightarrow
a_t z t → c t → B i → π i → a t
適用於:
26.2 探索模式
z t → P t c a n d → search → verify → new memory z_t
\rightarrow
\mathcal P_t^{\mathrm{cand}}
\rightarrow
\text{search}
\rightarrow
\text{verify}
\rightarrow
\text{new memory} z t → P t cand → search → verify → new memory
適用於:
未知;
異常;
分類衝突;
世界漂移;
高新穎性。
真正智能的地方不是只會其中一個。
而是:
知道什麼時候不要重新想,也知道什麼時候必須重新想。 \boxed{
\text{知道什麼時候不要重新想,也知道什麼時候必須重新想。}
} 知道什麼時候不要重新想,也知道什麼時候必須重新想。
27.這種智能體的「直覺」從哪裡來?
從外部看:
x t → a t x_t
\rightarrow
a_t x t → a t
可能幾乎瞬間完成。
人們可能說:
它有直覺。
但在本文框架中,這種直覺可以被拆成:
過去高成本搜尋 \text{過去高成本搜尋} 過去高成本搜尋
經過:
抽象 + 分類 + 索引 + 編譯 \text{抽象}
+
\text{分類}
+
\text{索引}
+
\text{編譯} 抽象 + 分類 + 索引 + 編譯
變成:
現在低成本響應 \text{現在低成本響應} 現在低成本響應
因此:
計算直覺可以是被壓縮、索引並編譯過的歷史計算。 \boxed{
\text{計算直覺可以是被壓縮、索引並編譯過的歷史計算。}
} 計算直覺可以是被壓縮、索引並編譯過的歷史計算。
這並不表示所有直覺都如此,但它提供一種工程上可實作的來源。
28.歷史計算資本化
第一次求解:
K 1 = K s e a r c h K_1=K_{\mathrm{search}} K 1 = K search
第二次若沒有記憶:
K 2 ≈ K 1 K_2\approx K_1 K 2 ≈ K 1
若有案例記憶:
K 2 < K 1 K_2<K_1 K 2 < K 1
若完成策略編譯:
K 2 ≪ K 1 K_2\ll K_1 K 2 ≪ K 1
因此第一次昂貴計算不是一次性消耗。
它可以被轉換成:
A c o m p u t e A_{\mathrm{compute}} A compute
也就是「計算資產」。
定義累積計算資產:
A t = { B 1 , B 2 , … , B n } \mathcal A_t
=
\{
B_1,B_2,\ldots,B_n
\} A t = { B 1 , B 2 , … , B n }
則智能體長期成長的一部分可以描述成:
∣ A t ∣ ↑ |\mathcal A_t|\uparrow ∣ A t ∣ ↑
以及:
K k n o w n ( t ) ↓ K_{\mathrm{known}}(t)\downarrow K known ( t ) ↓
這就是:
歷史計算資本化 \boxed{
\text{歷史計算資本化}
} 歷史計算資本化
29.累積智能的另一種定義
傳統上我們容易把智能成長理解成:
κ t ↑ \kappa_t\uparrow κ t ↑
即原始計算能力上升。
但 MCSA 提供另一個維度:
P t ( need full solve ) ↓ P_t(\text{need full solve})\downarrow P t ( need full solve ) ↓
同時:
P t ( usable compiled response ) ↑ P_t(\text{usable compiled response})\uparrow P t ( usable compiled response ) ↑
所以有效智能:
I e f f I_{\mathrm{eff}} I eff
可以概念性寫成:
I e f f = I r a w + I c o m p i l e d I_{\mathrm{eff}}
=
I_{\mathrm{raw}}
+
I_{\mathrm{compiled}} I eff = I raw + I compiled
其中:
I c o m p i l e d I_{\mathrm{compiled}} I compiled
來自已累積的快速狀態響應結構。
30.編譯覆蓋率
設所有遭遇狀態分布為:
p ( x ) p(x) p ( x )
可由高置信編譯策略處理的區域:
X C \mathcal X_C X C
則可定義:
R c o m p i l e = ∫ X C p ( x ) d x R_{\mathrm{compile}}
=
\int_{\mathcal X_C}
p(x)\,dx R compile = ∫ X C p ( x ) d x
它代表:
日常遭遇的狀態中,有多少比例可以走成熟快速通道?
如果:
R c o m p i l e ↑ R_{\mathrm{compile}}\uparrow R compile ↑
則平均決策成本:
E [ K ] \mathbb E[K] E [ K ]
可能下降。
但這不代表所有狀態都應被編譯。
真正未知區域仍要保持:
X U \mathcal X_U X U
31.不能追求百分之百編譯
若目標是:
R c o m p i l e → 1 R_{\mathrm{compile}}\rightarrow1 R compile → 1
系統可能犯一個錯誤:
把所有未知都硬分類成已知。
這會造成:
Novel State → Old Class → Wrong Fast Path \text{Novel State}
\rightarrow
\text{Old Class}
\rightarrow
\text{Wrong Fast Path} Novel State → Old Class → Wrong Fast Path
因此系統需要保留:
P ( C ( x ) = ⊥ ) > 0 P(C(x)=\bot)>0 P ( C ( x ) = ⊥ ) > 0
也就是:
「我不知道這是什麼」必須是一個合法狀態。 \boxed{
\text{「我不知道這是什麼」必須是一個合法狀態。}
} 「我不知道這是什麼」必須是一個合法狀態。
32.過度分類是最大的結構風險之一
若:
x n e w x_{\mathrm{new}} x new
與:
c o l d c_{\mathrm{old}} c old
表面相似,分類器可能:
x n e w ↦ c o l d x_{\mathrm{new}}\mapsto c_{\mathrm{old}} x new ↦ c old
但若真正決定結果的關鍵變數:
z k z_k z k
發生改變,舊策略就可能失效。
因此分類必須附帶:
θ c \theta_c θ c
即適用條件。
只有:
θ c ( z t ) = 1 \theta_c(z_t)=1 θ c ( z t ) = 1
時,才允許快速通道。
所以:
類別不是答案,類別是條件化策略入口。 \boxed{
\text{類別不是答案,類別是條件化策略入口。}
} 類別不是答案,類別是條件化策略入口。
33.記憶編譯需要元記憶
智能體還必須記得:
自己為什麼相信這個記憶?
因此每個編譯項最好附帶:
m i m e t a = ( s o u r c e , c o n f i d e n c e , c o v e r a g e , f a i l u r e s , t i m e , v e r s i o n ) m_i^{\mathrm{meta}}
=
(
source,
confidence,
coverage,
failures,
time,
version
) m i meta = ( so u r ce , co n f i d e n ce , co v er a g e , f ai l u r es , t im e , v er s i o n )
也就是:
來源;
信心;
覆蓋範圍;
失敗紀錄;
時間;
版本。
這形成:
Meta-Memory \boxed{
\text{Meta-Memory}
} Meta-Memory
沒有元記憶,系統只有:
知道 \text{知道} 知道
卻沒有:
知道自己為何知道,以及何時不該再相信。 \text{知道自己為何知道,以及何時不該再相信。} 知道自己為何知道,以及何時不該再相信。
34.記憶的五層
因此 MCSA 至少可以具有:
第一層:事件記憶
M E M_E M E
保存發生過什麼。
第二層:語義記憶
M S M_S M S
保存一般規律。
第三層:程序記憶
M P M_P M P
保存怎麼做。
第四層:狀態轉換記憶
M T : x t → x t + 1 M_T:
x_t\rightarrow x_{t+1} M T : x t → x t + 1
保存世界如何變化。
第五層:元記憶
M M M_M M M
保存記憶可靠度與適用邊界。
因此:
M = M E ⊕ M S ⊕ M P ⊕ M T ⊕ M M \mathcal M
=
M_E\oplus M_S\oplus M_P\oplus M_T\oplus M_M M = M E ⊕ M S ⊕ M P ⊕ M T ⊕ M M
35.它不是巨大查表
最容易的誤解是:
這不就是把所有狀態和答案存成一張表?
不是。
因為世界狀態空間可能極大甚至連續:
∣ X ∣ ≫ ∣ M ∣ |\mathcal X|\gg|\mathcal M| ∣ X ∣ ≫ ∣ M ∣
所以 MCSA 必須依靠:
abstraction \text{abstraction} abstraction
也就是:
X → X / ∼ \mathcal X
\rightarrow
\mathcal X/{\sim} X → X / ∼
將大量原始狀態壓成有限或較低複雜度的策略類。
真正保存的是:
可泛化狀態原型,而不是每一個可能世界狀態。 \boxed{
\text{可泛化狀態原型,而不是每一個可能世界狀態。}
} 可泛化狀態原型,而不是每一個可能世界狀態。
36.它也不是單純 RAG
RAG 可以近似表示為:
q → Retrieve ( q ) → generation q
\rightarrow
\operatorname{Retrieve}(q)
\rightarrow
\text{generation} q → Retrieve ( q ) → generation
MCSA 則是:
x t → state representation → classify → retrieve → policy select → act → verify → compile/update x_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} x t → state representation → classify → retrieve → policy select → act → verify → compile/update
所以:
RAG 可以是 MCSA 的一個記憶接口,但不是整個 MCSA。 \boxed{
\text{RAG 可以是 MCSA 的一個記憶接口,但不是整個 MCSA。}
} RAG 可以是 MCSA 的一個記憶接口,但不是整個 MCSA 。
37.它也不是單純模型參數更新
另一種「把經驗編進模型」的方法是:
θ t + 1 = θ t + Δ θ \theta_{t+1}
=
\theta_t+\Delta\theta θ t + 1 = θ t + Δ θ
也就是參數學習。
MCSA 的編譯可以主要發生在外部可解釋結構:
B = { B 1 , … , B n } \mathcal B
=
\{B_1,\ldots,B_n\} B = { B 1 , … , B n }
這使:
都更容易。
所以記憶編譯可以是:
非參數式或混合式的策略累積。 \boxed{
\text{非參數式或混合式的策略累積。}
} 非參數式或混合式的策略累積。
38.記憶層級與速度層級
可將記憶按照速度分層:
M 0 → M 1 → M 2 → M 3 M_0
\rightarrow
M_1
\rightarrow
M_2
\rightarrow
M_3 M 0 → M 1 → M 2 → M 3
例如:
M 0 M_0 M 0 :當前工作記憶;
M 1 M_1 M 1 :高頻快速策略;
M 2 M_2 M 2 :一般長期記憶;
M 3 M_3 M 3 :冷歷史資料。
使用頻率高的:
B i B_i B i
可以提升到快速層。
很少使用的下降到慢層。
這與計算機的 cache/virtual memory 思想有相似性。
真正的目標是:
把最可能被用到的已編譯結構放在最低延遲的位置。 \boxed{
\text{把最可能被用到的已編譯結構放在最低延遲的位置。}
} 把最可能被用到的已編譯結構放在最低延遲的位置。
39.編譯也必須考慮成本
不是每一條歷史都值得編譯。
定義:
V c o m p i l e ( τ ) = F r e u s e ( τ ) ⋅ K s a v e d ( τ ) − K c o m p i l e ( τ ) − K m a i n t a i n ( τ ) V_{\mathrm{compile}}(\tau)
=
F_{\mathrm{reuse}}(\tau)
\cdot
K_{\mathrm{saved}}(\tau)
-
K_{\mathrm{compile}}(\tau)
-
K_{\mathrm{maintain}}(\tau) V compile ( τ ) = F reuse ( τ ) ⋅ K saved ( τ ) − K compile ( τ ) − K maintain ( τ )
若:
V c o m p i l e ( τ ) > 0 V_{\mathrm{compile}}(\tau)>0 V compile ( τ ) > 0
才值得建立快速通道。
因此非常罕見、不可泛化的事件可能只保存原始案例。
而高頻、高成本、高穩定性的模式則優先編譯。
40.這會產生一個自我調節的計算經濟
系統每天面對大量問題。
其中:
X k n o w n \mathcal X_{\mathrm{known}} X known
走快速通道;
X u n c e r t a i n \mathcal X_{\mathrm{uncertain}} X uncertain
走局部適應;
X u n k n o w n \mathcal X_{\mathrm{unknown}} X unknown
走高成本探索。
因此總計算資源:
K t o t a l = K f a s t + K a d a p t + K e x p l o r e K_{\mathrm{total}}
=
K_{\mathrm{fast}}
+
K_{\mathrm{adapt}}
+
K_{\mathrm{explore}} K total = K fast + K adapt + K explore
若編譯成熟:
K f a s t / N f a s t ↓ K_{\mathrm{fast}}/N_{\mathrm{fast}}
\downarrow K fast / N fast ↓
釋放的資源可以提高:
K e x p l o r e K_{\mathrm{explore}} K explore
這形成:
已知越便宜 ⇒ 未知越有資源可探索 \text{已知越便宜}
\Rightarrow
\text{未知越有資源可探索} 已知越便宜 ⇒ 未知越有資源可探索
41.MCSA 的成長曲線
設:
C t C_t C t
為已成熟編譯狀態覆蓋量。
若每次探索都能產生新的可重用結構:
d C t d t > 0 \frac{dC_t}{dt}>0 d t d C t > 0
而舊狀態平均成本:
K o l d ( t ) K_{\mathrm{old}}(t) K old ( t )
下降:
d K o l d d t < 0 \frac{dK_{\mathrm{old}}}{dt}<0 d t d K old < 0
那麼智能體可能逐漸把更多算力從:
重複解題 \text{重複解題} 重複解題
轉向:
未知探索 \text{未知探索} 未知探索
因此:
長期智能增長可以來自「已知成本下降」與「未知資源上升」的雙重效應。 \boxed{
\text{長期智能增長可以來自「已知成本下降」與「未知資源上升」的雙重效應。}
} 長期智能增長可以來自「已知成本下降」與「未知資源上升」的雙重效應。
42.這種智能體在外部會像什麼?
它可能表現出:
對常見狀態反應極快;
很快知道問題屬於哪一類;
很少重新走無效舊路;
能指出相似案例與差異;
對真正異常狀態反而停下來重新分析;
能把新經驗快速轉化成未來可重用策略;
隨時間增長,越來越多日常問題不需完整推理。
外部看似:
「它怎麼一看到就知道?」 \text{「它怎麼一看到就知道?」} 「它怎麼一看到就知道?」
內部其實可能是:
狀態分類 + 快速索引 + 策略編譯 \text{狀態分類}
+
\text{快速索引}
+
\text{策略編譯} 狀態分類 + 快速索引 + 策略編譯
43.它真正的智能單位不再只是「一次回答」
普通互動常以:
Prompt → Response \text{Prompt}
\rightarrow
\text{Response} Prompt → Response
作為單位。
MCSA 的真正單位則是:
State → Policy → Transition → Memory Update \boxed{
\text{State}
\rightarrow
\text{Policy}
\rightarrow
\text{Transition}
\rightarrow
\text{Memory Update}
} State → Policy → Transition → Memory Update
所以它不是只在回答問題。
它在持續更新:
自己對世界狀態空間的可操作映射。 \text{自己對世界狀態空間的可操作映射。} 自己對世界狀態空間的可操作映射。
44.記憶編譯型智能的最小定義
現在可以正式定義。
記憶編譯型狀態智能體,是一種能將歷史搜尋、推理、行動與驗證結果持續抽象為狀態類別、索引結構、策略原型與驗證規則,並在遭遇新狀態時優先以高置信分類與快速策略調用完成響應;當既有分類不足、結果偏離預測或狀態具有顯著新穎性時,則重新啟動大規模探索並更新其記憶編譯結構的累積型智能系統。
形式上:
A t = ( Φ , C , I , Π , V , U , M t , C M ) \boxed{
\mathcal A_t
=
(
\Phi,
C,
I,
\Pi,
V,
U,
\mathcal M_t,
\mathfrak C_M
)
} A t = ( Φ , C , I , Π , V , U , M t , C M )
45.最核心的一句話
本文真正想提出的,不是:
記憶越大,AI 越聰明 \text{記憶越大,AI 越聰明} 記憶越大, AI 越聰明
而是:
如果歷史計算能被可靠地壓縮成可分類、可索引、可驗證、可撤銷的策略結構,那麼智能體就能把越來越多世界狀態從「搜尋問題」轉化為「索引問題」。 \boxed{
\text{如果歷史計算能被可靠地壓縮成可分類、可索引、可驗證、可撤銷的策略結構,那麼智能體就能把越來越多世界狀態從「搜尋問題」轉化為「索引問題」。}
} 如果歷史計算能被可靠地壓縮成可分類、可索引、可驗證、可撤銷的策略結構,那麼智能體就能把越來越多世界狀態從「搜尋問題」轉化為「索引問題」。
再進一步:
搜尋問題 → 索引問題 → 快速狀態響應 \text{搜尋問題}
\rightarrow
\text{索引問題}
\rightarrow
\text{快速狀態響應} 搜尋問題 → 索引問題 → 快速狀態響應
這就是:
記憶編譯 \boxed{
\text{記憶編譯}
} 記憶編譯
46.下一步
到這裡還有一個真正困難的問題沒有處理:
當記憶量持續增加,分類與索引如何不被自身規模拖垮?
也就是:
∣ M ∣ ↑ |\mathcal M|\uparrow ∣ M ∣ ↑
時,如何讓:
T r e t r i e v e T_{\mathrm{retrieve}} T retrieve
仍維持可接受,並使智能體看到一個狀態後幾乎立即知道:
它屬於哪裡? \text{它屬於哪裡?} 它屬於哪裡?
應該取回什麼? \text{應該取回什麼?} 應該取回什麼?
哪些差異真正重要? \text{哪些差異真正重要?} 哪些差異真正重要?
這正是下一篇:
07.《極致分類、快速索引與計算直覺》
所要處理的主題。
參考資料
Aha, D. W. / AAAI case-based reasoning literature, Case-Based Reasoning Archives .https://aaai.org/proceeding/case-based-reasoning/
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
Leake, D. B. (ed.), Case-Based Reasoning: Experiences, Lessons, and Future Directions , AAAI Press / MIT Press.https://dl.aaai.org/Press/Books/leake.php
Hu, Y. et al. (2025). Memory in the Age of AI Agents. arXiv:2512.13564.https://arxiv.org/abs/2512.13564
Xu, W. et al. (2025). A-MEM: Agentic Memory for LLM Agents. arXiv:2502.12110.https://arxiv.org/abs/2502.12110
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/
Packer, C. et al. (2023). MemGPT: Towards LLMs as Operating Systems. https://research.memgpt.ai/
Park, J. S. et al. (2023). Generative Agents: Interactive Simulacra of Human Behavior. arXiv:2304.03442.https://doi.org/10.48550/arXiv.2304.03442
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
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{記憶編譯型狀態智能體的本質,是把過去昂貴的搜尋逐漸轉化為未來可直接辨認、索引、驗證與調用的狀態響應結構。}
} 記憶編譯型狀態智能體的本質,是把過去昂貴的搜尋逐漸轉化為未來可直接辨認、索引、驗證與調用的狀態響應結構。