生活分享

子代理與工作分工

子代理適合把能獨立完成的工作分開處理,再由主要任務整合結果。分工會增加模型與工具用量;若工作互相依賴、都要改同一段程式,平行處理反而可能產生衝突。

閱讀時間約 15 分鐘 · 操作 20 分鐘

實作順序示意圖,非產品介面截圖。
圖片:Mokaair (© Mokaair)
本篇目錄
  1. 目標與準備
  2. 步驟 1:先確認材料與基準
  3. 步驟 2:用明確要求啟動兩個子代理
  4. 步驟 3:查看活動、補充條件與停止
  5. 步驟 4:核對結果,而不只計算完成數
  6. 進一步:保存狹義的自訂角色
  7. 常見問題、邊界與下一步

目標與準備

本段提到的教學與資源:

子代理是主任務委派出去的工作者,負責明確的一部分,再把結果交回來。它不是另一個自動隔離的 Git 儲存庫,也不是多開兩個視窗就會自動互相協調。適合並行的工作必須各自有輸入、範圍與成果,而且不必等待另一個子任務先改好檔案。這次兩個人都只讀,因此不需要讓他們競爭同一份程式碼的寫入權。

步驟 1:先確認材料與基準

在自己的完整參考副本打開 index.html、style.css、app.js、core.mjs、core.test.mjs 五個檔案。不要開到故意有錯的 start 或 broken 版本。Windows、macOS、Linux 都先確認終端機工作目錄,再執行同一個測試命令;此練習不需要安裝 npm 套件,也不會連外部資料庫。保存測試結果與版本,後面才能分辨原本就有的問題。

三種系統的終端機:位於 expected 參考副本 · sh
node --version
node --test core.test.mjs

目前教材包含三個頂層測試,正常參考副本應通過。這個數字只屬於本篇提供的材料,不代表你自己的專案一定有三個測試。若找不到 Node 或 core.test.mjs,先回到與路徑說明,停止後續分工。不要請子代理在材料不全時自行重建一個看起來相似的專案,否則審查對象已經改變。

步驟 2:用明確要求啟動兩個子代理

在桌面、CLI 或 IDE 的主任務選好練習資料夾,送出下面提示詞。現在的本機 Codex 依直接要求或適用的 AGENTS.md/Skill 指示分派子代理;這裡直接寫清楚要兩個。模型與推理深度先沿用主任務,不另外硬寫帳號未必可用的模型名稱。子代理各自使用模型和工具,會增加用量;兩個小型唯讀範圍比不受限地持續新增工作者容易驗收。

主任務輸入框:兩個唯讀子任務 · text
Use exactly two subagents for a read-only review of this Small Steps reference copy.
Do not spawn additional subagents or modify files.

Agent A: Read core.mjs. Map addTask, visibleTasks and decodeTasks.
For each function, report its input, behavior, failure or boundary handling, and file/symbol evidence.

Agent B: Read core.test.mjs. Map existing test coverage to those same functions.
Distinguish covered cases from possible missing cases; do not invent a bug just because a test is absent.

Parent: Wait for both reports. Verify cited symbols and reconcile disagreements.
Run node --test core.test.mjs once in the practice directory after collecting the reports.
Return a compact evidence table, actual test result and unverified claims.
If subagents are unavailable, say so; do not present a single-agent answer as delegated work.

送出前,把目前副本的完整根路徑與基準結果一併提供,並要求兩份回報各自列出讀取路徑。兩份報告即使都寫 core.mjs,也可能讀到不同 checkout;主任務要將路徑對回同一份 expected 副本。把「三項基準通過」標成主任務先前的紀錄,不能算成 A 或 B 自己執行的測試。

角色主要讀取交付不做的事
A 行為分析core.mjs函式與邊界對照修改程式
B 測試分析core.test.mjs覆蓋與缺口證據編造確定錯誤
主任務兩份報告與實檔整合、測試、限制只轉貼未核對摘要

兩個子任務可以同時開始;測試統一由主任務最後執行,避免重複工作。

步驟 3:查看活動、補充條件與停止

桌面從主任務的子代理活動開啟個別工作,查看讀到哪些檔案與目前狀態。CLI 在互動畫面輸入 /agent 切換查看,不是終端機中的 codex agent 命令。IDE 若提供背景代理面板,可展開看狀態或開啟個別代理。各入口可在主任務直接要求引導或停止某個工作者;看不到面板時先查版本與入口支援,不假造已完成名單。

Codex CLI 互動畫面:查看子代理 · text
/agent
送給主任務的補充條件 · text
Tell Agent A to include duplicate task IDs in its analysis and keep the work read-only.
Wait for the updated evidence before the final summary.

這個補充要由主任務轉給 A,再確認 A 的更新真的提到 addTask 對重複 ID 的處理。不要以為在目前打開的另一個視窗輸入就一定送到正確對象,先核對代理名稱或活動。若要停止 B,可明確寫「停止 B,保留已取得證據,B 尚未完成的部分列為未驗證」。停止不等於回復變更;本篇只讀所以應沒有檔案差異,若意外有修改仍須另外檢查與處理。

步驟 4:核對結果,而不只計算完成數

正常參考版中 addTask 會修剪文字、限制長度、檢查 ID,並回傳新陣列;visibleTasks 依 active/completed 篩選;decodeTasks 會拒絕錯誤格式與重複 ID。主任務應回到這些實際函式驗證 A 的說法,再對照 B 指出的測試片段。假如 B 說沒有測重複 ID,先區分新增時與儲存讀回時的兩種檢查,不要只因兩份報告不同就選較長的一份。

再由主任務執行一次基準測試,保存實際 exit code 與結果。驗收表至少包括「主張、檔案/函式、測試證據、已確認或未確認」。有些行為可讀程式確定,但沒經過瀏覽器操作;有些測試缺口只是建議,不是現存 Bug。把這些狀態分開,讀者才知道下一步該補測試、實際重現還是直接修正。

進一步:保存狹義的自訂角色

常重複做相同檢查時,可以在可信任練習專案建立 .codex/agents/data-reader.toml。這是代理設定 TOML,不是 AGENTS.md,也不會單憑檔案存在就啟動工作者。先確認沒有同名檔,再保存下列完整範例;新任務中明確要求使用 data_reader,檢查是否按角色讀取。這個延伸不必為了完成前面的兩人分工而先做。

練習專案:.codex/agents/data-reader.toml · toml
name = "data_reader"
description = "Inspect Small Steps data invariants with file and symbol evidence."
sandbox_mode = "read-only"
developer_instructions = """
Read core.mjs and report inputs, invariants and error handling.
Do not edit files, invoke external services or spawn other agents.
Cite the relevant functions and distinguish confirmed behavior from assumptions.
If the file is missing, report the missing path and stop.
"""

範例未指定模型,讓它沿用已可用的設定。子代理會繼承主任務當下的權限;特別在互動 CLI,執行時的父層覆寫會重新套用,不能把檔案中的 read-only 當作永遠高於當前授權的保證。請在委派前檢查主任務的,並保留只讀要求。要撤回延伸設定,只移除這次自己新增的角色檔,重新開任務核對,不刪整個 .codex。

常見問題、邊界與下一步

沒有建立子代理時,確認是否明確要求、入口與版本可用、是否已有執行中的工作者占用名額;不能用一個模型分飾兩角冒充。兩個人同時改檔時,先停止寫入與核對差異,再調整成不同目錄或順序執行,參考 。子代理等待認證或權限時,主任務應說明來源與哪一步卡住,不能以更多權限偷偷重試同一個被拒絕的動作。

完成時留下兩個真實工作者的活動、各自的證據、一次補充條件的回應、主任務的整合與測試結果,以及五個教材檔案未被改動的確認。刻意停止 B 的練習可以另開一次執行,標為停止案例,不算兩份完成報告。本文的角色設定與參考程式可靜態核對,沒有宣稱已替你的帳號啟動代理;桌面、IDE、其他系統與手機介面未實測者依官方文件查證。接續學習驗證看起來合理但缺少證據的回報。

28. 子代理與工作分工 — 實作順序示意圖,非產品介面截圖。 Bounded tasks → Subagents → Review
28. 子代理與工作分工 — 實作順序示意圖,非產品介面截圖。 Bounded tasks → Subagents → Review · 圖片:Mokaair (© Mokaair)
閱讀完整文字說明

Bounded tasks to Subagents to Review

回總目錄

  • 生活分享

    Codex 學習中心:完整教學目錄

    從安裝、第一個任務到 MD 規則與進階整合,規劃 60 篇 Codex 教學、十個單元。依程度、平台、需求或指令搜尋下一篇;尚未公開的教學會標示狀態,方便安排學習路線。

  • 生活分享

    實戰:製作小網站

    從 brief.md 規劃並製作 Small Steps 待辦網站,完成新增、完成、刪除、篩選與本機資料保存。將 HTML、CSS、資料函式、畫面事件與測試分開,以 Node 測試和瀏覽器操作驗收,並留下可重新啟動與還原的交接紀錄。

  • 生活分享

    用量與效率:減少重工

    記錄任務條件、模型選項、時間與成果,找出能減少無效重試和過多上下文的調整。

最新旅遊情報攻略

資料來源

生活分享