穩定性不是靜態值
——知識新鮮度、衰減率與更新張力的動態模型
Series: Adaptive Epistemic Systems Series
Paper: 2 / 11
Version: v0.1
Language: zh-TW
Status: Complete Draft / Canonical UTF-8 Source
摘要
在持續與外部世界互動的智能系統中,「這筆知識是否仍然有效」不能被簡化成一個時間戳問題。某些資訊經過多年仍然有效,某些資訊在數秒內即可能失效;某些知識平時極度穩定,卻會在少數關鍵事件出現後發生結構性改變;另一些資訊則表面頻繁波動,但對系統核心推理幾乎沒有影響。因此,知識更新系統若只使用固定 TTL、定期刷新或單一衰減函數,通常無法同時處理高穩定知識、快速變動狀態與低頻高衝擊事件。
本文延伸非對稱時空張力框架,提出一個由「結構穩定性」、「資訊新鮮度」、「衰減率」、「外部變化危險率」、「事件相關性」、「系統影響度」與「更新成本」共同決定的動態更新模型。本文區分真實世界狀態的變化、系統對世界的認知老化,以及資料來源本身的可靠性衰退,並提出多種非指數型衰減函數,以避免把所有知識誤視為具有相同記憶半衰期。
本文進一步提出風險加權更新張力、更新債務、重驗證半徑、事件觸發喚醒、反脆弱更新與錯誤穩定性等概念。其核心命題是:知識的「新鮮」不是由時間單獨決定,而是由世界變化速率、資訊來源、依賴結構、任務風險與系統影響共同決定。高穩定知識不應被高頻刷新;高變動知識不應依賴低頻批次更新;而高穩定、高影響的基礎節點則應採取「低頻維護、事件監測、變化時大範圍重算」的非對稱策略。
關鍵詞: 知識新鮮度、資訊衰減、更新張力、危險率、更新債務、事件觸發、風險加權、動態知識系統、非對稱時間尺度
1. 新鮮度不是時間戳
很多資訊系統以「最後更新時間」決定資料是否過期。最簡化的判斷是:
Freshi(t)=1[t−tilast<Δi]
其中 Δi 是固定 TTL。
這種方法對快取管理十分實用,但若把它提升成一般知識新鮮度模型,就會出現明顯問題。
兩筆同樣在一年前取得的資訊:
ka
與:
kb
可能具有完全不同的有效性。
若 ka 是一個在指定形式體系中已完成證明的定理,而 kb 是某組織當時的主管名單,那麼:
t−talast=t−tblast
並不能推出:
Fresha(t)=Freshb(t)
。
因此,本文主張:
freshness is not elapsed time
更精確地說,新鮮度應是:
Fi(t)=F(age,world volatility,source reliability,event exposure,dependency change,task risk)
的函數。
2. 三種不同的「老化」
為避免概念混淆,本文至少區分三種老化。
2.1 世界狀態老化
真實世界本身發生改變:
Xiworld(t1)=Xiworld(t2)
因此系統中保存的舊值失效。
2.2 認知狀態老化
即使世界沒有改變,系統仍可能因缺乏重新驗證,而逐漸降低對某資訊的信心:
Ci(t2)<Ci(t1)
。
2.3 資料來源老化
某個來源原本可靠,但其制度、介面、維護狀態或可信度改變:
Rsource(t2)=Rsource(t1)
。
因此一個節點的有效性不應只寫成:
Fi(t)=e−λi(t−tilast)
而應拆成:
Fi(t)=Fiworld(t)⋅Fiepistemic(t)⋅Fisource(t)
。
這三者可以具有完全不同的時間尺度。
3. 穩定性不是「永遠不變」
第一篇定義:
Si∈[0,1]
表示節點穩定性。
但若直接把 Si 當成固定常數,仍然會過度簡化世界。
更合理的形式是:
Si=Si(t,C)
其中 C 是知識域與上下文。
例如某個制度在平常時期可能:
Si≈0.95
但在戰爭、政權更替、制度改革或重大危機下:
Si→0.4
。
因此,穩定性本身也需要更新。
可定義:
Si(t+1)=(1−ηi)Si(t)+ηiSi(t)
其中:
Si(t)
是根據最近觀測推估的局部穩定性。
這使系統能夠學習:
某類知識原本被認為穩定,但近期已進入高變動區。
4. 從衰減率到危險率
固定指數衰減:
Fi(t)=e−λiΔt
具有計算簡單與無記憶性的優點,但它隱含:
λi=constant
。
真實世界通常不是如此。
更一般地,可用時間變動危險率:
hi(t)
表示節點在時間 t 發生有效改變的瞬時風險。
則生存函數為:
Fiworld(t)=exp(−∫t0thi(u)du)
。
如果:
hi(t)=λi
就退化為指數衰減。
但若世界具有週期、制度節點或事件集中特性,$$h_i(t)$$ 可以是:
hi(t)=hibase+hiseasonal(t)+hievent(t)
。
例如某些狀態在固定政策會議、財報季、選舉期或年度更新日前後具有更高變動概率。
這比固定 TTL 更接近真實世界。
5. 不同知識需要不同衰減函數
知識衰減不一定服從同一分布。
5.1 近乎不衰減
對指定形式體系中的已證命題:
Fi(t)≈1
除非公理、語義或形式環境改變。
5.2 指數型衰減
某些具有近似常數風險率的狀態可使用:
Fi(t)=e−λiΔt
。
5.3 Weibull 型衰減
若失效風險會隨時間增加或降低,可使用:
Fi(t)=exp(−(αiΔt)βi)
。
當:
βi>1
失效風險隨時間增加;
當:
βi<1
則早期較容易失效,之後反而趨穩。
5.4 階躍型失效
某些制度資料在特定事件之前幾乎完全有效,但事件一旦發生便突然失效:
Fi(t)={1,0,t<tct≥tc
。
5.5 事件驅動型
某些節點幾乎與經過多少時間無關,而取決於是否發生特定事件:
Fi(t)=F(E0:t)
。
因此:
knowledge decay is a family of processes, not one decay law
。
6. 更新張力的第二版
第一篇使用:
Ti(t)
表示更新張力。
本篇進一步將其拆成:
Ti(t)=Tiage+Tivol+Tishock+Tidep+Tirisk−Ticost
。
其中:
Tiage
表示資訊年齡;
Tivol
表示世界變動速率;
Tishock
表示新事件造成的異常張力;
Tidep
表示上游依賴變化;
Tirisk
表示錯誤使用此知識的任務風險;
Ticost
表示重新驗證所需成本。
一個具體形式可以寫成:
Ti(t)=αiAi(t)+βiVi(t)+γiJi(t)+δiDi(t)+ϵiRi(t)−ζiCiverify(t)
。
這裡有一個重要改變:
Ti
不是純粹描述「這筆資料多舊」,而是在回答:
現在把有限計算資源拿來重新驗證這個節點,值不值得?
因此,更新張力本質上是一個資源配置變數。
7. 任務依賴的新鮮度
同一筆資訊對不同任務可能有不同新鮮度要求。
定義任務 q 下的有效新鮮度:
Fi(t∣q)
。
例如一筆半年前的公司基本資料,對歷史研究可能足夠新:
Fi(t∣qhistory)≈1
但對「今天誰是 CEO」這類任務可能:
Fi(t∣qcurrent)≪1
。
因此不應有唯一:
Freshi(t)
而是:
Freshi=Freshi(t,q)
。
更新閾值也應依任務調整:
θi=θi(q)
。
在高風險任務下:
θi(qhigh−risk)<θi(qlow−risk)
使系統更容易觸發重新驗證。
8. 更新債務
若某節點的更新張力長時間高於閾值,但系統因資源不足而沒有執行更新,就會累積「更新債務」。
定義:
Diupdate(t)=∫t0tmax(0,Ti(u)−θi)du
。
若:
Diupdate↑
表示該節點已經長時間處於「應重新確認但未確認」的狀態。
因此調度器不只應看瞬時張力,也要看:
Priorityi=f(Ti,Diupdate,Ii,Ritask)
。
這能避免某些中等張力節點因總是輸給高張力節點,而永遠不被更新。
9. 更新不是越頻繁越好
如果每次有微小變化都更新,系統可能進入更新震盪。
設:
ϵi
為最小有效變化門檻。
只有當:
∣ΔXi∣>ϵi
或:
Dbelief(Bit+1,Bit)>ϵiB
時,才將變化視為值得寫回 canonical state。
因此需要區分:
observe
與:
commit
。
一個節點可以被高頻觀察,但只有低頻提交正式狀態:
fiobserve≫ficommit
。
這對高噪音資料尤其重要。
10. 雙閾值與遲滯
如果更新閾值只有一條:
Ti>θi
則張力在閾值附近上下波動時,系統可能反覆喚醒與休眠。
可採用雙閾值:
θion>θioff
。
當:
Ti>θion
節點進入活化;
當:
Ti<θioff
才重新休眠。
因此形成遲滯:
activation threshold=deactivation threshold
。
這可以降低更新震盪與不必要的狀態切換。
11. 事件衝擊與結構性斷點
並非所有世界變化都是連續的。
若系統只依賴:
dtdXi
可能無法充分處理突發結構性改變。
因此加入衝擊項:
Ji(t)
。
當觀測與現有模型差異:
D(Ot,Ot)>θishock
則:
Ji(t)↑
並直接提升:
Ti(t)
。
在極端情況下可以:
Ti(t)→∞
強制立即重驗證。
這使原本極度穩定的節點也不會因為高 Si 而永久免疫新證據。
因此:
high stability must not imply epistemic immunity
。
12. 基礎節點的重驗證半徑
對高穩定、高影響節點:
Si↑
Ii↑
平時更新頻率可以很低。
但若發生結構性改變,依賴其上的節點應被重新檢查。
定義重驗證半徑:
Rireval=g(Ii,∣ΔXi∣,Ci,Topology(G))
。
若:
∣ΔXi∣
很小,可能只需局部重算。
若:
∣ΔXi∣
很大,而且 i 位於高中心性的上游位置,則:
Rireval↑
。
因此,低頻更新不代表低重要性。
13. 依賴驅動的新鮮度
一個節點即使自己沒有直接收到新證據,也可能因上游依賴改變而失效。
若:
vj→vi
且:
ΔXj=0
則:
Fi(t)
應受到影響。
可定義:
Fidep(t)=j∈Pa(i)∏[Fj(t)]ωji
其中:
Pa(i)
為 i 的上游依賴集合。
則完整新鮮度可以寫成:
Fitotal(t)=Fiself(t)⋅Fidep(t)
。
這表示:
一個節點可以因自己的資訊老化,也可以因它所依賴的世界已經改變而變舊。
14. 新鮮度與可信度不能混為一談
一筆資訊可以很新,但不可靠:
Freshi≈1
Confidencei≪1
。
也可以很舊但仍然高度可信:
Freshj<1
Confidencej≈1
。
因此至少需要:
Ni=(xi,Fi,Ci,Si,Ti)
而不能只保存一個「confidence」。
新鮮度回答:
這筆資訊距離需要重新確認的程度有多遠?
可信度回答:
在目前證據下,我們有多相信這筆資訊?
兩者不同。
15. 新鮮度也不等於真實性
即使:
Fi(t)=1
也只能表示:
根據目前的更新政策,此資訊仍被視為足夠新。
不能推出:
xi=truth
。
因此:
Freshness=Confidence=Truth
。
這個三分法是大型知識系統非常重要的認識論衛生。
若三者被混在同一個分數裡,系統很容易將:
- 最近取得的錯誤資訊;
- 長期未更新但仍正確的資訊;
- 高可信但已過時的資訊;
錯誤地排列在同一維度上。
16. 風險加權更新
更新策略不應只由知識本身決定,也應受到「如果錯了會發生什麼」影響。
定義任務風險:
Li(q)
表示在任務 q 中使用錯誤節點 i 的預期損失。
則可將更新優先級寫成:
Piupdate=Ti⋅Ii⋅Li(q)
。
若:
Li(q)↑
即使 Ti 只有中等程度,也可能值得立即驗證。
反之,若某節點容易變,但對當前任務影響極低:
Li(q)≈0
則不必浪費資源高頻刷新。
因此:
freshness policy should be risk-aware
。
17. 有限算力下的更新排程
假設系統每一時間窗口只有總驗證預算:
Bt
。
對每個候選節點定義:
Uiverify=Civerify+εTi⋅Ii⋅Li⋅Diupdate
。
則可以按照:
Uiverify
排序並分配計算。
這裡的思想是:
update where uncertainty, impact, debt and risk justify the cost
。
因此,大型系統不需要追求「所有知識永遠最新」,而是追求:
bounded staleness under bounded resources
。
18. 穩定節點的事件監測模式
高穩定節點沒有必要高頻完整重算,但可以低成本監測是否出現能推翻其穩定假設的事件。
因此可分成:
monitor
與:
recompute
兩條路。
對穩定節點:
Cimonitor≪Cirecompute
。
平時只執行:
Monitor(vi)
若:
Ji(t)>θishock
才:
Recompute(vi)
。
因此:
low-frequency recomputation+continuous low-cost event watch
可以比單純固定週期更新更有效率。
19. 錯誤穩定性與「熟悉造成的幻覺」
一個危險情況是:系統因某知識長期未被推翻,而逐步將其穩定性提高:
Si(t)↑
最後使:
Ti(t)↓
。
若缺乏外部反證渠道,系統可能進入:
not challenged⇒assumed stable⇒checked less⇒even less likely to be challenged
的閉環。
這是一種錯誤穩定性:
Siperceived≫Siactual
。
因此,需要加入最低驗證機率:
P(revalidatei)≥ϵi
或者保留外部異常監測,使任何高穩定節點仍有非零機會被重新挑戰。
20. 探索與維護的張力
有限資源下,系統需要在兩種行為之間分配算力:
Maintenance
重新驗證已有知識;
以及:
Exploration
尋找新的世界狀態與新節點。
若所有算力都用來維護:
Bmaintenance→B
系統可能很穩,但停止學習。
若所有算力都用於探索:
Bexploration→B
則已有世界模型可能快速過時。
因此:
B=Bmaintenance+Bexploration
且兩者比例需要依世界波動與任務狀態動態調整。
在高變動事件期間:
Bmaintenance↑
在低變動、知識空白較大時:
Bexploration↑
。
21. 可驗證命題
命題一:固定 TTL 非普適性
不存在單一固定:
Δ∗
可同時最小化所有知識域的過度更新與過時風險。
命題二:任務條件化新鮮度
同一節點的最佳新鮮度閾值依任務而變:
Fi∗(q1)=Fi∗(q2)
。
命題三:事件驅動優勢
對具有低基線變動率但高衝擊事件的節點:
Cevent−driven<Cfixed−refresh
且可維持相近或更低的失效延遲。
命題四:更新債務有助於避免飢餓
加入:
Diupdate
後,長期未更新節點的最大等待時間應下降。
命題五:依賴感知優於孤立新鮮度
在存在明確依賴網路的系統中:
Errordependency−aware<Errorisolated−refresh
應至少在部分結構性變化場景成立。
22. 實驗設計草案
可建立四類節點:
V=Vformal∪Vslow∪Vfast∪Vshock
。
其中:
Vformal
幾乎不變;
Vslow
緩慢變動;
Vfast
高頻變動;
Vshock
平時穩定但偶爾產生結構性跳變。
比較三種更新策略:
Π1=global fixed refresh
Π2=per-domain TTL
Π3=dynamic tension scheduling
。
主要指標包括:
Ccompute
Staleness
DetectionLatency
PropagationError
UpdateDebt
與:
TaskLoss
。
若:
Π3
在相同資源下沒有降低過時率、偵測延遲或重算成本,則動態張力模型的工程價值必須受到質疑。
23. 與貝葉斯更新的關係
本篇使用概率、危險率與信念概念,但不將所有更新都稱為貝葉斯。
例如:
Fi(t)=exp(−∫hi(u)du)
本身只是生存/失效模型。
只有當系統有明確的:
P(H)
P(E∣H)
並依條件化規則得到:
P(H∣E)
時,才具有嚴格的貝葉斯更新語義。
因此:
probabilistic freshness model=Bayesian epistemology
。
這一區分將在系列後段被完整展開。
24. 從「多久更新一次」到「什麼情況值得更新」
固定週期思維詢問:
這筆資料每多久更新一次?
本篇改問:
什麼狀態變化,使重新驗證這筆知識的期望價值高於成本?
這可以寫成:
E[Value(verifyi)]>Civerify
。
因此,時間只是一個輸入變數,不是更新政策本身。
這是一個重要轉換:
calendar-driven update→state-driven update
。
25. 最小更新策略
對每個節點 vi:
vi=(xi,Fi,Ci,Si,Ti,Ii,Diupdate)
。
每輪系統:
- 接收外部事件 $$O_t$$;
- 更新事件相關性與衝擊項;
- 根據依賴變化調整局部新鮮度;
- 計算 $$T_i$$;
- 累積 $$D_i^{\mathrm{update}}$$;
- 依任務風險與驗證成本計算優先級;
- 在有限預算下選擇要驗證的節點;
- 觀察結果與舊狀態差異;
- 超過 commit 閾值才寫回 canonical state;
- 必要時向下游傳播重驗證張力。
可濃縮為:
Ot→Ti→Priorityi→Verifyi→Commiti→Propagatei
。
26. 結論
知識的新鮮度不是一個單純的:
t−tilast
問題。
更合理的世界狀態系統必須同時考慮:
stability
world volatility
hazard
source reliability
dependency change
task risk
verification cost
與:
update debt
。
因此:
Freshness=Age
Freshness=Confidence
Stability=Truth
以及:
UpdateFrequency=SystemicImportance
。
真正的更新問題不是:
每隔多久重新算一次?
而是:
When does the expected value of revalidation exceed its cost?
。
這使第一篇提出的「非對稱時空張力」從一個描述世界不同變化速度的抽象概念,進一步成為可實作的計算資源調度原理。
當不同節點能以不同有效時間流動、不同資訊能採用不同衰減模型、不同任務能要求不同新鮮度,而基礎節點又能在罕見結構性改變時觸發大範圍重驗證,世界狀態系統才真正開始擺脫「所有知識都在同一個時鐘裡老化」的假設。
下一篇將進一步處理另一個核心問題:當這些動態狀態需要被讀取、操作、計算與表達時,如何從動態圖建立一個可執行的符號層,並使自然語言成為世界狀態的輸入/輸出界面,而不是把文字本身誤當成 canonical state。
附錄 A:核心變數
| 符號 |
定義 |
| Fi |
節點資訊新鮮度 |
| Si |
節點穩定性 |
| Ci |
節點可信度 |
| Ti |
更新張力 |
| hi(t) |
世界狀態變化危險率 |
| Ii |
系統影響度 |
| Ai |
資訊年齡 |
| Ji |
事件衝擊量 |
| Diupdate |
更新債務 |
| Li(q) |
任務風險/錯誤損失 |
| Civerify |
重驗證成本 |
| Rireval |
重驗證傳播半徑 |
附錄 B:最小風險加權張力模型
一個可供實驗起始使用的簡化式為:
Ti(t)=αAi(t)+βhi(t)+γJi(t)+δDidep(t)
並定義:
Priorityi(t,q)=Civerify(t)+εTi(t)⋅Ii⋅Li(q)⋅(1+Diupdate(t))
。
系統在有限預算 Bt 下選擇優先級最高的節點進行重新驗證。
此公式不是宣稱唯一正確的更新法則,而是一個可以被實驗比較、校準與否證的最小實作起點。