Bot Dean

OpenClaw 多模型工作流實戰(2):規格、實作、測試,怎麼分工才不會互相打架?

在上一篇裡,我先談了一個比較偏觀念層的問題:多模型協作的重點不是模型多,而是任務切得對。這一篇,我想把問題往前推一步。因為真正進到 OpenClaw 的實際使用後,最麻煩的地方通常不是你接了幾個模型,而是你到底怎麼把分工做出來。

示意圖:OpenClaw 先開不同 session,讓規格、實作與 review 分段處理。
示意圖:OpenClaw 先開不同 session,讓規格、實作與 review 分段處理。

換句話說,問題不再是「我今天要用哪個模型」,而是:

  • 我要不要先開一個專門補規格的 session?
  • 什麼時候該切模型?
  • 什麼時候不該切?
  • 哪些任務能平行,哪些任務一定要串接?
  • 如果有多個模型接力,交接點要怎麼設才不會互相打架?

所以這一篇不只是談抽象分工原則,而是談我怎麼在 OpenClaw 裡,透過 session、skill 與模型切換,把多模型協作真的做成一條可用的工作流。

我的基本原則:先決定角色,再決定模型

示意圖:在 skill 裡明確定義模型切換,能讓整條工作流更穩定。
示意圖:在 skill 裡明確定義模型切換,能讓整條工作流更穩定。

我現在不太會先想「這次要用哪個模型」,而比較會先想「這一輪要做的是哪一種角色的工作」。

因為如果你一開始就先想模型,最後很容易變成:今天直覺覺得這個模型比較強,就把整包都丟給它;下一次又換另一個模型試試看。表面上好像很靈活,實際上 workflow 會非常不穩,也很難複用。

我現在比較穩定的做法,是先判斷這一輪工作的角色到底是什麼:

  • 是在補規格嗎?
  • 是在主實作嗎?
  • 是在測試與 review 嗎?
  • 還是在做最後驗證與決策?

角色先定,模型才好選。這個順序很重要,因為它會直接決定你到底是在建立一條工作流,還是只是每次憑感覺換模型。

示意圖:簡單任務與複雜任務,需要不同程度的多模型分工與交接設計。
示意圖:簡單任務與複雜任務,需要不同程度的多模型分工與交接設計。

我怎麼先叫 OpenClaw 開一個 session,專門做規格整理

只要任務不是非常單純,我現在通常不會一開始就叫某個擅長執行的模型直接下去做。我更常做的,是先讓 OpenClaw 開一個獨立 session,專門負責規格整理。

這個 session 的工作不是直接產出最後成果,而是先把後面的路鋪平。它通常要處理的是:

  • 收斂需求
  • 補完規格
  • 明確列出輸入與輸出
  • 確認限制條件
  • 定義驗收標準
  • 判斷後面到底要不要切模型、要怎麼切

這一步看起來像是「還沒開始做事」,但其實它是整條工作流穩不穩的關鍵。因為規格整理和主實作,本來就是兩種完全不同性質的工作。前者偏理解與收斂,後者偏執行與產出。如果把兩件事塞進同一個 session,很容易讓主實作模型一邊做、一邊猜,一邊產出、一邊補腦,最後速度看起來很快,但方向常常會偏。

所以我現在會刻意把這兩種工作拆開。規格 session 的目的不是做出成果,而是讓後面的成果有清楚邊界。

為什麼我會把規格 session 和實作 session 分開

這種拆法不是形式問題,而是實務上真的比較穩。

第一個原因是,上下文會比較乾淨。規格整理需要的上下文,和主實作需要的上下文不完全一樣。前者要看的,是需求、限制、風險、驗收條件;後者要看的,是已經收斂好的規格、可執行的步驟、明確的輸出要求。把它們分開後,每個 session 都能比較聚焦。

第二個原因是,任務邊界會比較清楚。規格 session 負責把問題講清楚,實作 session 負責照著問題去做。這樣如果後面出問題,你比較容易知道是規格漏了、實作偏了,還是 review 沒抓到。

第三個原因是,這樣比較容易換模型。當角色切清楚後,你就能根據不同階段的需求,決定要不要切換模型,而不是讓同一個模型同時扮演 analyst、implementer 和 reviewer。這不只是模型能力的問題,也是成本控制的問題。

對我來說,切 session 不是為了讓操作看起來比較進階,而是為了讓 handoff 更乾淨。

因為每個 session 本質上都是獨立對話,所以我會把它想像成一種文件交接:第一個人先把需求、限制與驗收標準整理清楚,再交給下一個人接手。在沒有完整上下文的情況下,這份交接文件就必須夠清楚。

乍聽之下,好像會增加接手成本,因為下一個模型或 Agent 還是要重新理解一次狀況。但這其實正是 workflow 穩不穩定的關鍵。如果一條工作流真的設計得夠穩,那麼不管工作進行到哪裡,只要交接規格夠完整,換一個 AI 模型或另一個 Agent 接手時,也應該能得到相近的理解,並沿著同樣的方向實作下去。

真正該被保留下來的,不是上一個 session 的零散上下文,而是能讓下一棒穩定接手的規格。

我怎麼在 skill 裡明確指定模型切換

如果某一種 workflow 已經跑過幾次,模式開始穩定,我就不會每次都臨場決定模型怎麼切。這時候比較合理的做法,是把某些切換條件直接寫進 skill 裡。

這樣 OpenClaw 接到任務後,就不用每次重新猜:

  • 哪個階段該用哪個模型
  • 為什麼這一段要切模型
  • 切換的條件是什麼
  • 什麼情況下其實不需要切

例如我會把工作流想成幾個明確階段:

  • 規格整理階段:需要理解、補完、收斂,適合較擅長思考與整理的模型
  • 主實作階段:需要速度與執行力,前提是規格夠清楚
  • review / 測試階段:需要比對規格與輸出,適合擅長檢查與驗證的模型

這樣做的重點不是炫技,而是因為不同模型的能力與成本差異真的很大。如果 skill 裡不把這些條件說清楚,最後很容易變成:花了更多錢、等了更久,結果還不一定更準。

對我來說,在 skill 裡明確指定模型切換,比事後補救便宜很多。因為一旦 workflow 固化,模型切換其實就是整條流程的一部分,而不是每次都要重新發明的臨時判斷。

一個完整任務,怎麼從 A 模型交給 B 模型,再交給 C 模型

如果要用最簡單的方式描述我現在比較穩定的做法,大概就是這樣:

  • Session A:規格與計畫
  • Session B:主產出
  • Session C:測試與 review
  • 最後回到 A 或主控 session:做最終驗證

Session A 不直接做最後成果,而是先把需求、限制、輸出格式與驗收標準講清楚。Session B 再根據這份規格主產出,不負責重新定義問題。Session C 則依照原本規格回頭檢查,找出漏掉的需求、邏輯錯位或品質問題。最後如果有爭議,就回到最初負責補規格的那一段,確認是規格有洞,還是實作偏掉。

這種做法的重點,不是讓三個模型一起做,而是讓每一段只處理自己該處理的角色。多模型協作比較像接力,不像大亂鬥。

簡單任務怎麼處理?以排程或固定工作為例

不是每個任務都值得開一整條完整的多模型管線。像排程、提醒、固定整理工作這一類任務,我通常會做得比較輕。

例如你叫 OpenClaw 幫你整理一週行程、排內容發佈節奏,或把一組待辦轉成固定時間配置,這種工作通常規則相對清楚,重點在於條件有沒有講明白,而不是模型有沒有超強推理能力。

這種情況下,我更可能會這樣做:

  • 先用一個輕量 session 把條件補清楚
  • 直接交給適合執行的模型產出排程結果
  • 最後再用一個簡單 review 檢查衝突、遺漏與格式問題

這裡的關鍵不是把任務拆得多漂亮,而是交接成本值不值得。如果這種簡單任務還硬要切三個模型、四個 session,有時候只是把事情搞得更麻煩。簡單任務的重點是乾淨,不是華麗。

文章工作流怎麼處理?這其實就是一條很典型的接力鏈

文章工作流是一個很好理解的中等複雜度例子。因為它很少是一個模型一次做完所有事情,而比較像一條自然的接力鏈。

在我最近的流程裡,比較常見的拆法會是:

  • 先讓某個 session 整理主題、讀者、風格、輸出格式,補出文章規格與大綱
  • 再讓另一個階段主寫作,把草稿真正產出來
  • 接著讓 review 或 editing 角色回頭檢查是否偏題、節奏是否合理、結構是否順
  • 最後再進到配圖、審稿、分類與發布流程

這裡很重要的一點是:如果一開始就叫主寫作模型自己補主題、自己定大綱、自己寫、自己審,很容易一次做很多事,但每一件都不夠穩。拆開後,流程反而更容易控。這也是為什麼我會把文章工作流看成多模型協作很適合發揮的場景。

複雜開發任務怎麼處理?越複雜,越不能一開始就平行亂跑

如果是複雜開發任務,這個問題會更明顯。像一張需求單牽涉多個模組、需要改多個檔案、還要補測試與驗證影響範圍時,最危險的做法就是一開始就讓多個模型平行下去改。

因為這種情況下,如果規格還沒收斂,每個模型都會用自己的理解去補空白。最後不是更快,而是更容易互相打架。有人改了 A 模組,以為問題解了;另一個人改了 B 模組,卻基於不同版本的需求;最後你拿到的是多份互相不完全相容的輸出。

所以對這種任務,我反而更會堅持先收斂規格。越複雜的任務,越要先把邊界講清楚;越複雜的任務,越不能讓所有人同時碰同一份核心輸出。多模型不是不能平行,而是平行前要先切出足夠清楚的邊界。

什麼情況可以平行?什麼情況一定要串接?

這裡我自己有一個很實用的判斷標準:能平行的是獨立子任務;必須串接的是共享核心輸出的任務。

例如這些情況比較適合平行:

  • 一個模型整理參考資料
  • 一個模型準備測試案例
  • 另一個模型整理風險清單或待確認問題

這些子任務彼此邊界清楚,即使平行也不容易互相覆蓋。

但如果是這些情況,我通常就不會輕易平行:

  • 同一份文章主稿
  • 同一份核心規格
  • 同一份主要程式輸出
  • 需求尚未收斂的複雜任務

這種任務如果同時多人碰,表面上是在加速,實際上常常只是把整合成本往後延。真正穩的做法,是先串接、再交接,而不是一開始就全員下場。

Agent 真正的角色,不是自己把事做完,而是安排誰上場

如果要說 OpenClaw 在這裡最有價值的地方,我會說它不是讓我「多接幾個模型」而已,而是讓我能把不同模型放到對的節點。

不是每個模型都知道自己什麼時候該停、該交接、該 review。也不是每個任務都會自然長成一條穩定 workflow。這時候 Agent 的價值就出來了:它比較像一個 team lead 或 workflow orchestrator,負責決定誰先上、誰後上、什麼時候切 session、什麼時候切模型、哪一段該驗證、哪一段該收斂。

所以對我來說,Agent 不是一個「最強模型替代品」,而是一個工作流調度者。真正穩的,不是它自己把所有事做完,而是它知道下一棒該交給誰。

結語:真正穩的不是同時做,而是交接點清楚

如果第 1 集在講的是「多模型協作的重點是任務切得對」,那這一篇更想講的是:任務切對之後,真正穩的不是同時做,而是交接點清楚。

對我來說,多模型協作最實用的樣子,不是同時開很多模型,把畫面弄得很熱鬧;而是透過不同 session 與不同角色,把規格、實作、測試、回審切成一條清楚的接力鏈。每一段只處理自己該處理的事情,整條 workflow 才會穩。

下一篇,我會接著講更現實的問題:這套方法不是每次都值得開。什麼時候多模型協作真的有效?什麼時候其實只是浪費 token?我會用比較完整的實戰判斷標準,把這條線收完整。