← 回總覽 · 13 篇研究

SIEVE 一晚五篇 · C

多步驟 LLM 工作流為什麼每次跑都不一樣:逐節點變異分解與深度放大律

Workflow Instability Decomposition: Per-Node Variance and a DAG-Depth Amplification Law for Multi-Step LLM Workflows

WATCH 評分 73 9 頁

2026-06-17 · 200 個隨機工作流的地面真值模擬 · LangGraph / n8n / DSPy 類架構

PDF

原文:Workflow Instability Decomposition

9 頁 · 135 KB · PDF

64 個 macro;含逐節點變異分解的可識別性結果與深度放大律。

開啟 →

這一篇最後被自己評為 WATCH(不推進、留著觀察),理由是真實世界的證據太薄——方法本身站得住,但目前只有模擬支持它。把它放進這個成果集,正是因為它示範了「不夠好就標不夠好」。

01這篇在問什麼

不穩定性不是一個數字,是一組數字。

生產環境的 LLM 工作流是一張有向無環圖(DAG):模型呼叫、解析器、路由器串在一起。同一個輸入每次跑出不同答案,實務上被當成單一的討厭鬼,處理方式是全域把溫度設 0 —— 但這樣連有用的多樣性也一起殺掉了。

WID(Workflow Instability Decomposition) 做的是分解:在一組明確的假設下(線性可加的結構模型、節點噪音獨立、DAG 固定、輸出是有限純量),用全變異數定律的恆等式,把端到端輸出變異歸因給每個節點與每種節點類型。

外加一條深度放大律:一個擬合出來的每邊係數 g,描述「注入在越深處的抖動,落到輸出時權重越大」的程度。

估計量是觀察式的 —— 它從重複執行的紀錄擬合局部的輸入輸出映射,從不使用任何地面真值參數。所以這個程序可以從我的模擬器搬到真實 pipeline 上。

02在 DAG 的不同深度注入抖動,看它怎麼被放大

同樣大小的噪音,注在越深的節點,落到輸出的權重越大。這是本篇的深度放大律。

03結論與關鍵數字

64 個 macro。

1.7%
回收注入的逐節點變異佔比的中位相對誤差 · \RecoveryNodeRelErr
0.05%
非可加性(交互作用)殘差佔總變異的比例 · \InteractionResidAbsRel
200
地面真值模擬掃描的隨機工作流數 · \RecoveryNworkflows

主要貢獻是方法與可識別性結果,不是某個實證發現。在有地面真值的模擬上,估計量能把注入的變異佔比回收到中位 1.7% 的相對誤差,留下的交互作用殘差只佔總變異的 0.05%。

04產線

與其餘四篇共用同一條軌道。

環節工具備註
選題SIEVE 題庫(38 題排名)從既有題庫挑 S2 已過的候選,不是臨時想的
規格SPEC.md動工前先寫死主張、資料、統計、kill 條件
統計核心Python 標準函式庫不用 numpy / scipy —— 依賴越少,別人越容易重跑
測謊器test_*.py寫在方法本體之前
數字入稿scripts/make_macros.pyresults JSON → LaTeX macro,正文零手打數字
排版tectonic終端機直接編譯
對抗審查_orchestrator/codex_review.sh叫 Codex(GPT-5.5)當敵意審稿人
獨立複驗_orchestrator/verify_paper.shorchestrator 重跑測試、重編 PDF、掃關鍵字與引用

本篇多一支 run_all.sh —— 一行指令跑完整套模擬掃描與分析。

05關卡與交付物

gates/ 下 7 個檔案(本篇沒有 G6,見限制)。

G0

主張卡 + 拒稿信

PASS
G1

新穎性

掃 LangGraph / n8n / DSPy 生態的既有做法

PASS
G2

資料

模擬器產生的重複執行紀錄

PASS
G3

統計測謊器

含平坦虛無假陽性率檢查

PASS · 抓到閘門誤校準
G4

分析

results JSON ×4

PASS
G5

論文

9 頁

PASS
G6

交付前

本篇自評 WATCH,未推進到最終關

未執行

06測謊器抓到自己的顯著性閘門是壞的

這是本篇最有價值的一段。

擬合器會在平坦噪音上發明斜率

背景

深度放大係數 g 是擬合出來的。擬合器出了名地會在純噪音上擠出斜率,所以必須有一道顯著性閘門擋著。

第一版

用置換檢定(permutation)當閘門。在嚴格的平坦虛無上,假陽性率是 9.3%,名目是 5% —— 閘門本身是壞的

原因

深度點在同一個工作流內部是叢集的,而且變異隨深度不同(異質變異),置換檢定的交換性假設不成立。

修正

改用叢集(階層)拔靴法當閘門,假陽性率降到 4.0%(嚴格虛無)/2.7%(一般虛無)。

重點在於:這個錯誤是自己的測謊器抓到的,不是審稿人抓到的。如果沒有先寫「在沒有訊號的資料上,方法必須什麼都不報」這支測試,這篇會帶著一個 9.3% 假陽性率的閘門出去。

07對抗審查與自我降級

這篇最誠實的一句話在論文裡。

「LLM 節點主導變異」這個發現是假的發現

數字

模擬中 LLM 節點佔了 71.7% 的變異預算,看起來是個有力的實證結論。

問題

但那是我在建模擬器時自己設定進去的。方法只是把它回收出來而已。

處理

論文明白標示「合成資料上的主導現象是內建選擇的回收,不是發現」。

最終自評 WATCH:方法與可識別性成立,閘門修好了,但真實世界的證據太薄 —— 只有模擬,沒有生產環境的資料。在我的評分制度裡,「誠實卡在 WATCH」比「包裝成 GO」的分數高。

08誠實限制

假設很強

線性可加結構、節點噪音獨立、DAG 固定、輸出是有限純量。真實工作流不一定滿足這些。論文把假設寫在方法段的第一句,不是附錄。

沒有真實資料

整篇的證據都來自自建模擬器。這是它被評為 WATCH 的主因。

09產出物

一行跑完整套模擬與分析
$ cd ~/Desktop/sieve-papers/C-workflow-instability
$ bash run_all.sh
~/Desktop/sieve-papers/C-workflow-instability/paper/main.pdf
9 頁論文
…/workflow_instability/
分解估計量與模擬器
…/run_all.sh
一鍵重跑
~/Desktop/sieve-papers/_orchestrator/codex_review_C-workflow-instability.txt
Codex 敵意審查全文

一篇被自己標成 WATCH 的論文,比一篇被包裝成 GO 的論文更能說明這套產線在做什麼。

← Flaky Quarantine總覽Judge Drift →

PAPER 07 · Workflow Instability Decomposition · SIEVE C