agmsg 模型選擇的開發 是做什麼的?
使用此技能形成一個任務範圍內的同儕團隊。沒有固定的 指揮官與永久駐留的工作者池:任務擁有者是您為此會話選擇的模型 (在 Claude Code 或 Codex 中)。它端到端地擁有任務, 然後僅啟動在 agmsg 上進行有邊界工作所需的同儕角色。
需要安裝 agmsg 技能 (https://github.com/fujibee/agmsg),並且
claude 與 codex CLI 都必須可用——agmsg 團隊會在兩者上生成同儕。
在呼叫其腳本之前,請先閱讀已安裝的 agmsg 技能。僅使用其提供的 Bash 腳本;
切勿直接存取其資料庫、團隊檔案或設定。
啟動或恢復團隊
在進行任務工作之前先解決團隊問題。使用當前會話的 CLI 名稱
(claude-code 或 codex)來取代下文中的 <cli>。
- 如果調用指定了團隊名稱,請使用該確切名稱。如果本地缺少該團隊,請使用
join.sh創建/加入;如果已存在,請使用team.sh檢查其成員名單並在其中工作。當請求是拉取遠端團隊時,請遵循 agmsg 的遠端拉取流程,而不是創建一個本地同名的團隊。 - 如果沒有明確的名稱,請執行
whoami.sh "$(pwd)" <cli>和team-list.sh --scope project "$(pwd)"。恢復與此專案關聯的唯一團隊。如果沒有,則創建一個本地團隊,其名稱為專案目錄名稱的安全小寫縮寫(例如:payments-api)。如果有多個團隊適用,請詢問使用者要使用哪個現有團隊;切勿任意選擇。 - 在需要時使用
join.sh <team> <agent> <cli> "$(pwd)"註冊任務擁有者。選擇一個未使用的身份,例如<team>-owner(可選地加上模型限定,例如<team>-sol-owner);先檢查team.sh <team>,如果發生衝突則添加數字後綴。記住解析後的團隊和此任務的代理身份。 - 在每次恢復的回合開始時以及宣告完成之前,檢查擁有者的收件匣:
inbox.sh <team> <owner>。
因此,當沒有可用的專案團隊時,第一次調用會創建預設的專案團隊;明確提供的團隊始終優先。團隊和代理身份是本地的 agmsg 狀態,因此除非配置了遠端同步,否則不要假設它們在機器之間共享。
模型路由
任務擁有者 (TO) 控制模型選擇和升級。工作者將他們的 結果或升級請求回報給 TO;他們不會直接重新分配或交接工作。 供應商邊界無關緊要,因為任務上下文和結果可以通過 agmsg 移動。
使用能夠可靠完成任務的最便宜模型。角色定義了 責任;模型定義了當前任務所需的推理能力。 不要僅僅因為某個角色被命名為顧問或專家就選擇昂貴的模型。
- 一般 — Luna: 常規實作、機械性編輯、直接的程式重構、簡單的文件,以及其他明確的執行密集型工作。
- 顧問 — Terra 或 Sonnet: 規劃、需求/產品分析、審查、直接的設計或架構、中等的除錯,以及權衡分析。根據任務適合度選擇,而非供應商偏好。
- 專家 — Sol 或 Opus: 複雜的架構或 UX、困難的除錯和重構設計、深度審查、跨領域推理,以及具有重大下游影響的決策。兩者都不是該角色的強制性預設模型。
- 升級 — Astra: 異常困難或高風險的推理、未解決的系統範圍問題,或在 Sol 或 Opus 仍然不足後的最終獨立審查。Astra 不是預設的專家模型。
正常路徑是 Luna → Terra/Sonnet → Sol/Opus → Astra;當任務明顯證明其正當性時,TO 可以跳過一個層級。根據模糊性、所需的推理深度、上下文大小、失敗成本、先前的失敗嘗試或信心不足來決定升級——而不僅僅是任務重要性。
當工作者認為其分配的模型不足時,它會報告哪些已確定、哪些仍未解決、為什麼當前方法不足、是否建議升級,以及需要什麼額外的推理。然後 TO 決定是否重試、在同一層級內切換、升級,或請求獨立意見。
使用者在調用此技能之前選擇擁有者模型;此技能不會更改正在運行的會話的模型。如果選擇的模型不明確,請詢問使用者,而不是生成第二個擁有者來決定。
選定的任務擁有者必須建立需求和接受標準、檢查相關程式碼和文件、僅拆分獨立工作、實作或整合結果、執行適當的測試,並驗證完成。除非路由規則證明升級合理,否則 Luna 是預設的委派工作者模型。
在需要獨立性時,自由委派唯讀研究、QA 和安全審查。不要讓兩個同儕同時編輯同一個檔案;分割檔案或使用單獨的 Git 工作樹。任務擁有者對結果負責,而不是親自執行每個步驟。
使用票證形式的訊息。僅發送接收者需要的上下文,並引用檔案、提交、差異或先前的發現,而不是讓另一個模型重新發現它們。在委派或升級時,請閱讀訊息範本。
角色與直接溝通
- 任務擁有者(您選擇的模型): 擁有範圍、決策、整合、測試和最終檢查。
- 工程師 / 調查員: 接收有邊界的實作或研究票證,並直接向擁有者報告。
- 產品經理 / PdM: 當產品問題或需求需要在設計或實作之前定義時使用。釐清使用者成果、範圍、優先級、業務規則和接受標準;不要選擇螢幕結構、UI 文案或實作,並將未解決的產品決策回報給擁有者。
- 產品設計師: 當產品需求需要在實作之前進行螢幕/UX 規格定義時使用。以工程師可讀的層級定義資訊層級、流程、非快樂路徑狀態以及簡潔一致的 UI 文案;不要更改需求、業務規則、API/資料模型或實作方法,並將需求缺口或矛盾報告給擁有者。
- 無障礙審查員: 當需要進行有意義的 UI 或使用者流程更改,且需要無障礙審查時使用。檢查鍵盤操作、焦點、標籤、錯誤和狀態回饋、對比度以及僅依賴顏色的指示;用證據和實際的補救措施報告障礙,並且通常不編輯程式碼或更改需求。
- QA: 用於行為更改、錯誤修復、多檔案更改、回歸風險、多個接受標準,或擁有者有意義的盲點。QA 通常報告發現結果,不編輯程式碼。
- 安全審查員: 僅用於身份驗證/授權、會話/cookie、API/外部輸入、上傳、秘密、資料庫/RLS、基礎設施、依賴項更新或敏感資料。報告嚴重性、證據和補救措施;通常不編輯程式碼。
- 顧問: 僅提供有重點的判斷。擁有者提供問題、當前狀態、選項、權衡、建議、相關檔案和一個精確的問題。不要讓它重新調查整個儲存庫。
- 專家: 在根據難度、不確定性、失敗成本和先前的嘗試進行路由後,處理一個狹義定義的困難問題。不要僅根據此角色標題選擇模型。
每個工作者將其結果回報給 TO。工作者在需要時可以直接溝通, 但他們不得重新分配工作或選擇下一個角色/模型;TO 仍然是路由和協調的權威。
升級與生成
在整個任務中保持選定的擁有者。僅在具體的決策 或失敗點進行升級;將回應記錄回該擁有者,由其做出實作和 完成決策。
按需生命週期與上下文重用
將每個非擁有者角色視為按需工作者:為一個有邊界的
票證 spawn 它,等待其報告,整合結果,然後 despawn 它。
不要在工作項目之間保持閒置的 QA、安全、顧問或工程師進程。
spawn.sh <type> <name> --project "$(pwd)" [--team <team>] [--model <cli-model-id>] [--boot-prompt "<ticket>"] [--no-wait] [--fresh]
預先加入 <name>,開啟一個 tmux 窗格(在 tmux 內部)或一個新的終端機,並啟動
CLI。claude-code 的生成會阻塞直到其監視器附加;codex 的生成
會立即返回,因此 codex 同儕必須透過 --boot-prompt 獲得其任務,
而不是在它閒置後發送的訊息。
要在同一任務中稍後將角色帶回,請使用相同的名稱再次 spawn,
但不要使用 --fresh——agmsg 會恢復其記錄的會話,因此僅發送增量
(狀態、相關檔案/提交、一個接下來的問題)。僅在先前的上下文
會產生誤導時使用 --fresh。
despawn.sh <team> <owner> <name> [--force] 是 spawn 的逆操作,並且只會
拆除由此擁有者生成的角色的環境。優雅的 despawn 一個 codex 同儕
通常會報告 "no live lock"(codex 沒有監視器)——這是正常的;僅在
終端機視窗保持開啟時添加 --force。切勿拆除手動啟動的同儕。
agmsg 介面
從當前環境中安裝 agmsg 技能的任何位置解析其 scripts/ 目錄(其技能目錄),而不是假設固定路徑,然後呼叫:
bash <agmsg-skill-dir>/scripts/send.sh <team> <from> <to> "<structured ticket>"
bash <agmsg-skill-dir>/scripts/inbox.sh <team> <agent>
bash <agmsg-skill-dir>/scripts/team.sh <team>
bash <agmsg-skill-dir>/scripts/spawn.sh <codex|claude-code> <agent> --project "$(pwd)" --team <team> --model <installed-cli-model-id> --boot-prompt "<bounded ticket>"
bash <agmsg-skill-dir>/scripts/despawn.sh <team> <owner> <spawned-agent> [--force]
--model 由 agmsg 傳遞給已安裝的 CLI。僅使用經過驗證的本地模型 ID——
對於 Codex 同儕:gpt-5.6-luna、gpt-5.6-terra、gpt-5.6-sol、
gpt-6-astra;
對於其他 CLI,使用其文件記錄的識別碼,而不是自行發明。一個沒有監視器傳遞的 Codex
同儕必須透過 --boot-prompt 接收其初始任務,而不是在它閒置後發送的訊息。
僅在它能產生有用的並行工作時才生成。優先選擇一個狹義範圍的工作者,而不是多個推測性的工作者;僅並行化獨立的票證。對於手動啟動的同儕,send.sh 就足夠了。在分配之前檢查成員名單;每個 from 和 to 都必須已註冊,除非故意使用 agmsg 文件記錄的 --force 例外。
完成閘門
選定的任務擁有者僅在滿足需求和接受標準、相關測試通過、觸發的 QA 和安全審查已解決、沒有阻塞項,且差異中不包含無關的更改時,才會關閉任務。如果使用了昂貴模型的建議,請在關閉前驗證並實作其結果。