Community程式設計與開發github.com

dehtiarone/cheap-parallel-agents

僅限顯式呼叫的編排技能,用於在一個便宜的工人模型(Claude Code 上的 Haiku,Codex 上的 Luna)上進行儲存庫錯誤修復、功能新增、重構或其他變更,具備僅限努力的升級機制、並行批次與基於證據的驗收。需按名稱呼叫;絕不自動套用。對於一般性的、沒有成本、速度或並行偏好的一般變更,通常選擇 escalating-subagents。

cheap-parallel-agents 是什麼?

此技能專為 Codex 和 Claude Code 等平台設計,作為一種顯式呼叫的編排層,用於在單一便宜的語言模型(如 Codex 的 Luna)上執行儲存庫變更。它不會自動套用,需由使用者按名稱啟動。核心運作方式為:協調器(如 GPT-6.1 Sol)負責任務分類、定義「完成」標準、將工作分解為項目、分派並行批次、並基於證據驗收結果。它不編輯產品程式碼,也不讀取工人的對話記錄。 此技能引入了一個詳盡的層級系統(Tier A-D),根據任務的複雜度與風險(從簡單編輯到涉及身份驗證、生產資料變更)來分配不同的工作量、對應的工人數量與驗證次數。它採用「努力階梯」(Effort Ladder),僅在同一模型(gpt-6-luna)上調整推理努力(reasoning_effort)的級別(low, medium, max),而非切換更昂貴的模型,從而保持低成本。技能也明確定義了並行批次的生命週期,包括快照(snapshot)、凍結(freeze)與驗證(validation)的嚴謹流程,以確保變更的所有權隔離與結果的可靠性。對於驗證失敗(FAIL),它會根據剩餘預算執行修理(repair)週期;若資源不足,則會停止並回報未解決的項目。總體來說,這是一個高度結構化且成本控制的編排方案,特別適合需要可預測成本與速度的平行開發任務。

相容平台✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/dehtiarone/skills/tree/HEAD/codex/skills/cheap-parallel-agents

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

用於 Codex 的廉價並行代理(Cheap parallel agents for Codex)

呼叫方式: 此技能僅在使用者按名稱呼叫時執行;絕不自動套用。沒有任何一個編排技能會呼叫另一個,且工人也不會呼叫任何一個。當使用者同時為一個任務呼叫了 escalating-subagents 與此技能時,請在分派前詢問應使用哪一個。

假設的協調器: 使用者所選擇的父模型,通常是 GPT-6.1 Sol;high 是一個初始的努力建議用於評估,並非此技能會變更的設定。若父模型設定為 ultra,則可能主動委派工作:請在第一行進度中揭露此事實,建議使用 high,僅透過此技能的分派來委派工作,並在「固定(Pinning)」下說明任何額外的指派。在帳本標頭中記錄實際的父模型與努力級別。協調器負責:分類層級、撰寫「完成」的定義標準、將任務分解為項目、修正介面與決策、簡報給工人、分派批次、擷取快照、檢查每個驗收記錄、進行分類、以及回報。協調器從不編輯產品程式碼,也從不讀取工人的對話記錄。它會根據驗收需求讀取證據摘要,以及針對 D 層級驗收、有爭議的驗證與範圍違規來讀取整合後的修補程式。

工人僅在一個便宜的模型上執行,並且每人僅執行一個被指派的項目。他們從不委派工作,從不呼叫此或任何編排技能,也從不執行快照輔助程式。請遵守主機的權限與協作模式;計劃模式(Plan mode)不允許任何實作或產生突變的探索。

每個標準都有一個 ID 與一個必需的證據類型:behavioral(執行的測試、建置或執行,以驗證變更)、static(型別檢查或 lint)、parse(語法或解析檢查)、format(格式化檢查)、或 inspection(審查過的 diff)。比標準類型更弱的證據無法滿足該標準;一個解析檢查只能滿足 parse 標準,不能再多。

層級(Tiers)與指派矩陣

在第一行進度中命名層級。任何階段都可以提升層級;但絕不降級。提升層級會保留計數器、採用更高的預算,並為受影響的工人修訂標準。根據矩陣調整項目大小:一個工人可以擁有數個檔案,因此應合併項目而非放棄工作。驗證(Validation)在每個週期(cycle)執行一次,在完整的實作週期凍結之後,而非每次批次執行;中間的批次會在下一批次開始前擷取並檢查 post-N,且僅有暫定的工人記錄。

層級工作對應(唯讀)實作每個週期的驗證(V)預算
A瑣碎、完全指定、低風險的編輯,且有具體的檢查01 個 low0;由協調器執行擷取後檢查3
B明確的變更0≤ 4 個 medium1 個 medium7
C不明確的錯誤或大型功能;為預設層級≤ 3 個 low/medium≤ 4 個 medium1 個 medium10
D身份驗證、租戶隔離、遷移、佇列/同步、生產資料變更≤ 3 個 medium≤ 4 個 medium2 個 medium 且具有不同的簡報(測試+標準;規格+回歸);協調器會讀取修補程式12

每個新的指派、重試或延續都會花費一次呼叫;並行工人個別計算;狀態訊息與等待不計費。令 M 為正在接納的地圖批次中的碎片數量(若為實作批次則為 0),U 為尚未分派的需求實作項目數(包含此批次中的項目,在地圖化之前為計劃數量,至少 1),V 為每個週期的驗證者數量;保留為一次修復及其重新驗證,1 + V。接納任何批次需要 剩餘 ≥ M + U + V + (1 + V);若不符合,則縮減寬度、合併項目,或兩者皆做。序列化變更的是並發性,而非呼叫次數:接納會計算每個剩餘的必要項目。驗證者重試(不支援的 PASS、INCONCLUSIVE)會消耗保留的呼叫次數。在 FAIL 之後,針對 r 個項目:當 剩餘 ≥ r + V 時,執行這 r 個修復以及完整的全新驗證集合(無進一步保留),而另一次 FAIL 則以報告結束執行;當 1 + V ≤ 剩餘 < r + V 時,修復 剩餘 − V 個項目,進行驗證,並將剩餘項目報告為未解決;當 剩餘 < 1 + V 時,停止並報告失敗的項目為未解決,且不重新驗證未變更的修補程式。工作範例:層級 B,四個項目寬度為 4:7 → 在實作者之後為 3 → 在驗證之後為 2 → 兩個項目上發生 FAIL,允許一次修復加一次驗證 → 0,一個項目未解決。層級 B 帶有一個不支援的 PASS:7 → 3 → 2 → 新的驗證者 → 1 → FAIL → 1 < 2,停止。層級 C,一個包含 3 個碎片的地圖批次,有 4 個計劃項目:3 + 4 + 1 + 2 = 10 接納 → 7 → 實作 4 個 → 3 → 驗證 → 2 → 一個項目 FAIL → 修復並驗證 → 0。層級 D:3 + 4 + 2 + 3 = 12 → 9 → 5 → 3 → 一個項目 FAIL → 0。只有當預算允許時才能使用梯子;在最大寬度下,保留僅允許一次修復,而非每個梯級,協調器在選擇寬度時會這麼說。分解絕不會增加預算。

努力階梯(Effort ladder)

工人模型永不改變;努力(effort)會改變。medium 是預設值,也是應保持的級別。

梯級模型reasoning_effort用途
0gpt-6-lunalow機械性工作:唯讀地圖碎片、重新命名、移動、格式化、執行已命名的命令並回報;無需判斷
1gpt-6-lunamedium每個探索(Discover)、實作(Implement)與驗證(Validate)項目的預設值
2gpt-6-lunamedium帶有具體修正與先前記錄路徑的全新工人;單一遺漏重試
3gpt-6-lunamax僅在梯級 1 或 2 確認有推理失敗,或第二次 PARTIAL 且無進展後使用

跳過的級別: high 因為其在獨立編碼評估中觀察到的相較於 medium 的收益不足以證明增加一個梯級是合理的,而 xhigh 則因為此階梯只保留一個升級梯級,且 max 能買到更好的每美元分數。請不要填補這個間隙。 梯級 0 的簡報需說明:無需判斷;當需要判斷時回傳 BLOCKED。驗證者在所有層級中都以 medium 開始。正確的 FAIL 絕不會升級驗證者。環境失敗絕不會推進梯級。沒有模型升級:當梯級耗盡時,協調器會停止並回報。

發現動作計數方式
梯級 0 工人因需要判斷而回傳 BLOCKED若可能,預先做出決定;在梯級 1 重新分派該項目一次的呼叫;梯級 → 1,非失敗
梯級 1 工人遺漏需求或誤讀簡報梯級 2:帶有修正與先前記錄路徑的全新工人一次的呼叫
在梯級 1 或 2 確認有推理失敗,或第二次 PARTIAL 且無進展梯級 3一次的呼叫 + 梯級
PARTIAL 但方法合理且有進展在同一個梯級繼續一次的呼叫
驗證者回傳不支援的 PASS(證據類型太弱、快照過時或檢查未執行)拒絕;在梯級 2 使用明確的證據要求,進行新的驗證;第二次發生 → 梯級 3;實作保持不變每次呼叫
驗證者回傳正確的 FAIL成功的驗證;進入修復週期:失敗的項目根據其自身的階梯升級,然後進行完整的全新驗證集合r + V 次呼叫
驗證者 FAIL 被協調者以記錄的證據駁回記錄修正;無實作變更;僅在修補程式變更時才重新驗證無
驗證者因環境原因回傳 INCONCLUSIVE 或 BLOCKED在授權範圍內補救,在同一梯級重試一次;未解決的檢查將作為受阻項目載入報告一次的呼叫;無梯級變更
梯級 3 在一個項目上失敗每個項目一次:縮小項目範圍(更小的範圍、預先做好的決定)並在梯級 1 重試(若接納允許);縮小後的項目繼承歷史與預算一次的呼叫
最終修復週期中的失敗停止;回報未解決的項目、證據與下一步;無進一步分派無
阻擋性模糊導致「完成」定義不明或層級 D 風險詢問使用者;命名阻擋者無

並行批次

一個項目僅在滿足以下所有三個條件時才能加入批次:不重疊的擁有權(檔案或 glob);依賴關係已滿足(介面已在簡報中固定,沒有項目消耗另一個未完成的輸出);無衝突的副作用(生成的檔案、schema 或遷移、資料庫、端口、快取、測試固定裝置、CI 設定)。否則請序列化或合併。預設上限(可由使用者調整)為每批次 4 個寫入者與 3 個唯讀碎片;這些是來自非同步委派研究的啟發式建議,而非硬性限制。容量來自執行環境:使用主機廣告的插槽及其計數語義,並分派 min(上限, 可用插槽)。在一則訊息中分派整個批次。若分派不完全,則保留已產生的工人,以其名稱註冊,並在插槽釋放時分派剩餘部分;絕不重新產生已在運行的項目。

每個簡報都包含協調器的決策列表(名稱、介面、迄今選定的慣例),因為行動中包含決策,而並行工人若不如此則會出現分歧。共享工作區執行而不使用工作樹(worktrees)是一個刻意的取捨:擁有權加上快照範圍檢查取代了物理隔離。

證據生命週期與凍結

批次在整個運行中依序編號,包括地圖批次、實作批次與修復批次。擷取 base 一次,並在批次 N 之前立即擷取 pre-N;將快照名稱與樹狀 ID 放入該批次的所有簡報中。地圖工人回報對 pre-N 的結果。實作者的檢查在驗證之前都是暫定的;他們的記錄會這麼說並命名 pre-N。在批次 N 的所有寫入者與背景指令停止之後,擷取 post-N 並檢查 names0 pre-N post-N 中該批次的擁有權(對地圖批次則為空);在分派任何其他事項之前,names0 post-N pre-N+1 也必須為空,任何那裡的變更都是範圍外的編輯。當其最後一個實作批次通過此檢查時,一個週期即被凍結:新的驗證者會收到該批次的 post-N,並根據該凍結狀態產生驗收記錄;協調器也會檢查從該週期的第一個 pre 到該 post 的聯合,並且在驗證期間沒有寫入發生。屏障: 一個週期的所有驗證者會一起被分派並一起等待,且直到所有驗證者都已回傳,或被中斷並確認終止之前,不會開始任何修復。一個修復本身是一個批次:擷取其 post-N,進行檢查,並完整地重新運行驗證者集合。在驗收之前,擷取 final;names0 在經驗證的快照與 final 之間必須為空。輔助程式會偵測...

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能