三種不同的任務調度模型
三個功能解決同一個問題:任務大到單一對話視窗無法容納時,如何處理?差別在於計畫由誰掌控。**Dynamic Workflows(動態工作流)**將計畫寫入一支 JavaScript 腳本,由 runtime 在背景執行,腳本本身掌握迴圈、分支與中間結果,Claude 的 context 只接收最終答案。Ultracode 是一個 effort 設定,啟用後 Claude 會自動替每個有份量的任務規劃工作流,無需每次手動觸發。Ultraplan 將規劃步驟移至雲端,讓使用者在瀏覽器中逐段評審計畫。
理解工作流的關鍵,在於與 subagent、skill 的比較。三者都能執行多步驟任務,但計畫的存放位置完全不同,這也決定了各自能支援的任務規模。
| 面向 | Subagents | Skills | Workflows |
|---|---|---|---|
| 本質 | Claude 派出的工人 | Claude 遵循的指示 | runtime 執行的腳本 |
| 誰決定下一步 | Claude,一回合一回合 | Claude,照著 prompt | 腳本本身 |
| 中間結果住在 | Claude 的 context | Claude 的 context | 腳本變數 |
| 可重複的是 | 工人的定義 | 那段指示 | 整套編排本身 |
| 規模 | 每回合幾個 | 同 subagents | 單次數十到上千個 |
因為中間結果存於腳本變數而非 context,工作流可套用「可重複的品質模式」:讓多個獨立 agent 交叉審查彼此的發現再回報,或從多個角度各擬一版計畫後互相比對。這種多 agent 對抗驗證的結果,比單次 pass 更可信。
A workflow moves the plan into code. 工作流把「計畫」搬進程式碼裡。
三大功能的啟用指令速查
前提:Claude Code v2.1.154 以上,功能處於 research preview。所有付費方案皆可用;Pro 方案需到 /config 的「Dynamic workflows」列把它打開。下面是三大功能與相關指令的速查。
觸發 · 01
workflow(關鍵字)
單次開工作流
prompt 任何位置含 workflow 這個字,Claude 就替這個任務寫一支工作流,不改變 session 的 effort。
觸發 · 02
/deep-research
內建研究工作流
最快體驗工作流的方式:跨多角度搜尋、交叉查證、投票過濾,回傳附引用的報告。
監看 · 03
/workflows
進度監看台
列出進行中/已完成的工作流,進去看每個 phase 的 agent 數、token、耗時,並可暫停、停止、存檔。
自動 · 04
/effort ultracode
讓 Claude 自己決定
把 effort 設為 xhigh,並讓 Claude 自動判斷何時該開工作流。只在本 session 生效。
雲端 · 05
/ultraplan
雲端規劃
/ultraplan <需求> 把規劃丟到 Claude Code on the web 的 plan mode,瀏覽器裡逐段評審。
存檔 · 06
s 鍵(於 /workflows)
變成可重用指令
滿意的工作流選起來按 s,存到專案 .claude/workflows/ 或個人 ~/.claude/workflows/,日後用 /<名稱> 呼叫。
取消 · 07
alt+w
忽略誤觸
不小心打到 workflow 被高亮時,按 alt+w 這回合忽略,或在該字後按 backspace。
關閉 · 08
disableWorkflows
整個關掉
/config 切掉、或設 "disableWorkflows": true、或環境變數 CLAUDE_CODE_DISABLE_WORKFLOWS=1。關閉後 ultracode 也會從 /effort 選單消失。
關閉工作流的三種方式
# 1. 寫進使用者設定(跨 session 持續)
~/.claude/settings.json → "disableWorkflows": true
# 2. 環境變數(啟動時讀取)
export CLAUDE_CODE_DISABLE_WORKFLOWS=1
# 3. 互動式:在 /config 把 Dynamic workflows 切為 off
/configruntime 在背景執行編排腳本
當你含關鍵字或叫 Claude 寫工作流時,它會產生一支 JavaScript 編排腳本,由 runtime 在獨立於對話的環境背景執行,你的 session 仍可繼續用。腳本用幾個原語組裝:agent() 派一個 subagent、parallel() 一批同時跑(會等全部完成)、pipeline() 讓每個項目獨立走完所有階段、phase() 分組進度。
體驗工作流最低風險的方式是執行內建的 /deep-research。它在背景分階段 fan-out 搜尋、交叉查證來源、對每條主張投票,未通過查證的主張會被過濾,最終輸出附引用的報告,而非逐回合的對話記錄。
# A. 關鍵字:prompt 含 workflow 即觸發(單次)
Run a workflow to audit every API endpoint under src/routes/ for missing auth checks
# B. 內建研究工作流
/deep-research What changed in the Node.js permission model between v20 and v22?
# C. 直接叫它寫一支
請建立一個 workflow,掃描整個 repo 找出未處理的 Promise rejection 並逐一驗證用 /workflows 監看與操控
工作流在背景跑,隨時 /workflows 列出所有 run,選一個按 Enter 進去看進度。每個 phase 顯示 agent 數、token 總量、耗時。footer 的快捷鍵如下:
| 按鍵 | 動作 |
|---|---|
↑ / ↓ | 選擇 phase 或 agent |
Enter / → | 鑽進該 phase,再進 agent 看它的 prompt、近期工具呼叫與結果 |
Esc | 退回上一層 |
j / k | agent 細節溢出時上下捲動 |
p | 暫停 / 繼續整個 run |
x | 停掉選中的 agent;焦點在 run 上時停整個工作流 |
r | 重啟選中的執行中 agent |
s | 把這個 run 的腳本存成可重用指令 |
執行前的核准與權限
在 CLI,啟動前會先顯示規劃好的 phases 與選項:Yes, run it(開跑)、Yes, and don't ask again(本專案這個工作流以後不再問)、View raw script(Ctrl+G 用編輯器開腳本)、No(取消);按 Tab 可在開跑前微調 prompt。要注意:工作流派出的 subagent 一律以 acceptEdits 模式跑、繼承你的工具 allowlist,檔案編輯自動核准;不在 allowlist 的 shell、web fetch、MCP 工具仍可能中途跳出詢問。
限制與可續跑
runtime 的硬限制:同時最多 16 個 agent(CPU 核心較少的機器更低)、單次最多 1,000 個 agent(防止失控迴圈)。腳本本身不能直接讀寫檔案或執行 shell 指令,這些操作由 agent 負責,腳本只負責調度。工作流不接受中途使用者輸入;若需要逐階段人工確認,請將每個階段拆為各自獨立的工作流。run 在同一個 session 內可續跑:已完成的 agent 回傳快取結果,其餘重新執行。關閉 Claude Code 後,下次將從頭開始。
由 Claude 自動判斷是否啟動工作流
Ultracode 是一個 Claude Code 設定,把 xhigh 推理 effort 與自動工作流編排綁在一起。打開後,Claude 會替每個有份量的任務主動規劃工作流,不必你說。一個請求可能連開好幾支工作流:一支理解程式碼、一支做修改、一支驗證。
# 開啟(只在本 session 生效)
/effort ultracode
# 回到日常工作,降回一般 effort
/effort high因為它對 session 裡每個任務都套用,每個請求都會比低 effort 吃更多 token、花更久。它只在新 session 重置,所以做完大任務記得切回 /effort high。Ultracode 只在支援 xhigh effort 的模型上出現(否則 /effort 選單不會列它);工作流被整個關閉時,ultracode 也會從選單消失。
Effort 等級與工作流的關係
| Effort | 推理深度 | 會自動開工作流嗎 | 適用 |
|---|---|---|---|
high(預設) | 自適應 | 否 — 只有含 workflow 關鍵字才開 | 多數日常編碼 |
xhigh | 更深 | 否 — 一樣只靠關鍵字 | 需要更強推理的單一任務 |
ultracode | xhigh | 是 — 每個有份量的任務都自動判斷 | 大型重構、難決策、不在乎成本時 |
在瀏覽器中評審雲端規劃結果
Ultraplan 將規劃任務從本機 CLI 交給 Claude Code on the web 的 plan mode 執行。Claude 在雲端擬定計畫,本機終端機同時可繼續使用。計畫完成後,可在瀏覽器中針對個別段落留言、要求修訂,再決定在哪裡執行。適合需要比終端機更完整評審介面的情境,支援 inline comment、emoji 反應與大綱側欄跳轉。
CLI 發動
雲端擬計畫
瀏覽器評審
雲端執行 或 傳回終端
# A. 指令
/ultraplan migrate the auth service from sessions to JWTs
# B. 關鍵字:一般 prompt 含 ultraplan
我需要一個 ultraplan 來重構整個資料庫層
# C. 從本機計畫轉雲端:在核准對話框選
No, refine with Ultraplan on Claude Code on the web終端機的狀態指示
雲端 session 啟動後,CLI 的輸入列會顯示狀態。可用 /tasks 選 ultraplan 項目,打開含 session 連結、agent 活動與「Stop ultraplan」的詳情。
| 狀態 | 意思 |
|---|---|
◇ ultraplan | 正在研究你的程式碼、擬計畫 |
◇ ultraplan needs your input | 有澄清問題;開連結回答 |
◆ ultraplan ready | 計畫好了,到瀏覽器評審 |
計畫批准後,在哪裡執行
評審滿意後,從瀏覽器二選一:Approve Claude's plan and start coding — 在同一個雲端 session 實作,完成後 review diff、開 PR;或 Approve plan and teleport back to terminal — 把計畫傳回正在等待的終端機。傳回後終端會跳出「Ultraplan approved」對話框,三個選項:Implement here(注入目前對話繼續做)、Start new session(清空、只帶計畫重開)、Cancel(存成檔案、印出路徑,日後再用)。
可直接套用的範例與最佳實踐
以下八張卡片涵蓋範例 prompt、適用情境與最佳實踐,全部依據官方文件。核心原則:描述「階段與目標」,不要描述「派幾個 agent」,編排由 Claude 決定。
範例 · 全庫稽核(Workflow)
「workflow 掃描 src/ 下所有 API 端點,找出缺少權限檢查的,並讓獨立 agent 對每個發現各自驗證後再回報。」
適用 · 大範圍掃描
範例 · 大型遷移(Workflow)
「建立一個 workflow,把 200 個路由從 callback 改寫成 async/await,每個檔案獨立走『改寫 → 跑測試 → 修正』。」
適用 · 500 檔級遷移
範例 · 交叉查證研究
「/deep-research 比較 2026 年三大向量資料庫的一致性保證,來源要彼此交叉查證。」
適用 · 多來源研究
最佳實踐 · 先跑 /deep-research 探路
不確定工作流適不適合時,先跑內建的 /deep-research 看它怎麼運作。如果模式不對,你也沒白寫一支自訂腳本。
官方建議
最佳實踐 · 跑成功就存起來
一個你每條 branch 都要跑的流程(例如上線前審查),在 /workflows 按 s 存成 /<名稱>,以後每次跑同一套編排。
可重用化
最佳實踐 · 先顧好 token 與模型成本
工作流會派出多個 agent,單次 token 用量可能明顯高於一般對話。大型執行前先用 /model 確認目前模型;並告知 Claude「不需要高階模型的階段改用較小模型」以降低成本。
成本控制
最佳實踐 · 長跑前先放行工具
不在 allowlist 的 shell / web / MCP 工具會中途跳出詢問,打斷無人值守的長跑。開跑前先把 agent 需要的指令加進 allowlist。
無人值守
範例 · 難架構先 Ultraplan
「/ultraplan 設計月費訂閱的對帳流程,含 schema、邊界案例與測試。」用瀏覽器逐段留言修訂,定案後再 teleport 回終端實作。
適用 · 複雜規劃
情境:上線前的安全清查。給它測試案例或預期結果,agent 才能自我過濾誤報。
最佳實踐:這種「每項目各自走完多階段」用 pipeline() 最省時,不必等整批。
情境:需要可信、有引用的調查。沒撐過查證的主張會被自動濾掉。
語意越具體越好:「含測試與 schema 更新」比「修一下 auth」更能產生完整計畫。
三個功能協同使用的完整流程
以下是示意流程(用於說明指令與狀態,非實測逐字稿):你要為一個服務加上 OAuth2。先用 ultraplan 在雲端擬計畫、評審後傳回終端,再開 ultracode 讓 Claude 自動分工作流實作與驗證。
$ You › /ultraplan 為 auth 服務加上 OAuth2,含測試與 DB schema 更新
hl: ◇ ultraplan 研究 codebase、擬計畫中…(終端機空出來可做別的事)
hl: ◆ ultraplan ready → 開瀏覽器連結評審
claude: Ultraplan approved ›
Implement here / Start new session / Cancel
$ You › Implement here
$ You › /effort ultracode
$ You › 照計畫實作 OAuth2。
hl: workflow 1/3 理解現有 auth 架構(parallel readers)
hl: workflow 2/3 實作 OAuth2 + rotating refresh token(pipeline)
hl: workflow 3/3 獨立 agent 對抗驗證 + 跑測試
$ You › /workflows
ok: DONE — OAuth2 已實作,測試通過,工作流可按 s 存成 /add-oauth 重用。
$ You › /effort high ← 回到日常,降回一般 effort
Ultraplan 確定計畫內容, Workflows 以大規模 agent 執行, Ultracode 自動判斷何時啟動工作流。
使用限制、成本與邊界條件
進階使用建議與官方文件
**1. 先用 /deep-research 建立直覺。**這是體驗工作流最低風險的入口,看懂它的 phase、交叉查證與報告長相,再去寫自己的。
**2. 把重複流程存成指令。**每條 branch 都要做的審查、每次發版的檢查,跑成功後在 /workflows 按 s 存成 /<名稱>,團隊版放 .claude/workflows/ 進 repo 共用。
**3. 規劃用 Ultraplan、實作用 Ultracode、審查用 Ultrareview。**三個「ultra」各司其職:/ultraplan 在雲端擬計畫、ultracode 自動分工作流實作、/code-review ultra(ultrareview)在雲端用一支 reviewer 隊伍做 pre-merge 把關。
**4. 執行前確認成本。**大型任務前先用 /model 確認目前模型,把不需要高階模型的階段指定為較小模型;ultracode 執行完畢後切回 /effort high。
官方文件
① Dynamic Workflows:工作流的完整運作、限制、存檔與關閉。 ② Ultraplan:雲端規劃的發動、評審與執行選項。 ③ Model configuration:effort 等級與 ultracode 的設定位置。
描述「階段與目標」, 讓 Claude 決定編排, 不要替它指定派幾個 agent。