競技場戰鬥模式協定
/battle 指令會啟動一個對抗性競技場,讓兩個競爭的實作互相較勁,而非依賴單一代理的程式碼選擇。
競技場架構
[使用者提示]
│
┌────────────────┴────────────────┐
▼ ▼
[競爭者 Alpha 臂] [競爭者 Beta 臂]
工作區:'branch' (A 臂) 工作區:'branch' (B 臂)
│ │
└────────────────┬────────────────┘
│
▼
[競技場裁判 / 評論家]
角色:critic@colosseum
(對抗性偽造器 + 基準測試)
│
▼
[勝利者桂冠與合併]
執行流程
當使用者呼叫 /battle 時:
步驟 1:分支出競爭臂
在隔離的 git worktrees 中使用 Workspace='branch' 同時生成兩個競爭的子代理:
-
競爭者 Alpha 臂:
{ "TypeName": "self", "Role": "競爭者 Alpha 臂", "Workspace": "branch", "Prompt": "針對使用者目標設計並實作方法 A。最佳化安全性、正確性與乾淨的抽象。" } -
競爭者 Beta 臂:
{ "TypeName": "self", "Role": "競爭者 Beta 臂", "Workspace": "branch", "Prompt": "針對使用者目標設計並實作替代方法 B。最佳化最小複雜度、吞吐量與直接性。" }
步驟 2:競技場裁判審核 (critic@colosseum)
當兩個臂都完成實作後:
-
派遣一個對抗性裁判代理:
{ "TypeName": "self", "Role": "critic@colosseum", "Workspace": "inherit", "Prompt": "比較 Alpha 臂與 Beta 臂。對兩個分支執行模糊測試、邊界測試、邊緣案例攻擊與實證基準測試。找出隱藏的缺陷、記憶體開銷與未處理的失敗模式。" } -
裁判在無頭模式下執行兩套測試套件,並記錄具體的通過/失敗指標。
步驟 3:加冕勝利者
- 檢視裁判的裁決。
- 將勝出的分支快速向前推進 / 合併到主要工作區。
- 消除失敗的分支,並向使用者呈現完整的比較分數明細。