編排
單一代理擅長做好一件事。有些需求的格局比這更大:「研究 X 的市場並寫出一份定位文件」、「把這項功能端到端交付上線」、「稽核這個模組並修正你發現的問題」。編排就是 Control Center 處理這類需求的方式:由編排器(通常是你的 CEO 代理)提出一份整團隊計畫,你核准一次,接著由確定性的具體化器把它轉成一條負責實際執行工作的管線。
它介於現有兩種完成工作的方式之間:
提案的樣貌
標題為「提案的樣貌」的章節當你把一個目標交給編排器,它會回傳一份結構化的
OrchestrationProposal:一份有型別的計畫,讓應用程式可以驗證與執行,而不是
自由形式的散文。一份提案包含:
- 目標:你的高層次需求,以重新表述的方式呈現。
- 角色:由誰來做這些工作。每個角色不是由你挑選的現有代理,就是編排在 核准時建立的新進人員。
- 子工單:把工作拆解成由工單組成的 DAG。
- 研究 (選用):最先執行、並把結果餵給其餘階段的研究階段。
- 討論 (選用):在有界範圍內進行的一輪流程,讓每個角色在工作開始前 發表一份結構化的立場。
- 彙整:產出交付成果的最後一個步驟。
- 預算:宣告的支出上限。
你可以在哪裡檢視它
標題為「你可以在哪裡檢視它」的章節有兩個介面會顯示同一份編排。
提案卡片位於產生該計畫的對話中。它是一則訊息,會隨著整個生命週期 (已提出、執行中、已完成)重新轉譯,並在卡片上帶有核准與取消動作。
Plan Studio 則是編輯器:包含 DAG 畫布、節點檢視器、修訂版本與差異抽屜,
以及帶有預估值的核准列。它會直接從該卡片以編輯器分頁開啟。側邊欄刻意沒有
「計畫」項目;/plans 與 /plans/:kind/:id 只是供分享用的深層連結。
核准是僅限操作者的動作。它沒有對應的 MCP 工具:代理可以提出提案
(propose_orchestration)、提交計畫(submit_plan)或具現化 playbook
(run_playbook),但只有人類能核准。代理發起的修訂版本另受兩分鐘冷卻時間的
速率限制,因此重新規劃的迴圈會合併處理,而不是淹沒你的動態。
在核准之前你能更動的內容,就是節點檢視器所揭露的項目:重新命名或改寫子工單、 變更它由哪個角色擁有、重新連接它的相依項、編輯它的輸出結構描述,或直接 刪除該節點。結構性節點(研究、討論、彙整)以及已經執行過的節點都是唯讀。你不能 把角色固定到某個特定的具名代理,也不能從編輯器編輯預算。
一份計畫有兩個編輯器同時編輯時,是以樂觀並行控制解決,而不是合併。每次編輯都會
帶上它所依據的 base_revision;以過期修訂版本為基礎的編輯會以「計畫已繼續推進」
遭到拒絕,而不是悄悄覆蓋別人的變更。回溯也不是刪除——它會把較早的提案附加成
新的修訂版本,因此修訂時程只會不斷增長。
誠實的預估,否則就不預估
標題為「誠實的預估,否則就不預估」的章節核准列上的預估值,是以每個角色真實的已完成執行歷史為基礎,並以四分位距 (p25–p75)區間呈現。成本總計會加總可預估的節點;所需時間則是 DAG 中的 關鍵路徑,而不是加總(平行分支會重疊)。
某個節點的角色若沒有已完成執行的歷史,會回報 sampleSize: 0 與 null 範圍。
這會如實呈現為——未知——而絕不會是捏造出來的單點數值,因為無法信任的預估比沒有
預估更糟。當有些節點有歷史、有些沒有時,總計會標示為部分。影響範圍只有在節點
宣告了 symbol 或 file 出處參照時才會出現;沒有這些參照的節點會維持「未知」,
而不會從散文中推測。
一次核准,接著確定性地執行
標題為「一次核准,接著確定性地執行」的章節核心概念是:**代理負責規劃;確定性的函式負責執行。**當你核准時,
OrchestrationMaterializer(一個沒有 LLM、沒有 I/O 的純函式)會把提案轉成
一條真正的管線。給定相同的提案與相同解析出的角色,
它永遠會產生相同的 DAG。這很重要,因為生成的管線會免費繼承引擎已經具備的一切:
跨重新啟動的暫停與繼續、當機復原、每次執行的成本與 token 彙總,以及執行詳細
資料介面。
核准也會建立工作所需的鷹架:
- 聘僱任何標記為新增的角色(並記錄已聘僱的代理 id,讓核准途中當機時能 繼續,而不會重複聘僱)
- 一個用來歸組這些角色的團隊
- 一個用來歸檔父工單的專案
- 驅動這一切的管線範本 + 執行
生命週期
標題為「生命週期」的章節proposed → approved → executing → synthesizing → completed ↘ ↘ failed ↘ ↘ cancelled| 狀態 | 意義 |
|---|---|
proposed |
計畫已就緒,正在等待你那一次的前置核准 |
approved |
你已核准;具體化正在進行(聘僱、團隊、專案、管線) |
executing |
生成的管線正在執行:子工單、討論、工作 |
synthesizing |
子工單已完成;彙整步驟正在產出交付成果 |
completed |
完成:父工單已標示為完成,交付成果已張貼於共用空間 |
failed |
具體化失敗,或生成的管線執行失敗 |
cancelled |
你取消了它 |
單調遞增的修訂版本編號會追蹤提案,因為編排器會在它仍處於 proposed 時修訂
它;應用程式會記錄你核准的是哪個修訂版本。一旦狀態不再是 proposed,
propose_orchestration 就會拒絕修訂。
一份編排一律以父工單為對象開啟,並共用一個討論空間,因此整項工作可 追溯到單一工作項目,團隊也都在同一個房間裡對話。
完成之後會發生什麼事
標題為「完成之後會發生什麼事」的章節一個常駐的監聽器會監看生成的管線,並把它的終態映射回編排與父工單,因此完成與 失敗會浮現在你本來就會關注的地方。編排功能不需要自己的執行引擎。
你隨時可以取消編排;取消會拆除正在進行中的工作。
另請參閱
標題為「另請參閱」的章節- 管線與自動化:具體化後的編排所運作的引擎
- 工單與委派:編排所錨定的父工單
- 代理模型:編排所填補或聘僱的角色
- 執行編排
- 在 Plan Studio 中工作