系列 1/2:多模型協作與配額控管實戰
截至目前 2026 Q4 為止,你是怎麼與 AI Agent 協作完成任務的?
從三年前打開 ChatGPT 並輸入 Prompt 開始,我們就已經習慣與 AI Agent 問問題,等回應/回答。接著,不管是免費,付費,遇到 AI Agent 無法回答的狀況,不管是回答不滿意,或是服務遇到使用量限制時,已經很習慣會再換一個 Agent 試試看。
而到了今年開始,各種 Agent switcher 的工具也越來越多,方便開發者快速切換,但是往往工作流很容易被打斷,接著是各種 Skills 幫忙處理備份/同步/還原到其他 Agent 繼續。這讓工作流變得斷斷續續,很難順暢。
自從去年年底開始,我逐漸將過去十幾年的工作紀錄跟方法,慢慢放到自己定義的工作流與儲存庫,然後透過自定義的結構與一層轉換,可以讓不同 Agent 順暢地讀取與理解這些資訊與知識。當然也已經透過用 Claude Code,Gemini Code,Codex,Pi 等等方式驗證過。
自從上週 Gemini-4 Argon 發布前收到 EAP (Early Access Program) 試用後,讓我開始認真思考將主力的 Agent 改為 Gemini-4:用 Google Antigravity (AGY,搭配 Gemini 4 Argon) 當主控台,負責長 Context 架構推理與多模態截圖判讀;同時我也想聽聽 OpenAI Codex gpt-6-sol) 對邊界條件(Edge Cases)的意見,或是讓 Claude Code Sonnet 5.5) 身為 QA/PM 角色的思維,來檢視專案與架構的細節。
以前的做法:開兩個 Terminal 視窗,把同一張截圖路徑跟同一段背景說明複製貼上兩次,等兩邊跑完再用肉眼比對。
上週開始,我把這個流程收斂進 Google Antigravity 的 SkillsSKILL.md)與 invoke_subagent 的 non-blocking(非阻塞)機制裡。現在只要在同一句指令裡點名,主 Agent 就會自動把任務拆開、丟進背景平行跑,跑完自動喚醒主視窗做交叉比對。
內建指令 vs. 自訂跨模型 Skill
在 Antigravity 對話框輸入 / 時,其實已經有三個跟多代理或深度推理有關的內建指令:
這三個內建指令很好用,但其實執行時,都還是 在同一個程序呼叫模型執行。
每個模型都有各自的強項與弱項,如果全部任務都用某特定模型,那麼開三個同模型的 Subagent 還是可能一起踩到而無法發現。我真正想要的是在 Antigravity 裡直接調度 不同模型,也不要塞爆主Agent 的 Context Window。
怎麼做:Progressive Disclosure + Reactive Wakeup
Antigravity 載入 ~/.gemini/config/skills/<name>/SKILL.md 時採 Progressive Disclosure:
平時每個 Skill 只把 YAML frontmatter 裡的 name 與 description 放進系統提示詞(只佔一兩行 token);只有當你的指令提到該名稱或語意吻合時,Agent 才會去讀取完整的 SKILL.md。
兩個 Global Level Skill:
~/.gemini/config/skills/agent-codex/SKILL.md:在背景 Subagent 中呼叫codex exec(預設gpt-6-sol)。~/.gemini/config/skills/agent-claude/SKILL.md:在背景 Subagent 中呼叫claudeCLI(預設claude-sonnet-5-5)。
而 agent-codex/SKILL.md 的核心結構非常短:
---
name: agent-codex
description: Spawn an asynchronous Antigravity subagent that runs OpenAI Codex CLI (gpt-6-sol) in parallel with the primary agent, then synthesize both perspectives.
---
# SOP
1. Call `invoke_subagent` (`TypeName: “self”`, `Role: “Agent Codex (gpt-6-sol)”`).
2. Inside the subagent, pipe the task prompt and any image paths (`-i <img_path>`) to `codex exec -m gpt-6-sol --skip-git-repo-check -`.
3. Do NOT poll in a loop. Continue primary-track work or end the turn; Antigravity’s Reactive Wakeup resumes automatically when the subagent returns.
4. When woken up, compare agreements, disagreements, and blind spots caught by each model.最關鍵的是 No Polling。
主 Agent 呼叫 invoke_subagent 後會立刻拿到一個 conversationId,接著就可以繼續寫自己的程式或直接結束當前 Turn。等背景的 codex 或 claude 執行完畢,Antigravity 的 Reactive Wakeup 會自動把結果推回主對話並喚醒模型:
實測:有抓到 Main Agent 漏掉的東西嗎?
有,而且是第一輪就抓到。
昨晚我在寫桌面額度小工具 Leap EDGE 的初版 Swift 程式碼leap-edge.swift)時,主軌道很快把 JSON parser 跟視窗畫出來了。但背景的 agent-codex 找到一個問題:
Parser 已經算出了
badgeText▲ RUNS OUT 11:30與 ⏱LTS TO RESE,但 drawWinBlock繪圖函式裡根本沒把這個膠囊標籤畫到畫面上。
除此之外,還順手列出了三個針對 m1 air 的省電 issue (?)
今天早上把同一套工具搬到兩台 Ubuntu Laptops(ThinkPad X1 Carbon and Surface Pro 7)時,也是一邊由 agent-codex 修改字體縮放與橫向/直向自動排版,一邊由 agent-claude 在遠端機器上跑 Xvfb + X11 截圖驗證,再交給 Main Agent with Gemini 4 Argon 直接看截圖檢查字體有沒有壓線。
什麼時候需要啟動多 Agent 平行跑?
不是每個小修改都需要動用兩三個模型。目前我的心法:ㄉ

但一旦習慣讓 Antigravity 同時調度 Gemini、Claude 與 Codex 平行工作後,現實:
每個工具都有自己的 5h 與 Weekly Token limit,哪個 Agent 會先踩到?
下一篇(系列 2/2),就來拆解我們怎麼用剛剛這套平行工作流,打造出一個只有不到 500 KB、Zero CPU loading,同時支援 macOS 與 Ubuntu 平板自動旋轉的額度小工具。





