AI Engineer Europe 2026 · 工作坊 · 2026-04-30 · 108 分
Gemini 對話 agent 實作
Building Conversational Agents · Thor Schaeff、Philipp Schmid,Google DeepMind
Google DeepMind 的 Philipp 與 Thor 帶大家動手:先用 Interactions API 做出小型 coding agent,再用 Live API 做語音對話,現場 demo 也出了狀況。
概要
- Interactions API 的賣點Philipp 說這是同時接模型與 agent 的新 API,輸入輸出都是帶 type 的 content block,狀態放在伺服器,用 previous interaction ID 接續對話。
- 靠 skill 讓 coding agent 寫新 API現場先裝 Gemini 的 skill,讓 coding agent 寫出 agent 類別、讀寫檔與 bash 工具。Philipp 強調模型訓練時沒看過這個 API。
- 系統指示決定工具會不會被用請 agent 寫 CSV 時它沒呼叫工具,加上 coding agent 的系統指示後才改成寫檔。
- Live API 走原生音訊Thor 說 Gemini 3.1 Flash Live 不經過文字,支援多語、打斷與工具呼叫,但目前只有 WebSocket,連線方式有伺服器代理與 ephemeral token 兩種。
- demo 沒有照預期Google Search grounding 兩次都沒能回答天氣,Thor 當場承認;後來也只說回去查原因。
- 能不能上線要看需求Q&A 裡他們說這仍是預覽版,適合實驗;要合規、觀測與保存逐字稿,得靠合作夥伴方案或自己處理。
原話
▶ 13:50“And we see two to three times better cache rates”
我們看到,使用 Interactions API 的新創快取命中率好了兩到三倍
▶ 23:19“either something the model cannot do reliably or if you have some personal preferences”
Philipp 談 skill 該放什麼:模型做不穩的事,或個人對工作流的偏好
▶ 57:18“the model itself is going sound token to sound token”
Thor 說原生音訊模型不走文字,直接從聲音 token 到聲音 token
▶ 1:29:29“because it gives you sort of the observability at each step of the pipeline”
Thor 說現階段商業情境可能還是串接式流程比較好,因為每一步都看得到
▶ 1:32:55“So yeah, it is ready for experimentation.”
回答能否上線時,他們說目前適合拿來實驗
延伸
- Thor 說他們正把 Live API 併進 Interactions API,這場還沒有時程。
- Philipp 說 context 超過上限只會報錯,壓縮功能還在做,目前要自己在客戶端處理。
- Google Search grounding 失靈的原因,Thor 在現場沒有查出來,只說回去會查。
章節
點時碼直接跳到原片的那一段。
- 開場破冰Thor 與 Philipp 先問現場聽眾來自哪些國家、會說哪些語言,再用這點帶出今天要拿模型的多語能力來測。
- 申請 API key說明在 ai.dev 用 Google 帳號建立 key,不需信用卡,整場都在免費額度內;等大家建 key 的空檔,聽眾自我介紹。
- Interactions API 概觀Philipp 說明這是 12 月開 beta 的新 API,同一個介面可接模型與 Deep Research 這類 agent,輸入輸出都是帶 type 欄位的 content block。
- 伺服器端狀態與快取用 previous interaction ID 接續對話,不必在客戶端自己維護歷史;背景執行適合長任務,Philipp 說狀態放伺服器也讓隱式快取更容易命中。
- agent 的組成Philipp 把 agent 拆成模型、工具、context 與 loop,並示範 function calling 的流程:模型要求呼叫就執行、回傳結果,直到只剩文字輸出。
- 安裝 Gemini skills現場用 npx 安裝 Interactions API 的 skill,說明 skill 只放模型不熟的內容並連到 Markdown 文件,而不是把整份文件塞進去。
- 最小 agent 類別請 coding agent 寫出有 constructor 與 run 方法的 agent,預設用 Gemini 3 Flash,並用兩輪對話驗證 interaction ID 真的接得起來。
- 加讀寫檔工具讓 agent 補上 read file、write file 的實作與 JSON schema,並接進工具迴圈;過程中 agent 偷看了 solution 資料夾,Philipp 提醒仍要檢查。
- 補系統指示要求寫 CSV 時模型沒有用工具,加上 coding agent 的系統指示後才改成呼叫 write file;Philipp 強調模型訓練時沒看過這個 API,靠的是 skill。
- 加 bash 指令工具再請 agent 加上 run command 工具(用 subprocess 執行),用查日期測試,完成一個小型 coding agent。
- Q&A:狀態與快取回答 interaction ID 可分支、可用 interactions.get 回溯,免費層保存 1 天、付費 55 天,以及快取是以物件為單位、改動空白就會失效。
- Live Jukebox 示範Thor 接手,用 Live API 加 Lyria 3 做的 DJ 示範,現場點歌生成德式 techno schlager,並說明這個示範是在 AI Studio 裡用 vibe coding 做的。
- Live API 與 3.1 Flash Live介紹 WebSocket 式的 Live API、影像最高每秒一幀、原生音訊直接 token 到 token、多語與打斷,也坦承目前只有 WebSocket、沒有 WebRTC。
- AI Studio 現場試玩現場開鏡頭問穿著、用系統指示讓聲音帶愛爾蘭口音,再打開 Google Search grounding,結果天氣查詢答錯,Thor 當場說 grounding 沒有運作。
- AI Studio 產生與範例 repo用 AI Studio 的語音對話選項產生多語面試練習 app,並說明 Live API 也有專用 skill 與 GitHub 範例 app 可 clone。
- 伺服器對伺服器範例跑 FastAPI 的 WebSocket 代理範例,伺服器握有 key 並轉送音訊與影像;現場用德文測試時延遲變大,Thor 說多繞了一層。
- Ephemeral token 直連另一個範例由伺服器發短效 token,讓瀏覽器直接連 Live API,token 外洩的損失有限;這個功能目前用 v1 alpha。
- grounding 再試仍失敗換這個範例再開 Google Search grounding,天氣問題還是答不出來,自訂工具則先能用,之後又失靈,Thor 說回去要查原因。
- 工作階段上限說明只有音訊的 session 上限 15 分鐘、音訊加影像只有 2 分鐘,可開 context window compression 以滑動視窗延長。
- 實際用例與可用程度舉出 Shopify Sidekick 等用例,Thor 認為現階段商業情境多半仍適合串接式流程;也回答逐字稿要自己存,以及這仍是預覽版。
- 多人說話與 thinking聽眾問如何只聽特定的人,他們說不認為現在有這種功能;thinking 只以文字事件回傳,不會被唸出來。
- 貼著畫面的語音轉寫聽眾想讓語音轉寫對得上螢幕上的類別名稱,他們建議不需即時就用 Flash 轉寫,要即時則先送圖再送音訊。
- 個人化與記憶回答模型沒有跨 session 的記憶,專業背景要在開頭餵進 context 或用函式呼叫取得;同一段對話內它記得先前說的話。
- 評估語音應用他們說要看需求(如 HIPAA、SOC2、函式呼叫量與 guardrail),demo 與上線差很多,建議看合作夥伴提供的完整方案。
- Vertex 與資料保存Interactions API 介面不變,要 Vertex 企業功能得再等;store=false 可不保存資料,但就沒有伺服器端狀態。
- 幻覺與系統指示針對天氣答錯的幻覺問題,他們說系統指示的最佳實務還不夠,建議照文件寫好系統指示、guardrail 與工具定義。
名詞
- Interactions API
- Philipp 介紹的新 API,同一個介面接模型與 agent,並支援伺服器端狀態與背景執行
- previous interaction ID
- 接續上一輪互動的 ID,伺服器據此帶出先前的輸入與輸出
- Deep Research
- Philipp 拿來示範 agent 的內建研究 agent,可背景執行
- Gemini agent skills
- 為 coding agent 準備的 skill,讓它知道可用的 Gemini 模型與文件位置
- Gemini Live API
- 以 WebSocket 即時收發文字、音訊、影像的 API
- Gemini 3.1 Flash Live
- Thor 示範的原生音訊模型,並說手機上的 Gemini Live 用的就是它
- Lyria 3
- Gemini API 上的音樂生成模型,可生成帶歌詞的歌曲
- Google AI Studio
- 試用模型、產生 app 與取得 API key 的工具
- ephemeral token
- 伺服器用 API key 發出的短效 token,供客戶端直連 Live API
- context window compression
- 以滑動視窗丟掉較舊內容,延長 Live session
- LiveKit
- Thor 提到的合作夥伴,提供 WebRTC 整合與逐字稿保存
- Pipecat
- 同上,另一個整合 Live API 的合作夥伴








