





內容簡介
內容介紹:
隨著 Google Gemini 3 模型以及各式工具推出,在生成式 AI 的世界中 Google 強勢站穩腳步,再加上 Google 生態系的支援,採用 Google Gemini API 開發 AI Agent 是一個相當不錯的選擇。本書主要解說 Google Gemini
API 中關鍵的成員,並利用 Python 版本的
Google GenAI SDK 實作範例,還會帶大家設計當前 AI Agent 的趨勢 -- Skills 機制,主題包含:
|簡易 Skills 機制|
現今 AI Agent 的共用規範標準就是 Skills,我們會帶大家實作一個簡單的 Skills 機制,讓你的 AI Agent 只要透過 markdown 檔,就可以讓非技術人員的一般使用者也可以客製自動化流程,或是搭配
CLI 工具與 MCP 伺服器等擴充模型能力,而不需要倚賴技術人員修改或是撰寫額外的程式碼。
|建構彈性的 MCP 系統|
即使有了 Skills 機制,也需要能夠實際完成任務的工具,MCP
就是其中之一。除此之外,MCP 也是擴充模型能力的好幫手,書中會設計讓使用者透過設定檔就能幫 AI Agent 串接各式功能 MCP 伺服器的機制,不論是要讀寫檔案、執行本機指令、操控瀏覽器,或是使用遠端 API 等等,都可以方便達成。
|Live API|
用講的絕對比用打的更快,書中會用 Live API 實作可隨時中斷插話的即時語音系統,讓你的 AI Agent 彷彿真人用講的就可以操控,而且還會自動記錄交談內容,維持前文脈絡,讓一般使用者透過口說介面就可以使用你的 AI Agent。
|把 Google 生態系當靠山|
網頁搜尋、找地點誰能比得過 Google,利用 Gemini
API 內建工具即可直通 Google 搜尋與地圖,即時資訊一點都不漏,為模型補充新知識。
|多模態輸入/輸出|
讓你的 AI Agent 像是 NotebookLM 那樣看圖、看影片、聽語音,即使是 YouTube 影片,也可以直接丟連結自動處理。此外,透過 Gemini API,也可以用最強的 Nano Banana Pro 生圖、Veo 3.1 生影片通通沒問題。
|詳解 Function Calling 機制|
不論是要使用 MCP 伺服器或是 Skill 擴充模型功能、建置自動化流程,最終都需要倚賴 Function Calling 機制,因此在開發 AI Agent 時,最關鍵的就是把 Function Calling 架構好,對於 AI Agent 內建就要支援的功能,就可以利用 Function Calling 以自訂函式提供,效能遠勝需要傳輸成本的 MCP 伺服器與 Skill。有了這樣的基礎,還可以作為讓 MCP 協定妥善運作的基石。
|Interactions API|
Gemini API 提供有 Interactions API,可以像是 Live API 那樣幫你自動在雲端記錄交談內容保持前文脈絡不失憶,對於文字交談形式的
AI Agent 非常方便,不需要在程式碼這一端儲存對話記錄。
本書特色:
□ 實作會打字就能無限擴充 Agent 功能的 Skills 機制
□ 建構修改設定檔就能串接各式功能的彈性 MCP 系統
□ 把 Google 生態系當靠山,網頁、地圖資訊百搜不漏
□ 用 Live API 實現隨時可插話的即時語音交談介面
□ 實現像 NotebookLM 一樣直接看懂 YouTube
影片的超能力
□ 用 Nano Banana Pro 生成高品質圖片、Veo
3.1 生成 4K 影片
□ 內建 URL Context 工具快速上傳文件實現 RAG
檢索系統
□ 讓模型用 Code Execution 工具寫程式搞定各種問題
□ 詳解實現 Agent 的最底層 Function
calling 機制
產品目錄
第 1 章 Gemini API 入門
1-1 為什麼要使用 API
學習 Gemini API 的好處
1-2 從零開始使用 Gemini API
認識 Gemini API 家族
牛刀小試
1-3 認識 token
使用 Vertex AI Studio 觀察 token 切割結果
在程式中計算 token 數量
實際送入模型的 token 數
1-4 認識訊息角色
訊息與角色
用系統指令幫模型制訂規則
1-5 錯誤處理
1-6 非同步方式使用 API
幫 API 的使用加上等待動畫
1-7 在沒有 Gemini API 套件的環境中使用 API
透過 requests 套件以 HTTP POST 使用 API
透過 HTTPX 套件以非同步方式使用 API
連 Python 都沒有的環境下使用 API
第 2 章 與模型交談的基礎
2-1 認識模型
控制參數
命名慣例
2-2 思考模式
用不具思考能力的模型解益智問答
使用會思考的模型完美解答
查看思考過程
控制思考深度
2-3 控制生成結果的變化性
控制活潑度的 temperature
篩除候選 token 的 top_p 與 top_k
2-4 生成結構化的資料
生成 JSON 格式
使用結構化輸出機制
2-5 多模態輸入
辨識照片內容
使用 Files API 上傳檔案
物件偵測
其他類型的檔案與 YouTube 影片
2-6 串流模式
利用生成器處理串流模式
逐漸顯示 Markdown 內容的技巧
2-7 文字生圖、影片、語音
修改既有的圖片
參考多張圖生成
生成高品質圖片--Imagen 模型
生成影片
生成語音
第 3 章 用自訂函式與內建工具幫模型長出感官手腳
3-1 讓模型使用自訂函式的 Function Calling 機制
Function Calling 基本概念
設計查詢即時溫度的函式
提供自訂函式資訊給模型
自動叫用函式
3-2 平行與多輪函式叫用
平行函式叫用--單次叫用多個函式
多輪函式叫用--進行多輪問答生成最後回覆
整合函式叫用的對談函式
串流模式下的函式叫用
可執行工作的自訂函式工具
3-3 內建工具
Google 搜尋工具
Google 地圖
Code Execution 程式碼執行工具
用 URL context 當網路爬蟲
使用檔案搜尋工具建置 RAG 功能
3-4 讓內建工具與自訂函式工具混用的方法
自訂函式工具不能與內建工具混用
用 Gemini 3 的魔法混用自訂函式與內建工具
用自訂函式包裝內建工具
在系統指令中加入既有事實
第 4 章 用 MCP 串接別人寫好的工具
4-1 MCP 簡介
MCP 的架構
MCP 用戶端與伺服器的傳輸方式
4-2 使用既有的 MCP 伺服器
建立以 uv 管理的 Python 環境
建立本章所要使用的專案
以 stdio 傳輸方式使用 MCP 伺服器
以 SSE 傳輸方式使用 MCP 伺服器
以 Streamable HTTP 傳輸方式使用 MCP
4-3 同時使用多個 MCP 伺服器
MCP 伺服器設定檔
載入 MCP 設定檔建立用戶端
設計可多輪交談的簡易程式
SSE 傳輸的逾時設定
顯示自動叫用歷程
4-4 幫聊天程式加上簡單的記憶
用串列記錄對話過程
儲存對話接續交談
讓內建工具與 MCP 伺服器混用
搭配使用串流模式
停用函式自動叫用機制
4-5 使用 Chat/AsyncChat 類別自動管理交談記錄
簡易的交談程式
儲存對話以及自訂函式與 MCP 伺服器混用
串流模式與停用函式自動叫用機制
4-6 MCP 設定檔的其他設定
設定 MCP 伺服器執行時的環境變數
設定 HTTP 表頭
第 5 章 自動記憶對話的 Interactions API
5-1 Interactions API 的基本用法
建立單輪對話
串接對話
取得特定 id 的交談內容
不儲存對話
顯示思考過程
5-2 多模態輸入/輸出
處理圖片
處理語音
輸入影片與 PDF 檔
5-3 函式叫用與內建工具
使用 FunctionParam 型別的字典描述函式
手動叫用函式
內建工具
可在背景執行的 Agent:Deep Research
5-4 MCP
自動叫用 MCP 工具
手動叫用 MCP 工具
5-5 串流模式
以事件為基礎的串流生成流程
串流模式下的函式叫用
5-6 整合成可多輪對話的聊天程式
增加 MCP 相關的輔助函式
交談迴圈
第 6 章 即時語音交談--Live API
6-1 Live API 的基本架構
使用文字模式認識 Live API
建立文字版本的即時交談範例
測試文字版即時交談範例
6-2 為即時交談程式加上語音功能
使用 pyaudio 套件提供語音功能
播放模型生成的語音
使用麥克風輸入提示內容
顯示使用者的語音內容
6-3 讓即時語音使用外部工具
幫即時語音加入自訂函式與內建工具
幫即時語音加入 MCP 工具
6-4 讓即時語音交談程式自動重新連線
復原交談階段
儲存摘要供下次執行程式復原記憶
6-5 Live API 的其他設定
設定聲音
控制思考深度
第 7 章 實作 CLI 工具與簡易的 Skills 機制
7-1 建立可讓其他人使用的 CLI 工具
以模組形式建立 CLI 專案
在專案以外的地方執行
安裝到t統直接執行
把聊天程式變成 CLI 工具
7-2 簡易的 Skills 機制
Skill 概念
Skill 檔的基本結構
簡易 Skills 模組
為聊天程式加入 Skills 機制
測試 Skills 機制
精簡 MCP 伺服器提供的工具
替換不同的 MCP 伺服器
7-3 使用 CLI 工具加上 Skills 替代 MCP 伺服器
讓模型執行系統上的程式
使用 CLI 工具替代 MCP 伺服器
讓模型自己學會特定 CLI 工具的用法
7-4 幫聊天程式加上使用者自定義的規則系統
幫 MCP 設定加上可在執行時期自訂內容的變數
讓 AI Agent 寫程式
建立自定義系統補足系統指令
讓 AI Agent 照我們的規則寫程式
AI Agent 設計建議
規格
退貨說明
退貨須知:
- 依照消費者保護法的規定,您享有商品貨到次日起七天猶豫期(含例假日)的權益(請注意!猶豫期非試用期),辦理退貨之商品必須是全新狀態(不得有刮傷、破損、受潮)且需完整(包含全部商品、配件、原廠內外包裝、贈品及所有附隨文件或資料的完整性等)。
- 請您以送貨廠商使用之包裝紙箱將退貨商品包裝妥當,若原紙箱已遺失,請另使用其他紙箱包覆於商品原廠包裝之外,切勿直接於原廠包裝上黏貼紙張或書寫文字。若原廠包裝損毀將可能被認定為已逾越檢查商品之必要程度,本公司得依毀損程度扣除回復原狀必要費用(整新費)後退費;請您先確認商品正確、外觀可接受,再行拆封,以免影響您的權利;若為產品瑕疵,本公司接受退貨。
依「通訊交易解除權合理例外情事適用準則」,下列商品不適用七日猶豫期,除產品本身有瑕疵外,不接受退貨:
- 易於腐敗、保存期限較短或解約時即將逾期。(如:生鮮蔬果、乳製品、冷凍冷藏食材、蛋糕)
- 依消費者要求所為之客製化給付。(如:客製印章、鋼筆刻字)
- 報紙、期刊或雜誌。
- 經消費者拆封之影音商品或電腦軟體。
- 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,經消費者事先同意始提供。(如:電子書)
- 已拆封之個人衛生用品。(如:內衣褲、襪類、褲襪、刮鬍刀、除毛刀等貼身用品)
- 國際航空客運服務。
若您退貨時有下列情形,可能被認定已逾越檢查商品之必要程度而須負擔為回復原狀必要費用(整新費),或影響您的退貨權利,請您在拆封前決定是否要退貨:
- 以數位或電磁紀錄形式儲存或著作權相關之商品(包含但不限於CD、VCD、DVD、電腦軟體等) 包裝已拆封者(除運送用之包裝以外)。
- 耗材(包含但不限於墨水匣、碳粉匣、紙張、筆類墨水、清潔劑補充包等)之商品包裝已拆封者(除運送用之包裝以外)。
- 衣飾鞋類/寢具/織品(包含但不限於衣褲、鞋子、襪子、泳裝、床單、被套、填充玩具)或之商品缺件(含購買商品、附件、內外包裝、贈品等)或經剪標或下水或商品有不可回復之髒污或磨損痕跡。
- 食品、美容/保養用品、內衣褲等消耗性或個人衛生用品、商品銷售頁面上特別載明之商品已拆封者(除運送用之包裝外一切包裝、包括但不限於瓶蓋、封口、封膜等接觸商品內容之包裝部分)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
- 家電、3C、畫作、電子閱讀器等商品,除商品本身有瑕疵外,退回之商品已拆封(除運送用之包裝外一切包裝、包括但不限於封膜等接觸商品內容之包裝部分、移除封條、拆除吊牌、拆除貼膠或標籤等情形)或已非全新狀態(外觀有刮傷、破損、受潮等)與包裝不完整(缺少商品、附件、原廠外盒、保護袋、配件紙箱、保麗龍、隨貨文件、贈品等)。
- 退貨程序請參閱【客服專區→常見問題→誠品線上退貨退款】之說明。










































































































