# 連線即封裝：從工作流到高階語言基元的總命題

## Connection-as-Encapsulation: From Workflows to Higher-Order Language Primitives

**系列名稱：** 遞歸自適應積木組合語言（Recursive Adaptive Block Composition Language, RABCL）  
**系列編號：** EML-RABCL-2026-01  
**作者：** Neo.K（許筌崴）with Aletheia（GPT）  
**機構：** EveMissLab／一言諾科技有限公司  
**版本：** v0.1 基礎命題稿  
**日期：** 2026 年 7 月 30 日  
**文件定位：** 工作流遞歸封裝、格子組合語言、AI 函數化、CAIR 接合、MSSP × RDR 與 AEREC 前置理論  

---

## 摘要

現有節點式工作流工具通常將節點與連線視為最終可保存對象。使用者把圖片生成、資料處理、模型呼叫、條件判斷、驗證與輸出節點連接起來後，系統最多將其保存為一份工作流模板、群組或可重用子流程。這種設計提高了視覺可讀性與流程重用能力，卻仍然把工作流留在「外部排列」層：節點是語言基元，工作流只是基元的組合結果。

本文提出不同的總命題：

> 當一組節點與連線形成具有相對完整功能的工作流時，系統可以先進入靜止狀態，再由 AI 與驗證器共同推斷其邊界、端口、契約、狀態、副作用、權限與來源，將整個工作流封裝為一個新的高階積木。

因此，工作流不是最終形式，而是新語言基元的展開態。其基本轉換為：

$$
\mathcal W
=
(V,E)
\xrightarrow{\mathsf{Encapsulate}}
B_{\mathcal W}.
$$

封裝後的大格子不只是畫布群組，也不是一張縮圖，而是一個具有穩定身分、外部介面、功能契約、權威表示、執行註冊、驗證證據、展開路徑與演化歷史的一級計算物件。它可以像原子節點一樣被再次拖入畫布、與其他積木組合，並在新的工作流形成後再次封裝。

本文將此性質稱為**受約束的遞歸組合閉包**。令合法積木集合為 $\mathfrak B$ ，若積木族 $B_1,\ldots,B_n$ 在型別、效果、權限與契約約束下可合法組合，則：

$$
B_1,\ldots,B_n\in\mathfrak B
\land
\operatorname{ValidCompose}(B_1,\ldots,B_n)
\Longrightarrow
\operatorname{Pack}(B_1,\ldots,B_n)\in\mathfrak B.
$$

這不是宣稱任意圖都天然構成合法函數，也不是宣稱視覺連線本身等同語義。本文主張的是：工作流連線可以成為封裝候選的觸發事件；經過靜止、分析、契約推斷、驗證與提交後，合法子圖可以被升格為新的可組合語言單元。

此架構與既有四個技術層形成分工：格子語言提供自由封裝與多承載面操作；CAIR 保存權威結構與可驗證差異；MSSP 描述積木在系統中的身分、層級與能力索引；RDR 將其註冊為可呼叫、可治理的執行單元；AEREC 則允許封裝後的積木在外部契約保持穩定時持續產生、驗證與選擇新的內部實現。

本文是 RABCL 系列第一篇，只建立「連線即封裝」的總命題、核心物件與理論邊界。封裝靜止屏障、端口與契約推斷、遞歸閉包語法、權威表示接合及多代演化，將由後續文件分別展開。

**關鍵詞：** 工作流、遞歸封裝、積木組合語言、格子語言、CAIR、MSSP、RDR、AEREC、AI 編譯、函數封裝

---

# 0. 系列定位

AEREC 已處理「一個應用在功能契約保持穩定時，如何持續生成、驗證與選擇新的實現」。格子語言已處理「任意局部結構如何被自由切出、命名、宣告接口、投影與操作」。CAIR 已提供權威中介表示、投影、提案隔離、驗證、版本與回滾。MSSP × RDR 則分別處理描述／認知平面與執行／運行平面。

然而，這些系統之間仍缺少一個明確的生成事件：

> 一個由人類或 AI 在畫布上完成的工作流，何時、如何以及憑什麼成為新的可組合積木？

RABCL 系列處理的正是這個接合層。

它不取代 AEREC、格子語言、CAIR 或 MSSP × RDR，而是定義：

$$
\text{Workflow Formation}
\rightarrow
\text{Block Birth}
\rightarrow
\text{Recursive Composition}.
$$

---

# 1. 現有工作流模型的結構限制

## 1.1 節點是基元，工作流不是基元

一般節點工具可抽象為：

$$
\mathcal W=(V,E),
$$

其中 $V$ 是節點集合， $E$ 是連線集合。

系統通常允許：

- 新增節點；
- 刪除節點；
- 建立連線；
- 執行工作流；
- 儲存模板；
- 複製子圖；
- 將節點放入群組。

但其語言層通常保持不變：

$$
\text{Primitive Set}_{t+1}
=
\text{Primitive Set}_t.
$$

即使使用者已經建出一個完整的圖片生成代理、資料清理管線或研究流程，該工作流仍只是舊節點的排列。它不會自動成為語言中的新動詞、新函數或新積木。

## 1.2 群組不等於封裝

畫布群組通常只保存：

- 顯示邊界；
- 節點座標；
- 折疊狀態；
- 標題；
- 顏色或分類。

但真正的封裝至少需要：

- 穩定身分；
- 外部輸入與輸出；
- 狀態與生命週期；
- 副作用與權限；
- 功能契約；
- 失敗語義；
- 版本與來源；
- 執行註冊；
- 驗證與回滾。

因此：

$$
\boxed{
\text{Visual Group}
\neq
\text{Semantic Capsule}
}
$$

## 1.3 模板不等於新語言基元

工作流模板改善重用，但模板通常仍要求：

1. 載入整張子圖；
2. 顯示所有內部節點；
3. 由外部工具理解內部結構；
4. 在每次使用時重新管理內部依賴。

新語言基元則應能在不展開內部細節時被安全使用：

$$
B(x;\theta,s)
\rightarrow
(y,s',\varepsilon).
$$

其中：

- $x$ ：外部輸入；
- $\theta$ ：可配置參數；
- $s$ ：持續狀態；
- $y$ ：外部輸出；
- $s'$ ：更新後狀態；
- $\varepsilon$ ：可觀測效果與證據。

---

# 2. 連線即封裝的核心命題

## 2.1 連線不是立即封裝，而是封裝候選事件

「連線即封裝」不應被誤解為：使用者每拉一條線，系統就立刻折疊畫布。

較精確的形式為：

$$
\mathsf{Connect}
\rightarrow
\mathsf{EncapsulationCandidate}.
$$

當工作流滿足某種相對完整性條件時，連線事件使系統識別出一個可能的封裝區域。

相對完整性可以來自：

- 使用者框選並要求封裝；
- AI 判斷子圖已形成可命名功能；
- 子圖具有有限外部邊界；
- 輸入與輸出可被推斷；
- 內部依賴已閉合；
- 執行已通過一次或多次驗證；
- 工作流被多次重用；
- 某個任務階段正式完成。

因此，封裝既可以是顯式操作，也可以是 AI 建議，但不能在未經檢查時直接成為權威狀態。

## 2.2 工作流升格

令候選子圖為：

$$
\mathcal W_c
=
(V_c,E_c).
$$

封裝程序為：

$$
\mathsf{Pack}:
\mathcal W_c
\times
\mathcal A
\times
\mathcal Q
\rightarrow
B_c,
$$

其中：

- $\mathcal A$ ：分析結果；
- $\mathcal Q$ ：驗證與治理條件；
- $B_c$ ：提交後的新積木。

積木 $B_c$ 至少表示為：

$$
B_c
=
(
I_c,
\partial_c,
C_c,
P_c^\ast,
S_c,
F_c,
Z_c,
H_c,
R_c
).
$$

其中：

- $I_c$ ：穩定身分；
- $\partial_c$ ：外部邊界與端口；
- $C_c$ ：功能與效果契約；
- $P_c^\ast$ ：權威結構；
- $S_c$ ：持續狀態；
- $F_c$ ：內部子圖與依賴；
- $Z_c$ ：驗證證據與證書；
- $H_c$ ：來源、版本與操作歷史；
- $R_c$ ：展開、恢復與回滾資料。

## 2.3 工作流是展開態，積木是封裝態

同一計算對象可以有兩種主要操作狀態：

$$
\operatorname{Expand}(B_c)
=
\mathcal W_c,
$$

以及：

$$
\operatorname{Collapse}(\mathcal W_c)
=
B_c.
$$

因此：

$$
\boxed{
\text{Expanded Workflow}
\rightleftarrows
\text{Encapsulated Block}
}
$$

兩者不是兩份互不相干的檔案，而應是同一權威結構的不同投影或操作層級。

---

# 3. 新積木的誕生條件

一個工作流不應只因為「看起來連好了」就成為合法積木。最低成立條件可表示為：

$$
\operatorname{Birth}(B_c)
=
T_c
\land
B_c^{\partial}
\land
C_c
\land
V_c
\land
G_c.
$$

其中：

- $T_c$ ：結構與型別可接受；
- $B_c^{\partial}$ ：外部邊界可定義；
- $C_c$ ：存在最低功能契約；
- $V_c$ ：通過最低驗證；
- $G_c$ ：符合治理與權限要求。

## 3.1 結構可接受

至少需要確認：

- 不存在缺失節點；
- 連線類型可辨識；
- 必要依賴存在；
- 循環若存在，具有明確語義；
- 無法解析的部分被標示，而不是被偷偷忽略。

## 3.2 邊界可定義

對子圖 $V_c$ ，外部輸入邊為：

$$
I_c
=
\left\{
(u,v)\in E
\mid
u\notin V_c,
v\in V_c
\right\}.
$$

外部輸出邊為：

$$
O_c
=
\left\{
(u,v)\in E
\mid
u\in V_c,
v\notin V_c
\right\}.
$$

但真正邊界還包括：

$$
\partial_c
=
I_c
\cup
O_c
\cup
S_c^{\mathrm{ext}}
\cup
X_c
\cup
P_c,
$$

其中：

- $S_c^{\mathrm{ext}}$ ：外部可見或持續狀態；
- $X_c$ ：檔案、網路、資料庫、模型與 UI 等副作用；
- $P_c$ ：權限、資源與機密引用。

## 3.3 契約可表達

最低契約為：

$$
C_c
=
(
\mathcal I,
\mathcal O,
\mathcal P_{\mathrm{re}},
\mathcal P_{\mathrm{ost}},
\mathcal E,
\mathcal F,
\mathcal Q
),
$$

分別表示：

- 輸入；
- 輸出；
- 前置條件；
- 後置條件；
- 效果；
- 失敗語義；
- 品質與資源條件。

## 3.4 驗證可執行

最低驗證不必等同完整形式證明，但至少應包含：

- Schema 與型別驗證；
- 一次可重播執行；
- 已知輸入輸出測試；
- 副作用清單；
- 失敗可觀測性；
- 展開與回復能力。

---

# 4. 受約束的遞歸組合閉包

## 4.1 相對閉包而非無條件閉包

若任意積木都能任意組合，系統將快速產生型別衝突、權限洩漏、循環副作用與不可回滾狀態。

因此 RABCL 的閉包不是：

$$
\forall B_1,B_2\in\mathfrak B,
\quad
B_1\circ B_2\in\mathfrak B.
$$

而是：

$$
\forall B_1,\ldots,B_n\in\mathfrak B,
$$

若：

$$
\operatorname{TypeCompatible}
\land
\operatorname{EffectCompatible}
\land
\operatorname{PermissionCompatible}
\land
\operatorname{ContractSatisfiable}
\land
\operatorname{GovernanceAllowed},
$$

則：

$$
\operatorname{Pack}
(
B_1,\ldots,B_n
)
\in\mathfrak B.
$$

這稱為：

> **受約束的遞歸組合閉包。**

## 4.2 語言基元會成長

傳統語言的基元集合通常由語言設計者或套件作者擴充。RABCL 則允許一個經過驗證的工作流在局部環境中成為新基元：

$$
\mathcal P_{t+1}
=
\mathcal P_t
\cup
\{B_c\}.
$$

其中 $\mathcal P_t$ 是時間 $t$ 的可用積木集合。

因此，使用者與 AI 不只是使用語言，也在持續形成新的局部語言。

但這個局部語言必須具有：

- 命名空間；
- 版本；
- 相容性；
- 權限；
- 來源；
- 淘汰與回滾規則。

## 4.3 高階積木

若 $B_c$ 內部包含其他積木：

$$
B_c
=
\operatorname{Pack}
(
B_1,\ldots,B_n
),
$$

而 $B_c$ 又與其他積木組成：

$$
B_d
=
\operatorname{Pack}
(
B_c,B_{n+1},\ldots,B_m
),
$$

則形成多層封裝：

$$
B_d
\supset
B_c
\supset
\{B_1,\ldots,B_n\}.
$$

這種層級可以持續增加，但 Runtime 不應每次都展開全部深度。積木的價值正在於：只有在除錯、修改、驗證或重新演化時才按需展開。

---

# 5. 五種容易混淆的對象

## 5.1 視覺群組

只管理顯示與選取，不具有完整語義封裝。

## 5.2 工作流模板

保存一組可重建節點，但不一定具有穩定契約與執行身分。

## 5.3 子流程

具有輸入輸出，可被其他流程呼叫，但可能缺乏權威表示、證書與多代歷史。

## 5.4 封裝積木

具有身分、邊界、契約、權威表示、驗證與展開路徑。

## 5.5 演化積木

在封裝積木基礎上，另外具有：

- 實現版本族；
- 適用環境；
- benchmark；
- 證書鏈；
- 負知識；
- 回滾拓撲；
- 演化停止條件。

因此：

$$
\text{Visual Group}
\subsetneq
\text{Workflow Template}
\subsetneq
\text{Callable Subflow}
\subsetneq
\text{Encapsulated Block}
\subsetneq
\text{Evolutionary Block}
$$

這是一種功能包含關係，不表示所有產品都必須按照同一資料結構實現。

---

# 6. 與既有體系的分工

## 6.1 格子語言：提供自由封裝與操作表面

格子語言定義：

- 什麼可以被切出；
- 如何命名；
- 如何宣告端口與偶合；
- 如何折疊、展開與投影；
- 如何被人類與 Agent 定址。

因此：

$$
\text{Grid Language}
=
\text{Packaging and Operational Surface}.
$$

## 6.2 CAIR：保存權威結構

CAIR 保存：

- 節點；
- 邊；
- 端口；
- 區域；
- 型別；
- 效果；
- 約束；
- 來源；
- 提案；
- 驗證；
- 版本與回滾。

因此：

$$
\text{Canvas Projection}
\neq
P^\ast.
$$

畫布只是投影， $P^\ast$ 才是權威結構。

## 6.3 MSSP：描述積木是什麼

MSSP 負責：

- 系統身分；
- 母集與子集位置；
- 核心能力與可替換能力；
- 能力索引；
- 治理分層；
- 人類與 AI 的可理解入口。

## 6.4 RDR：讓積木真正可呼叫

RDR 負責：

- 註冊；
- 解析；
- 權限閘門；
- 依賴載入；
- 圖排程；
- Runtime 選擇；
- 執行；
- Trace 與審計。

封裝完成後：

$$
B_c
\xrightarrow{\operatorname{Register}}
\operatorname{Callable}(B_c).
$$

## 6.5 AEREC：使內部實現持續演化

AEREC 允許：

$$
F_c^{(0)}
\rightarrow
F_c^{(1)}
\rightarrow
\cdots
\rightarrow
F_c^{(n)},
$$

同時要求：

$$
F_c^{(n+1)}
\equiv_{C_c}
F_c^{(n)}
$$

或在契約變更時明確進入新的語義版本，而不是把契約漂移偽裝成最佳化。

---

# 7. 連線、封裝與執行的基本狀態機

本文先提出最小生命週期：

```text
EDITING
   │
   │ connection / selection / AI suggestion
   ▼
CANDIDATE
   │
   │ freeze mutable boundary
   ▼
QUIESCENT
   │
   │ infer boundary, ports, state, effects, contract
   ▼
ANALYZED
   │
   │ validate and review
   ▼
VALIDATED
   │
   │ atomic authority commit
   ▼
ENCAPSULATED
   │
   │ register in MSSP / RDR
   ▼
READY
```

若失敗：

```text
ANALYZED
   ├── invalid ──► EDITING
   ├── ambiguous ─► NEEDS_REVIEW
   └── unsafe ───► REJECTED
```

若需要修改：

```text
READY
   ── expand ──► EDITING_COPY／CANDIDATE_BRANCH
```

正式權威積木不應被畫布上的臨時拖動直接覆寫。

---

# 8. 主要命題

## 命題一：工作流非終局命題

工作流可以是高階積木形成前的展開態，而不必是最終保存形式。

## 命題二：連線候選命題

連線可以觸發封裝候選識別，但不能在未驗證時自動提交權威封裝。

## 命題三：群組非封裝命題

視覺群組不等同具有身分、接口、契約、權威表示與回滾能力的語義封裝。

## 命題四：雙態同一命題

展開工作流與封裝積木可以是同一權威對象的兩種操作投影。

## 命題五：受約束閉包命題

合法積木在型別、效果、權限、契約與治理條件成立時，可組合為同類高階積木。

## 命題六：局部語言成長命題

經驗證的工作流可以增加局部可用語言基元，但必須納入命名、版本、來源與相容性治理。

## 命題七：封裝後演化命題

積木的外部契約可以保持穩定，而內部實現透過 AEREC 形成多代變體與選擇。

## 命題八：可停止命題

若封裝無法安全推斷、驗證成本過高或沒有實際重用價值，系統必須允許不封裝。

---

# 9. 理論與工程邊界

本文不主張：

- 任意節點連線都能形成純函數；
- AI 可以可靠推斷所有隱藏副作用；
- 所有工作流都適合折疊；
- 視覺畫布應取代文字程式碼；
- 遞歸封裝等同無限計算；
- 積木組合可以繞過停機問題或 P/NP；
- 封裝後的效能必然提升；
- AI 可以同時生成、驗證、批准與部署；
- 第一版 MVP 應支援大型正式服務。

本文只主張：

$$
\boxed{
\text{一個具有限定邊界的工作流，可以在受約束、可驗證與可回滾的條件下，被升格為新的可組合計算單元。}
}
$$

---

# 10. 後續文件接口

本篇留下五個待展開問題。

第一，工作流連線後為何必須先不動？靜止屏障如何避免競態、半提交與邊界漂移？

第二，AI 如何推斷輸入、輸出、狀態、副作用、權限與失敗語義？哪些部分必須人工確認？

第三，積木如何具有文字語法、畫布語法、無介面語法，以及折疊與展開規則？

第四，格子語言、CAIR、MSSP 與 RDR 的資料結構如何互相映射，而不形成四份漂移真相？

第五，封裝後的積木如何接入 AEREC，在保持外部契約時持續演化，並於沒有淨收益時停止？

這些問題將分別由系列第二至第六篇處理，第七篇再完成總體統合。

---

# 結論

節點式工作流的下一個自然階段，不只是增加更多模型節點、更多連線類型或更漂亮的無限畫布，而是讓系統能夠理解：

> 一組已經形成穩定功能的節點與連線，本身可以成為新的節點。

這使語言基元不再完全由平台預先決定，而可以由人類與 AI 在實際工作中逐步形成。其基本循環為：

$$
\boxed{
\text{連接}
\rightarrow
\text{靜止}
\rightarrow
\text{分析}
\rightarrow
\text{封裝}
\rightarrow
\text{驗證}
\rightarrow
\text{註冊}
\rightarrow
\text{再次組合}
}
$$

更完整地說：

$$
\boxed{
\text{Workflow}
\rightarrow
\text{Block}
\rightarrow
\text{Primitive}
\rightarrow
\text{Higher-Order Workflow}
\rightarrow
\text{Higher-Order Block}
}
$$

這就是遞歸自適應積木組合語言的起點。

它不是「把工作流縮成一個方塊」而已，而是把已形成的計算結構提升為可命名、可呼叫、可驗證、可展開、可回滾、可再次組合並可持續演化的新語言單元。
