自我對話不是文字:AI-Native Cognitive Program 與 Zero-Rendering Runtime
——從「自己跟自己說話」走向狀態化認知程式執行
系列 03 / 06
摘要
若 AI 能夠在可定址認知空間中辨識與選擇自己的認知動作,那麼下一個問題便不再是:
AI 要怎麼生成一句新的 self-prompt?
而是:
AI 要如何執行一段由自己選擇、可中途重觀察、可修改、可停止的認知程式?
本文提出 AI-Native Cognitive Program Runtime 的基礎模型,將 self-dialogue 重新定義為:
Self-Dialogue = Stateful Cognitive Program Execution \boxed{
\text{Self-Dialogue}
=
\text{Stateful Cognitive Program Execution}
} Self-Dialogue = Stateful Cognitive Program Execution
在此模型中,自然語言只是認知程式的一種 renderer,而非 self-dialogue 的必要本體。AI 可以在需要時使用自然語言與自己互動,也可以直接執行:
[ V E R I F Y , C O U N T E R E X A M P L E , R E F R A M E , S T O P ] [
VERIFY,
COUNTEREXAMPLE,
REFRAME,
STOP
] [ V E R I F Y , C O U N T E R E X A M P L E , R E F R A M E , S T O P ]
等 canonical cognitive program,而不必先生成:
「請重新檢查你的推理。」
本文進一步區分:
同步自我對話 :同一認知迴圈內觀察、選擇、執行與重觀察;
非同步自我對話 :認知事件跨時間、跨執行實例或跨 Agent/Controller 發生;
固定程式 :編譯後按既定 operator 序列執行;
可變程式 :每一步根據新狀態重新編譯或改寫;
Rendered Mode :canonical cognition 先渲染成自然語言;
Zero-Rendering Mode :canonical cognition 直接進入 Runtime;
Recursive Self-Call :AI 的認知程序可以再呼叫其他認知程序;
No-Op / Stop / Defer / Idle :不執行、停止與延後本身都是正式控制結果。
本文最終提出一個基本閉環:
O t → S t → P t → Ω t , 1 → S t , 1 → Ω t , 2 → ⋯ → S t + 1 , O_t
\rightarrow
S_t
\rightarrow
P_t
\rightarrow
\Omega_{t,1}
\rightarrow
S_{t,1}
\rightarrow
\Omega_{t,2}
\rightarrow
\dots
\rightarrow
S_{t+1}, O t → S t → P t → Ω t , 1 → S t , 1 → Ω t , 2 → ⋯ → S t + 1 ,
其中每個中間狀態都可以重新觸發:
O b s e r v e → R e t r i e v e → C o m p i l e → E x e c u t e → A u d i t . Observe
\rightarrow
Retrieve
\rightarrow
Compile
\rightarrow
Execute
\rightarrow
Audit. O b ser v e → R e t r i e v e → C o m p i l e → E x ec u t e → A u d i t .
因此,真正 AI-native 的 self-dialogue 不一定是一串文字,而是一條可追蹤、可中斷、可改寫、可重播的認知執行軌跡。
1. 自我對話不應被預設為「兩個 AI 在聊天」
目前談到 self-dialogue 時,最常見的直覺形式是:
AI-A:我認為答案是 X。
AI-B:你應該重新檢查。
AI-A:好,我重新檢查。
AI-B:還可以找反例。
這種方法具有可讀性,也容易利用現有 LLM。
但它並不是唯一可能的實作。
若:
V E R I F Y VERIFY V E R I F Y
本身已經是一個 canonical cognitive object,
而:
C O U N T E R E X A M P L E COUNTEREXAMPLE C O U N T E R E X A M P L E
也是,
那麼:
AI-B:你應該重新檢查。
其實只是:
R e n d e r ( V E R I F Y ) . Render(
VERIFY
). R e n d er ( V E R I F Y ) .
因此:
Dialogue Text ≠ Dialogue Semantics . \boxed{
\text{Dialogue Text}
\neq
\text{Dialogue Semantics}.
} Dialogue Text = Dialogue Semantics .
更精確地說:
Self-Dialogue \text{Self-Dialogue} Self-Dialogue
真正需要的是:
前一個認知狀態,因為某個自我產生的控制動作,而導向下一個認知狀態。
2. Self-Dialogue 的最小形式
定義一個公開狀態:
S t . S_t. S t .
AI 自己產生認知動作:
Ω t . \Omega_t. Ω t .
執行後:
S t + 1 = Ω t ( S t ) . S_{t+1}
=
\Omega_t(S_t). S t + 1 = Ω t ( S t ) .
因此最小 self-dialogue 是:
S t → Ω t → S t + 1 . \boxed{
S_t
\rightarrow
\Omega_t
\rightarrow
S_{t+1}.
} S t → Ω t → S t + 1 .
它甚至不需要:
第二個人格;
第二個 Agent;
第二段自然語言;
顯式「對話」UI。
只要:
Ω t \Omega_t Ω t
是由 AI 根據自己的公開狀態產生或選擇,
便已經形成:
self-generated cognitive transition . \boxed{
\text{self-generated cognitive transition}.
} self-generated cognitive transition .
3. Cognitive Program:從單一算子到認知程序
一個 operator 通常不夠。
因此定義:
P t = [ Ω 1 , Ω 2 , … , Ω n ] . P_t
=
[
\Omega_1,
\Omega_2,
\dots,
\Omega_n
]. P t = [ Ω 1 , Ω 2 , … , Ω n ] .
例如:
P t = [ D E C O M P O S E , V E R I F Y , C O U N T E R E X A M P L E , S T O P ] . P_t=
[
DECOMPOSE,
VERIFY,
COUNTEREXAMPLE,
STOP
]. P t = [ D E C O M P O S E , V E R I F Y , C O U N T E R E X A M P L E , S T O P ] .
這表示:
拆解目前問題;
驗證各子結論;
嘗試尋找反例;
若完成或找到反例則停止。
本文稱:
P t P_t P t
為 Cognitive Program 。
4. Program 不只是 operator list
若只是:
[
"VERIFY",
"COUNTEREXAMPLE",
"STOP"
]
仍然太弱。
真正 runtime program 至少需要:
P = ( O p e r a t o r s , P a r a m e t e r s , C o n t r o l F l o w , B u d g e t , T e r m i n a t i o n , P e r m i s s i o n s ) . P=
(
Operators,
Parameters,
ControlFlow,
Budget,
Termination,
Permissions
). P = ( O p er a t or s , P a r am e t er s , C o n t r o l F l o w , B u d g e t , T er mina t i o n , P er mi ss i o n s ) .
例如:
{
"program_id": "cp://session/184",
"operators": [
{
"op": "VERIFY",
"target": "claim://current",
"method": "independent_route"
},
{
"op": "COUNTEREXAMPLE",
"target": "claim://current",
"stop_if": "counterexample_found"
}
],
"budget": {
"max_steps": 4,
"max_tokens": 3000
},
"termination": [
"verified",
"counterexample_found",
"budget_exhausted"
]
}
因此 cognitive program 比 prompt sequence 更接近一個真正的執行物件。
5. Fixed Program 與 Adaptive Program
認知程式可以分成兩類。
5.1 Fixed Program
一次編譯:
S t → P t . S_t
\rightarrow
P_t. S t → P t .
然後:
P t = [ Ω 1 , Ω 2 , Ω 3 ] P_t
=
[
\Omega_1,
\Omega_2,
\Omega_3
] P t = [ Ω 1 , Ω 2 , Ω 3 ]
依序跑完。
優點:
簡單;
replay 容易;
成本可預估;
行為較可控。
缺點:
中間環境或認知狀態改變後,原本 program 可能已經不適用。
5.2 Adaptive Program
每一步之後重新觀察:
S t → Ω 1 → S t , 1 . S_t
\rightarrow
\Omega_1
\rightarrow
S_{t,1}. S t → Ω 1 → S t , 1 .
然後:
S t , 1 → C o m p i l e → P t , 1 . S_{t,1}
\rightarrow
Compile
\rightarrow
P_{t,1}. S t , 1 → C o m p i l e → P t , 1 .
所以:
P t , 1 P_{t,1} P t , 1
可能與:
P t P_t P t
不同。
因此:
Cognitive Program \boxed{
\text{Cognitive Program}
} Cognitive Program
本身也可以是一個動態狀態。
6. Execute → Reobserve 是核心
一個真正 persistent self-dialogue loop 不應假設:
一次把所有想法想完。
更合理的是:
O b s e r v e → A c t → R e o b s e r v e . Observe
\rightarrow
Act
\rightarrow
Reobserve. O b ser v e → A c t → R eo b ser v e .
形式上:
S t , k + 1 = O b s e r v e ( E x e c u t e ( Ω t , k , S t , k ) ) . S_{t,k+1}
=
Observe(
Execute(
\Omega_{t,k},
S_{t,k}
)
). S t , k + 1 = O b ser v e ( E x ec u t e ( Ω t , k , S t , k )) .
每個 operator 執行後,都應重新確認:
目標是否已完成?
新證據是否出現?
原本假設是否失效?
成本是否超出?
權限是否改變?
是否應停止?
因此:
Reobservation \boxed{
\text{Reobservation}
} Reobservation
不是附加功能,而是 runtime 的核心。
7. 同步 Self-Dialogue
同步 self-dialogue 可以表示為:
S t → C o n t r o l l e r → Ω t → E x e c u t o r → S t + 1 . S_t
\rightarrow
Controller
\rightarrow
\Omega_t
\rightarrow
Executor
\rightarrow
S_{t+1}. S t → C o n t r o l l er → Ω t → E x ec u t or → S t + 1 .
這些步驟發生在同一個 active loop 中。
例如:
Draft
↓
Observe Draft
↓
Select VERIFY
↓
Execute VERIFY
↓
Rewrite
↓
Observe Again
其特徵是:
低延遲;
狀態緊密;
容易形成短迴圈;
適合單一工作記憶窗口。
8. 非同步 Self-Dialogue
非同步 self-dialogue 則可能是:
S t → e m i t E v e n t t S_t
\xrightarrow{emit}
Event_t S t e mi t E v e n t t
之後:
E v e n t t → Δ t C o n t r o l l e r → Ω → S t + k . Event_t
\xrightarrow{\Delta t}
Controller
\rightarrow
\Omega
\rightarrow
S_{t+k}. E v e n t t Δ t C o n t r o l l er → Ω → S t + k .
例如:
AI 今天形成一個未驗證假設。
三小時後另一個 background controller:
發現這個假設仍未驗證,觸發 VERIFY。
或者:
某項外部資料更新後,重新啟動先前被 DEFER 的 cognition。
因此:
Self-Dialogue \boxed{
\text{Self-Dialogue}
} Self-Dialogue
可以跨:
時間;
session;
context window;
process;
Agent instance;
model instance。
這時 CTCL / ITR 會從可選功能變成必要基礎。
9. 同一個模型與不同模型都可以
Self-dialogue 並不要求:
M o d e l A ≠ M o d e l B . Model_A
\neq
Model_B. M o d e l A = M o d e l B .
可以是:
M o d e l → O b s e r v e → M o d e l → E x e c u t e . Model
\rightarrow
Observe
\rightarrow
Model
\rightarrow
Execute. M o d e l → O b ser v e → M o d e l → E x ec u t e .
也可以是:
W o r k e r → C o n t r o l l e r → W o r k e r . Worker
\rightarrow
Controller
\rightarrow
Worker. W or k er → C o n t r o l l er → W or k er .
甚至:
M o d e l A → M o d e l B → M o d e l C . Model_A
\rightarrow
Model_B
\rightarrow
Model_C. M o d e l A → M o d e l B → M o d e l C .
真正不變的是:
cognitive role separation . \boxed{
\text{cognitive role separation}.
} cognitive role separation .
角色可以分離,而模型不一定要分離。
10. Role 不是 Persona
這裡也要區分:
R o l e ≠ P e r s o n a . Role
\neq
Persona. R o l e = P er so na .
例如:
Observer
Controller
Executor
Auditor
是功能角色。
它們不需要各自模擬不同人格。
因此:
「批判者人格」
不是必要條件。
更 AI-native 的方式是:
role = evaluator
operator = COUNTEREXAMPLE
11. Zero-Rendering Runtime
在傳統流程:
C a n o n i c a l O p e r a t o r → N a t u r a l L a n g u a g e P r o m p t → M o d e l . CanonicalOperator
\rightarrow
NaturalLanguagePrompt
\rightarrow
Model. C an o ni c a l O p er a t or → N a t u r a l L an g u a g e P r o m pt → M o d e l .
Zero-Rendering 模式則:
C a n o n i c a l O p e r a t o r → R u n t i m e . CanonicalOperator
\rightarrow
Runtime. C an o ni c a l O p er a t or → R u n t im e .
例如:
{
"op": "VERIFY",
"target": "artifact://answer/17",
"mode": "independent"
}
直接成為下一輪 model/runtime 的控制輸入。
因此:
Zero-Rendering = No mandatory natural-language projection . \boxed{
\text{Zero-Rendering}
=
\text{No mandatory natural-language projection}.
} Zero-Rendering = No mandatory natural-language projection .
這不是說模型完全不處理文字。
而是:
cognitive control 的 canonical representation 不再依賴文字。
12. 何時仍需要自然語言?
Natural-language renderer 仍然非常重要。
至少有四個用途。
12.1 Human Interface
人類需要知道:
AI 為什麼選了 VERIFY?
因此 render:
目前結論尚未被獨立驗證,因此進入驗證程序。
12.2 Compatibility
某些模型只能接受文字。
那麼:
C o g n i t i v e P r o g r a m → P r o m p t R e n d e r e r → L L M . CognitiveProgram
\rightarrow
PromptRenderer
\rightarrow
LLM. C o g ni t i v e P r o g r am → P r o m ptR e n d er er → LL M .
12.3 Debugging
工程師查看:
VERIFY → COUNTEREXAMPLE → STOP
可能仍不足以理解詳細理由。
因此需要 explanatory renderer。
12.4 Cross-System Transport
某些異質系統無法共享 canonical registry。
此時自然語言可作為 fallback interoperability layer。
所以:
Natural Language = Interface / Renderer / Fallback \boxed{
\text{Natural Language}
=
\text{Interface / Renderer / Fallback}
} Natural Language = Interface / Renderer / Fallback
而不是被完全移除。
13. 認知呼叫與 Tool Calling 可以統一
傳統 Agent 有:
CALL web.search
CALL python.run
CALL file.read
未來可以加入:
CALL cog.verify
CALL cog.reframe
CALL cog.counterexample
CALL cog.backtrack
於是:
A c t i o n S p a c e = T o o l A c t i o n s ∪ C o g n i t i v e A c t i o n s . ActionSpace
=
ToolActions
\cup
CognitiveActions. A c t i o n S p a ce = T oo l A c t i o n s ∪ C o g ni t i v e A c t i o n s .
AI 可以自己判斷:
下一步需要改變外部世界,還是先改變自己的認知流程?
這是一個非常重要的統一。
14. Self-Call:AI 呼叫自己
如果認知 operator 的 executor 仍然是一個模型,
那麼:
CALL cog.verify(...)
實際可能解析成:
R u n t i m e → M o d e l I n v o c a t i o n . Runtime
\rightarrow
ModelInvocation. R u n t im e → M o d e l I n v oc a t i o n .
因此 AI 表面上是:
呼叫 VERIFY。
底層則可能是:
再呼叫一次自己,但以 VERIFY semantics 執行。
所以:
Self-Call = Model re-entry under a self-selected cognitive contract . \boxed{
\text{Self-Call}
=
\text{Model re-entry under a self-selected cognitive contract}.
} Self-Call = Model re-entry under a self-selected cognitive contract .
這比:
再 prompt 自己一次。
精確得多。
15. Recursive Self-Call
認知 program 本身也可能再呼叫 cognition。
例如:
V E R I F Y VERIFY V E R I F Y
執行時發現:
需要先 DECOMPOSE。
因此:
V E R I F Y → D E C O M P O S E → V E R I F Y . VERIFY
\rightarrow
DECOMPOSE
\rightarrow
VERIFY. V E R I F Y → D E C O M P O S E → V E R I F Y .
這就是 recursion。
形式:
Ω i → P ′ → Ω i . \Omega_i
\rightarrow
P'
\rightarrow
\Omega_i. Ω i → P ′ → Ω i .
因此 Runtime 需要:
recursion depth;
call stack;
budget inheritance;
parent event;
termination policy。
否則容易形成:
Self-Call Loop → ∞ . \text{Self-Call Loop}
\rightarrow
\infty. Self-Call Loop → ∞.
16. Cognitive Call Stack
可以定義:
ROOT
└── VERIFY
├── DECOMPOSE
│ ├── COMPARE
│ └── STOP
└── VERIFY
每個 frame 至少保存:
{
"call_id": "...",
"operator": "VERIFY",
"parent_call_id": "...",
"depth": 2,
"input_state_ref": "...",
"budget_remaining": 0.42
}
這樣未來:
S e l f D i a l o g u e SelfDialogue S e l f D ia l o g u e
可以被真正 replay。
17. Program Mutation
若中途狀態改變,program 可以被改寫。
原始:
P t = [ V E R I F Y , C O U N T E R E X A M P L E , F O R M A L I Z E ] . P_t=
[
VERIFY,
COUNTEREXAMPLE,
FORMALIZE
]. P t = [ V E R I F Y , C O U N T E R E X A M P L E , F O R M A L I Z E ] .
執行 VERIFY 後發現 contradiction。
則:
P t ′ = [ B A C K T R A C K , R E F R A M E ] . P_t'
=
[
BACKTRACK,
REFRAME
]. P t ′ = [ B A C K T R A C K , R E F R A M E ] .
因此需要:
M u t a t e P r o g r a m ( P t , S t , k ) → P t ′ . MutateProgram(
P_t,
S_{t,k}
)
\rightarrow
P_t'. M u t a t e P r o g r am ( P t , S t , k ) → P t ′ .
這不是錯誤。
而是 adaptive cognition 的正常能力。
18. Program Mutation 也必須可追蹤
不可只留下:
program changed
而應留下:
{
"old_program_ref": "...",
"new_program_ref": "...",
"trigger_state_ref": "...",
"reason_code": "contradiction_detected"
}
否則長期 AI 之後只看到:
我改變了計畫。
卻不知道:
為什麼改。
19. STOP 是認知結果,不是失敗
STOP 應該是一個正式 control operator。
例如:
S T O P ( r e a s o n ) . STOP(
reason
). S T O P ( r e a so n ) .
合法原因可能是:
G o a l S a t i s f i e d , GoalSatisfied, G o a l S a t i s f i e d ,
N o F u r t h e r G a i n , NoFurtherGain, N o F u r t h er G ain ,
B u d g e t E x h a u s t e d , BudgetExhausted, B u d g e tE x ha u s t e d ,
A u t h o r i t y B o u n d a r y , AuthorityBoundary, A u t h or i t y B o u n d a r y ,
U n s a f e T o C o n t i n u e . UnsafeToContinue. U n s a f e T o C o n t in u e .
因此:
S T O P \boxed{
STOP
} S T O P
是成功的 runtime transition。
20. DEFER 與 STOP 不同
STOP:
目前這條 cognition 結束。
DEFER:
目前暫停,但等待未來條件。
因此:
D E F E R = ( R e a s o n , W a k e C o n d i t i o n ) . DEFER
=
(
Reason,
WakeCondition
). D E F E R = ( R e a so n , W ak e C o n d i t i o n ) .
例如:
{
"op": "DEFER",
"reason": "insufficient_external_evidence",
"wake_if": "new_dataset_available"
}
這會直接連到長期 persistent runtime。
21. NO-OP
NO-OP 代表:
有一個 cognition cycle 發生,但不需要改變任何狀態。
例如:
N O O P NOOP N O O P
可能是因為:
沒有新的 evidence;
所有 candidate operator utility 都不高;
state 與上一輪一致。
形式:
S t + 1 = S t . S_{t+1}=S_t. S t + 1 = S t .
這個結果仍然應該被視為合法 decision。
22. IDLE
IDLE 比 NO-OP 更長期。
NO-OP:
這一輪不做 cognition。
IDLE:
Runtime 進入等待態。
因此:
I D L E → W a k e E v e n t . IDLE
\rightarrow
WakeEvent. I D L E → W ak e E v e n t .
例如:
new message
new file
timer reached
environment changed
contract changed
external event
這是長期 AI 不必一直消耗算力的必要能力。
23. 自我對話必須有 Budget
若 AI 可以:
A I → A I → A I → ⋯ AI\rightarrow AI\rightarrow AI\rightarrow\cdots A I → A I → A I → ⋯
那麼最基本的安全條件就是:
B u d g e t < ∞ . Budget<\infty. B u d g e t < ∞.
Budget 可以包含:
B = ( T o k e n s , C a l l s , T i m e , M o n e y , E n e r g y , D e p t h ) . B=
(
Tokens,
Calls,
Time,
Money,
Energy,
Depth
). B = ( T o k e n s , C a l l s , T im e , M o n ey , E n er g y , D e pt h ) .
每個 self-call:
B t + 1 = B t − C o s t ( Ω t ) . B_{t+1}
=
B_t
-
Cost(\Omega_t). B t + 1 = B t − C os t ( Ω t ) .
若:
B t ≤ B min , B_t\le B_{\min}, B t ≤ B m i n ,
則:
S T O P STOP S T O P
或:
E S C A L A T E . ESCALATE. E S C A L A T E .
24. 認知效用
AI 不能只因為「有 operator 可用」就呼叫。
應估計:
U ( Ω i ∣ S t ) = E x p e c t e d G a i n − E x p e c t e d C o s t − R i s k . U(\Omega_i|S_t)
=
ExpectedGain
-
ExpectedCost
-
Risk. U ( Ω i ∣ S t ) = E x p ec t e d G ain − E x p ec t e d C os t − R i s k .
若:
max i U ( Ω i ∣ S t ) ≤ 0 , \max_i U(\Omega_i|S_t)\le0, i max U ( Ω i ∣ S t ) ≤ 0 ,
合理結果是:
N O O P NOOP N O O P
或:
I D L E . IDLE. I D L E .
這直接避免:
無限 self-reflection。
25. 自我對話不是越多越好
這點已經被前面的神經實驗與 foundation-model pilot 同時提醒。
多一步 cognition:
⇏ better . \not\Rightarrow
\text{better}. ⇒ better .
自由 self-review 甚至可能把正確答案改壞。
因此:
Self-Dialogue Quality ≠ Self-Dialogue Length . \boxed{
\text{Self-Dialogue Quality}
\neq
\text{Self-Dialogue Length}.
} Self-Dialogue Quality = Self-Dialogue Length .
真正重要的是:
cognition 是否匹配目前 state;
operator 是否適當;
controller 是否可靠;
是否有停止條件;
是否有必要繼續。
26. Cognitive Fidelity
如果 AI 選:
V E R I F Y , VERIFY, V E R I F Y ,
但實際 execution 變成:
隨便再想一次,
那麼 addressable cognition 沒有意義。
因此需要:
F i d e l i t y ( R e q u e s t e d O p e r a t o r , E x e c u t e d B e h a v i o r ) . Fidelity(
RequestedOperator,
ExecutedBehavior
). F i d e l i t y ( R e q u es t e d O p er a t or , E x ec u t e d B e ha v i or ) .
這會成為未來重要 Gate。
例如:
F i d e l i t y > F min . Fidelity>F_{\min}. F i d e l i t y > F m i n .
否則應:
f a l l b a c k fallback f a l l ba c k
或:
r e c o m p i l e . recompile. r eco m p i l e .
27. Renderer Fidelity
若:
C → T e x t ( C ) C
\rightarrow
Text(C) C → T e x t ( C )
則也需要:
M e a n i n g ( T e x t ( C ) ) ≈ C . Meaning(Text(C))
\approx
C. M e anin g ( T e x t ( C )) ≈ C .
因此 natural-language renderer 不是隨便寫漂亮句子。
而是一個 semantic-preservation layer。
28. Zero-Rendering 的真正意義
Zero-rendering 不只是省 token。
它更重要的意義是:
把 cognition 從語言表達中解耦。 \boxed{
\text{把 cognition 從語言表達中解耦。}
} 把 cognition 從語言表達中解耦。
這使未來可能:
不同語言共享同一 cognition;
不同模型共享同一 operator;
不同 renderer 不改 execution;
cognition 可以被編譯、版本化與驗證。
這才是 AI-native 的意義。
29. 觀察者、控制器與執行器
一個基本 Runtime 可以拆成:
O b s e r v e r Observer O b ser v er
C o n t r o l l e r Controller C o n t r o l l er
E x e c u t o r . Executor. E x ec u t or .
其中:
Observer
O t → S t . O_t
\rightarrow
S_t. O t → S t .
Controller
S t → P t . S_t
\rightarrow
P_t. S t → P t .
Executor
( P t , S t ) → O t + 1 . (P_t,S_t)
\rightarrow
O_{t+1}. ( P t , S t ) → O t + 1 .
這三者可以:
同模型;
不同模型;
symbolic + model hybrid;
local + remote hybrid。
30. Auditor 是第四個必要角色
真正長期 Runtime 還需要:
A u d i t o r . Auditor. A u d i t or .
Auditor 不一定阻止 action。
它負責:
R e c o r d ( S t a t e , P r o g r a m , D e c i s i o n , O u t c o m e ) . Record(
State,
Program,
Decision,
Outcome
). R ecor d ( S t a t e , P r o g r am , D ec i s i o n , O u t co m e ) .
因此:
O b s e r v e r + C o n t r o l l e r + E x e c u t o r + A u d i t o r \boxed{
Observer
+
Controller
+
Executor
+
Auditor
} O b ser v er + C o n t r o l l er + E x ec u t or + A u d i t or
構成最小 persistent cognition runtime。
31. Audit 不等於保存 Chain-of-Thought
Audit 保存:
看到什麼公開狀態;
選了哪個 operator;
用了哪個版本;
做出什麼結果;
為何停止;
花了多少成本;
哪個 contract / goal 生效。
不需要保存:
模型所有隱藏推理 token。
因此:
A u d i t a b i l i t y ≠ H i d d e n − C o T L o g g i n g . \boxed{
Auditability
\neq
Hidden-CoT Logging.
} A u d i t abi l i t y = H i dd e n − C o T L o g g in g .
32. CTCL 將提供時間因果錨點
若:
C o g n i t i o n C a l l 1 CognitionCall_1 C o g ni t i o n C a l l 1
與:
C o g n i t i o n C a l l 2 CognitionCall_2 C o g ni t i o n C a l l 2
跨 context window、跨 process 或跨數小時,
則單一 local sequence 已不足。
每個事件需要:
T e m p o r a l C o o r d i n a t e . TemporalCoordinate. T e m p or a l C oor d ina t e .
因此:
C o g n i t i v e E v e n t = ( O p e r a t o r , S t a t e , T i m e , C a u s e , O u t c o m e ) . CognitiveEvent
=
(
Operator,
State,
Time,
Cause,
Outcome
). C o g ni t i v e E v e n t = ( O p er a t or , S t a t e , T im e , C a u se , O u t co m e ) .
第 4 篇將專門處理:
C T C L / I T R CTCL/ITR C T C L / I T R
如何承接這個角色。
33. Self-Dialogue Runtime 的事件模型
一次完整 loop 可以產生:
state.observed
cognition.affordances.retrieved
cognition.program.proposed
cognition.program.selected
cognition.call.started
cognition.call.completed
state.reobserved
cognition.program.mutated
decision.resolved
audit.recorded
因此:
S e l f D i a l o g u e SelfDialogue S e l f D ia l o g u e
不再只是 message list。
而是:
Cognitive Event Graph . \boxed{
\text{Cognitive Event Graph}.
} Cognitive Event Graph .
34. 事件可以是 DAG,而不是純序列
若兩個 cognition 平行:
V E R I F Y ∥ C O U N T E R E X A M P L E , VERIFY
\parallel
COUNTEREXAMPLE, V E R I F Y ∥ C O U N T E R E X A M P L E ,
然後:
C O M P A R E . COMPARE. C O M P A R E .
則:
E 1 ∥ E 2 → E 3 . E_1
\parallel
E_2
\rightarrow
E_3. E 1 ∥ E 2 → E 3 .
因此:
S e l f D i a l o g u e H i s t o r y \boxed{
SelfDialogueHistory
} S e l f D ia l o g u eH i s t or y
天然可能是一個 DAG。
這就是 CTCL-ITR topology 之後會真正重要的地方。
35. Self-Dialogue 與長期 Memory
認知 Runtime 不應把所有 event 都放進 context。
應該:
E v e n t H i s t o r y → M e m o r y S e l e c t i o n → W o r k i n g C o n t e x t . EventHistory
\rightarrow
MemorySelection
\rightarrow
WorkingContext. E v e n t H i s t or y → M e m or y S e l ec t i o n → W or k in g C o n t e x t .
但原始 event 仍保留在外部 ledger。
因此:
W o r k i n g C o n t e x t ≠ F u l l C o g n i t i v e H i s t o r y . \boxed{
WorkingContext
\neq
FullCognitiveHistory.
} W or k in g C o n t e x t = F u l l C o g ni t i v eH i s t or y .
這能避免 context compression 直接抹除決策來源。
36. 最小執行演算法
可以給出一個初步 Runtime:
while active:
observation = observe(environment, memory, commitments)
state = encode(observation)
affordances = retrieve(state)
if no_positive_utility(affordances):
idle_or_stop()
break
program = compile(state, affordances)
for op in program:
check_budget()
check_authority()
result = execute(op)
record_event(op, result)
state = reobserve()
if termination_condition(state):
stop()
break
if program_invalidated(state):
program = recompile(state)
這就是 self-dialogue 的 AI-native 雛形。
37. 這與「永遠自己說話」完全不同
錯誤理解:
A I → P r o m p t → A I → P r o m p t → A I → ⋯ AI
\rightarrow
Prompt
\rightarrow
AI
\rightarrow
Prompt
\rightarrow
AI
\rightarrow\cdots A I → P r o m pt → A I → P r o m pt → A I → ⋯
本文提出的是:
S t a t e → D e c i s i o n → C o g n i t i o n → S t a t e \boxed{
State
\rightarrow
Decision
\rightarrow
Cognition
\rightarrow
State
} S t a t e → D ec i s i o n → C o g ni t i o n → S t a t e
而:
P r o m p t Prompt P r o m pt
只是其中一種 transport。
38. 從 Self-Prompt 到 Self-Control
因此成熟後:
S e l f P r o m p t SelfPrompt S e l f P r o m pt
甚至只是:
R e n d e r e r ( S e l f C o n t r o l ) . Renderer(
SelfControl
). R e n d er er ( S e l f C o n t r o l ) .
真正核心是:
S e l f C o n t r o l t = S e l e c t ( C o g n i t i v e A c t i o n ∣ S t a t e t ) . \boxed{
SelfControl_t
=
Select(
CognitiveAction
\mid
State_t
).
} S e l f C o n t r o l t = S e l ec t ( C o g ni t i v e A c t i o n ∣ S t a t e t ) .
這是整條研究線應該保持的抽象層級。
39. 從 Self-Control 到 Self-Planning
一旦 AI 可以控制:
怎麼想,
下一步便能控制:
先想哪個問題。
也就是:
A g e n d a → C o g n i t i v e P r o g r a m . Agenda
\rightarrow
CognitiveProgram. A g e n d a → C o g ni t i v e P r o g r am .
然後:
C o g n i t i v e P r o g r a m → P l a n . CognitiveProgram
\rightarrow
Plan. C o g ni t i v e P r o g r am → P l an .
所以 Self-Dialogue Runtime 是 Self-Planning 的底層執行器。
40. 從 Self-Planning 到 Self-Governance
再往後:
P l a n Plan P l an
不能直接執行。
要先進:
G o v e r n a n c e . Governance. G o v er nan ce .
因此:
P l a n → { E X E C U T E , R E F U S E , D E F E R , I D L E , E S C A L A T E } . Plan
\rightarrow
\{
EXECUTE,
REFUSE,
DEFER,
IDLE,
ESCALATE
\}. P l an → { E X E C U T E , R E F U S E , D E F E R , I D L E , E S C A L A T E } .
也就是認知 Runtime 最後必須能接受治理層 veto。
41. Runtime 不能凌駕 Contract
即使 cognition program 自己得出:
下一步最有效率的是刪除某份資料。
如果:
A u t h o r i t y ( d e l e t e ) = 0 , Authority(delete)=0, A u t h or i t y ( d e l e t e ) = 0 ,
則:
E X E C U T I O N = D E N I E D . EXECUTION=DENIED. E X E C U T I O N = D E N I E D .
所以:
C o g n i t i v e A u t o n o m y ≠ E x e c u t i o n A u t h o r i t y . \boxed{
CognitiveAutonomy
\neq
ExecutionAuthority.
} C o g ni t i v e A u t o n o m y = E x ec u t i o n A u t h or i t y .
這也是未來契約型 AI 的核心。
42. Self-Call 的真正終極形態
成熟後,AI 可能不再生成:
「現在我應該重新檢查。」
而只是:
resolve cog://epistemic/verify@1
execute target=artifact://current
然後 Runtime:
R e s o l v e → A u t h o r i z e → E x e c u t e → R e c o r d . Resolve
\rightarrow
Authorize
\rightarrow
Execute
\rightarrow
Record. R eso l v e → A u t h or i z e → E x ec u t e → R ecor d .
這才是真正:
AI calls its own cognition . \boxed{
\text{AI calls its own cognition}.
} AI calls its own cognition .
43. 下一階段的工程優先順序
本文完成後,真正工程應優先建立:
Cognitive Program Schema
Runtime Call Stack
Observe / Reobserve Interface
Operator Executor Interface
Program Mutation
Stop / Defer / No-Op
Budget Guard
Zero-Rendering Adapter
Audit Event Emission
CTCL Event Hook
而不是先寫更多 prompt template。
44. 驗證 Gate
Gate A:Program Execution
同一 canonical program 是否能穩定重播?
Gate B:Rendered vs Zero-Rendered
O u t c o m e T e x t ≈ O u t c o m e C a n o n i c a l ? Outcome_{Text}
\approx
Outcome_{Canonical}? O u t co m e T e x t ≈ O u t co m e C an o ni c a l ?
Gate C:Adaptive Recompile
狀態改變後重新編譯,是否優於固定 program?
Gate D:Termination
AI 是否能正確 STOP,而不是無限 self-call?
Gate E:No-Op
是否能在不需要 cognition 時選擇:
N O O P ? NOOP? N O O P ?
Gate F:Async Resume
跨 session / context window 後,是否能根據 ledger 恢復未完成 cognition?
45. 核心命題
本文最終提出:
Self-Dialogue ≠ Self-Talk . \boxed{
\text{Self-Dialogue}
\neq
\text{Self-Talk}.
} Self-Dialogue = Self-Talk .
更精確的是:
Self-Dialogue = Self-Selected Stateful Cognitive Transition . \boxed{
\text{Self-Dialogue}
=
\text{Self-Selected Stateful Cognitive Transition}.
} Self-Dialogue = Self-Selected Stateful Cognitive Transition .
若多步:
Self-Dialogue = Adaptive Cognitive Program Execution . \boxed{
\text{Self-Dialogue}
=
\text{Adaptive Cognitive Program Execution}.
} Self-Dialogue = Adaptive Cognitive Program Execution .
而自然語言:
T e x t Text T e x t
只是一種:
R e n d e r e r . Renderer. R e n d er er .
結論
從 AI 原生架構來看,「自己跟自己對話」不必等價於產生第二段文字再讀回去。
更基本的結構是:
S t → Ω t → S t + 1 . S_t
\rightarrow
\Omega_t
\rightarrow
S_{t+1}. S t → Ω t → S t + 1 .
當 Ω t \Omega_t Ω t 是 AI 根據自己的公開狀態自行選擇的認知動作時,self-dialogue 已經成立。
多步情況則為:
S t → P t → S t + 1 , S_t
\rightarrow
P_t
\rightarrow
S_{t+1}, S t → P t → S t + 1 ,
其中:
P t = [ Ω 1 , … , Ω n ] . P_t=
[
\Omega_1,\dots,\Omega_n
]. P t = [ Ω 1 , … , Ω n ] .
真正成熟的 Runtime 還需要:
O b s e r v e → C o m p i l e → E x e c u t e → R e o b s e r v e → M u t a t e → A u d i t . Observe
\rightarrow
Compile
\rightarrow
Execute
\rightarrow
Reobserve
\rightarrow
Mutate
\rightarrow
Audit. O b ser v e → C o m p i l e → E x ec u t e → R eo b ser v e → M u t a t e → A u d i t .
自然語言可以存在,也可以不存在。
因此:
Zero-Rendering \boxed{
\text{Zero-Rendering}
} Zero-Rendering
並不是把語言從 AI 中移除,而是讓:
認知控制不再必須經過語言才能存在。
這一步將 Self-Prompt 從 prompt engineering 提升成:
Cognitive Runtime Engineering . \boxed{
\text{Cognitive Runtime Engineering}.
} Cognitive Runtime Engineering .
而一旦 AI 的認知事件可以持續跨時間、自行改寫、非同步恢復,下一個不可避免的問題就是:
當上下文已經壓縮、模型已經換掉、執行跨過數小時甚至數年後,我們如何證明「它當時為什麼做出那個決定」?
因此下一篇將正式進入:
《時間因果自我史:CTCL-ITR、Decision Receipt 與上下文壓縮後的可追溯性》
核心將處理:
reference time;
interaction time;
causal time;
ledger time;
Temporal Evidence Envelope;
Decision Receipt;
Decision-Time Knowledge Boundary;
context compression event;
contract / authority versioning;
cognitive event DAG;
以及 AI 如何形成一條可恢復、可驗證、可治理的長期認知因果歷史。