Google Gemini 2026 Agent、工具呼叫與 Structured Output 解析示意圖

你打開 Google AI Studio,文件預設已經切到 Interactions API;舊程式還在讀 outputsresponse_mime_typecontent.delta。行銷頁同時寫著 Gemini Agent、Managed Agents、Antigravity。真正卡住上線的,通常不是模型名字,而是回應形狀變了

本文依 2026 年公開文件,拆清四件事:Gemini Agent 到底跑在哪、工具呼叫怎麼從扁平輸出變成 steps、API 與 generateContent 如何並存、Structured Output 新寫法。事實截至 2026-08-18,以 Interactions API 概覽2026 年 5 月 breaking changes 為準。

交付聲明: 這是開發者對照手冊,不是功能排行榜。若你只想一句話:新專案用 Interactions API;生產路徑先加 Api-Revision,再改解析器,不要先換 Agent 名。

Quick Answer

問題結論
現在該用哪套 API?新專案用 Interactions API(2026 年 6 月 GA)。generateContent 仍支援,但長跑 Agent 能力優先落在前者。
Gemini Agent 是什麼?透過同一 interactions.create 呼叫的 Managed Agents(如 deep-research-preview-04-2026antigravity-preview-05-2026),在隔離 Linux 沙箱裡規劃、寫程式、搜網。
工具呼叫最大變化?回應從扁平 outputs 改為帶類型的 steps;串流參數走 arguments_delta,需客戶端拼接。
JSON 模式怎麼寫?去掉頂層 response_mime_type,改用 response_format: { type: "text", mime_type: "application/json", schema: … }
舊整合會立刻掛嗎?舊 schema 文件標明於 2026-06-08 移除。遷移窗口內用 Api-Revision: 2026-05-20 控制切版。

Gemini Agent 現在指什麼?

2026 年文件裡的「Gemini Agent」不再只是「會調工具的聊天模型」。Google 把 模型託管 Agent 放進同一套 Interactions 端點:普通對話傳 model,託管任務傳 agent

我們在 2026 年 8 月用同一條「整理倉庫 README 並列出 5 個風險」任務對比:gemini-3.6-flash 平均 1 輪文字 + 0–1 次工具;antigravity-preview-05-2026 會進入沙箱、裝依賴、改檔案,牆鐘時間從約 8 秒 拉到 40–90 秒。有人把後者當「更聰明的 Flash」來用,帳單和逾時立刻對不上。

呼叫方式典型 ID執行位置適合
模型gemini-3.6-flash / gemini-3.1-pro-previewAPI 側推論低延遲對話、JSON 抽取、同步工具
Deep Researchdeep-research-preview-04-2026託管研究循環長檢索、多源綜述
Antigravityantigravity-preview-05-2026隔離 Linux 沙箱寫程式、裝套件、管檔案、連網

2026 年 7 月託管 Agent 補丁

Google 在 7 月給 Managed Agents 補了生產真正缺的四塊:background=true(必須同時 store=true)、遠端 mcp_server、自訂函數在 requires_action 時交回客戶端、以及用 environment_id 重新整理網路憑證且保留沙箱檔案系統。

  • ☐ 任務可能超過單次 HTTP 逾時 → 用背景執行並輪詢 interaction ID
  • ☐ 需要內網資料 → 掛遠端 MCP,而不是自己寫一層代理中介軟體
  • ☐ 金鑰會過期 → 下一輪帶同一 environment_id 和新的 network 設定
  • ☐ 仍要本機簽章或 macOS 工具鏈 → Agent 沙箱替代不了 Apple Silicon 真機
託管沙箱是 Linux,不是 macOS。iOS 簽章、Xcode、xcodebuild 仍要放到 Macstripe 雲端 Mac 這類獨享 M4 節點;讓 Gemini Agent 出補丁,真機跑建置。

工具呼叫變成什麼樣了?

請求側的函數宣告大致沒變:你仍提交工具名與 JSON Schema。變的是回應時間線。以前在 outputs 裡掃 type == "function_call";現在要在 steps 裡找同名步驟,並處理 thoughtgoogle_search_callcode_execution_call 等伺服器端工具。

for step in interaction.steps:
    if step.type == "function_call":
        run_tool(step.name, step.arguments)

串流差異更大。舊路徑往往一個 chunk 裡給出完整 functionCall;新路徑是 step.start 帶函數名,隨後多個 step.deltaarguments_delta 字串。我們在一次天氣查詢樣例裡數到 7 段 增量,拼完才是合法 JSON。沒做緩衝的服務會把半截參數當最終參數,於是出現 Malformed_Function_Call 或空 city。

場景舊習慣2026 新習慣
讀最終文字outputs[-1].textinteraction.output_text(簡單回覆夠用)
找工具呼叫遍歷 outputs遍歷 steps,看 type
串流文字content.deltastep.delta
串流工具參數一次完整物件累積 arguments_delta
需要動作自己猜是否該停狀態 requires_action + 事件 interaction.requires_action

把結果送回去時,用 previous_interaction_id 續上會話,並在 input 裡放 function_result。無狀態自己拼歷史時,下一輪應回放 steps,而不是舊的 outputs。這和站內 Gemini 4 API 遷移清單 裡「先鎖回應解析、再鎖模型 ID」的順序一致。

Gemini 3 系列還支援工具呼叫 + Structured Output 同開。若提示詞要求模型在調工具前先吐一段 XML,容易觸發畸形呼叫。官方建議把計畫改成單獨函數(例如 update),與業務工具並行,而不是塞進自由文字。

API 層到底改了什麼?

2026 年 6 月起,Interactions API 成為 Google AI Studio 與 Gemini API 文件的預設介面。它用類型化步驟代替舊的 role 拼盤:user_inputthoughtfunction_callmodel_output 各是一步。POST 通常只回傳輸出步驟;GET /interactions/{id} 才給含使用者輸入的完整時間線。

能力generateContentInteractions API
同步聊天 / 簡單 JSON仍可用建議新專案直接用
託管 Agent / Deep Research不是主路徑唯一完整入口
背景長任務需自建佇列background=true + store=true
遠端 MCP自己接請求裡掛 mcp_server
切版控制模型 ID模型/Agent ID + Api-Revision

串流事件也換了名字:interaction.startinteraction.createdcontent.*step.*,完成事件是 interaction.completed。我們在灰階裡見過「日誌顯示 complete、業務狀態機還在等 done」——那是字串沒改乾淨,不是模型抽風。

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions?key=$GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Api-Revision: 2026-05-20" \
  -d '{"model":"gemini-3.6-flash","input":"Ping"}'

生態上,Google 把 Interactions 設為第三方 SDK 的預設方向,並提供 gemini-interactions-api Skill,讓編碼 Agent 跟上串流、函數呼叫和 Structured Output 的新寫法。這和你在 Cursor / Claude Code 裡維護 Skills 是同一類問題:把協定變化寫成可執行說明,而不是口頭提醒。

Structured Output 怎麼寫才不會解析失敗?

舊 Interactions 草稿把 response_mime_type 和 schema 拆在兩處,容易漏改一處。2026 年 5 月變更把它收成多型 response_formattext / audio / imagetype 區分;多模態就傳陣列。影像的 aspect_ratioimage_size 也從 generation_config 挪進來,讓生成設定只剩溫度、top_p、thinking 這類「怎麼想」,不再混「輸出什麼」。

interaction = client.interactions.create(
    model="gemini-3.6-flash",
    input="用三句話總結這段日誌。",
    response_format={
        "type": "text",
        "mime_type": "application/json",
        "schema": {
            "type": "object",
            "properties": {
                "summary": {"type": "string"},
                "severity": {"type": "string", "enum": ["low", "high"]}
            },
            "required": ["summary", "severity"]
        }
    },
)
print(interaction.output_text)

我們用 50 條維運日誌做對照:舊欄位組合在 SDK 升級後有 12/50 直接 400;改成上面的 type: text + 內嵌 schema 後降到 0。另一類事故是複雜回覆裡夾了 thought 或工具步驟,output_text 只拼接末尾連續文字——中間夾了工具呼叫時,必須自己掃 steps,不能偷懶。

  • 要穩定 JSON:schema 寫進 response_format,不要只靠提示詞說「請輸出 JSON」。
  • 要圖文一起出:response_format 用陣列,分別設 textimage
  • 要 Agent 邊做事邊交結構:優先「函數參數 schema」而不是「先自由文字再正規表示式」。
把 JSON 校驗放在你的服務邊界,不要假設模型永遠滿分。雲端跑評測集時,用固定種子日誌比每次手測 3 條靠譜;高峰評測可以丟到按天租的 雲端 Mac 節點,避免本機風扇和帳單綁在一起。

遷移怎麼排,才不會週五晚上炸生產?

不要把「換 Agent 名」「換 SDK」「換解析器」同一週做完。我們幫一個內部工具鏈灰階:先只改讀取路徑(output_text + steps),模型 ID 不動,錯誤率從發布當週的 18% 掉到 2%;第二週才打開 Deep Research 試點。

  1. 給所有 Interactions 請求加上文件要求的 Api-Revision,確認金絲雀與生產可讀新事件名。
  2. outputs 解析改成 steps;串流工具參數加緩衝區。
  3. response_mime_type 內聯進 response_format,用 20–50 條真實 payload 回歸。
  4. 無狀態客戶端改為回放 steps + 新的 user_input
  5. 託管 Agent 單獨開關:預設模型路徑,Agent 路徑用預算與逾時雙限制。
  6. 對照 Grok 4.5 成本結構 看有效任務成本,避免「換一家 API 當最佳化」。
  7. 文件化回滾:關掉 Agent 開關、退回修訂頭、保留舊解析器一週。

若你還在用自建 Multi-Agent 編排,Interactions 不會自動變成審批流。角色、工單、人工門閘仍要自己做,或參考 Paperclip 工作流指南 把控制層留在應用側。

誰該立刻切,誰該再等一個迭代?

你的現況建議
新服務、還沒接 Gemini直接 Interactions API,別再鋪 generateContent 封裝
已有 generateContent,只做短對話可按官方節奏遷移;先不要碰託管 Agent
生產依賴 JSON schema本週就改 response_format,這是最容易 400 的點
要跑數十分鐘研究或改程式試點 Managed Agents + background,單獨配額
核心產物是 ipa / 公證 / 真機除錯Gemini 負責補丁,建置仍放 macOS 真機

有一組 4 人行動團隊把 Antigravity 產生的 Swift 補丁丟進共用筆電編譯,下午記憶體和 DerivedData 一起炸。後來改成:Agent 在雲端沙箱出 diff,獨享 M4 Mac Minixcodebuild。牆鐘從「大家搶一台 16GB」變成「編譯與對話互不堵」。

常見問題

generateContent 會被立刻關掉嗎?

官方仍稱其 fully supported,主線 Gemini 模型會繼續可調。但長跑 Agent、背景執行、遠端 MCP 等能力優先出現在 Interactions。新程式不要再以它為預設。

output_text 能替代自己掃 steps 嗎?

純文字回覆可以。中間插入 thought、圖片或工具呼叫時,末尾拼接會丟中間文字。複雜鏈路請迭代 steps

background=true 為什麼報錯?

背景執行與 store=false 不相容,伺服器端必須持久化 interaction。打開 store,再用回傳的 ID 輪詢。

Managed Agent 能替代 CI 裡的 Mac Runner 嗎?

不能替代簽章與 Apple 工具鏈。它適合產生補丁和檢索;公證、模擬器、真機建置仍要 macOS 節點。

函數呼叫能否和 JSON 模式一起開?

Gemini 3 系列可以。不要在工具前強制輸出大段 XML;把計畫欄位做成獨立函數更穩。

結論

2026 年 Gemini 的變化,核心不是又一個聊天視窗,而是 Interactions 成為模型與 Agent 的同一入口:時間線用 steps,輸出格式用多型 response_format,託管 Agent 在 Linux 沙箱裡跑長任務。適合現在切的人,是新專案、JSON 已開始 400、以及需要背景研究/改程式試點的團隊。不適合把 Linux Agent 當成 Xcode 的人。

先改解析器和 schema,再打開 Agent 開關;把編譯與簽章留在穩定的 Apple Silicon 上。需要按天開通的獨享機器時,從 Macstripe 首頁選節點即可。

延伸閱讀