跳至主要內容
ESC
Study Jam:GenAI 開發者實戰 — 第 19/29 篇

Vertex AI + Flutter 打造 AI Agent

GCP

課程概述

AI Agent 不該只活在電腦螢幕上,手機裡的 AI 助理才是使用者最常碰到的互動介面。這堂課把 Vertex AI 的 GenAI 能力跟 Flutter 的跨平台框架湊在一起,帶你做出一個能跑在 iOS 和 Android 上的 AI Agent 應用,從 Agent 架構設計一路講到行動端的 UI 互動。

你將學到

  • 設計行動端 AI Agent 的架構:Firebase 中介 + Vertex AI 後端
  • 在 Flutter 應用中整合 Gemini API 呼叫
  • 實作 Agent 的多步驟任務執行與工具調用
  • 處理行動端特有的挑戰:網路延遲、離線模式、電量優化
  • 使用 Firebase 管理對話狀態與使用者資料

核心概念

行動端 Agent 架構

行動端 AI Agent 的典型架構分成三層。Flutter 前端負責使用者互動跟本地狀態管理;Firebase 中介層(Cloud Functions)負責 API 路由、認證與 Session 管理;Vertex AI 後端負責 LLM 推論、工具調用與知識檢索。Firebase 在這裡是很關鍵的中介角色,它用即時資料庫(Firestore)存對話歷史、用認證服務驗證使用者身分,再用 Cloud Functions 處理後端邏輯。

Flutter 與 Gemini 的整合方式

Flutter 整合 Gemini 有兩種做法。第一種是用 Google 的 google_generative_ai(Google AI Dart SDK)套件,直接從前端呼叫 Gemini API,簡單場景夠用,但會踩到安全問題(API Key 暴露)。第二種是拿 Cloud Functions 當中間層,前端只跟 Firebase 通訊,後端再去跟 Vertex AI 互動,這才是生產環境建議的做法。

Agent 的對話與狀態管理

AI Agent 得記住跨輪次的對話上下文。在行動端,對話歷史會同時放兩個地方:本地端(讀取快,可以離線瀏覽),還有 Firestore(跨裝置同步,持久化儲存)。每次使用者送出訊息,前端會把訊息加進本地歷史並上傳到 Firestore,Cloud Functions 再從 Firestore 讀完整歷史組出 Prompt,呼叫 Vertex AI 之後把回應寫回 Firestore,前端就靠即時監聽更新顯示。

行動端的效能優化

行動端的 GenAI 應用要特別顧好效能:用串流回應減少使用者的等待焦慮;把常查的結果快取起來,省掉重複呼叫 API;做好離線優雅降級(提示使用者需要網路連線);再來是監控 Token 使用量,別超出配額。Gemini Nano 可以直接在裝置端跑,適合隱私敏感或需要離線工作的場景。

實作重點

  • 建立 Flutter 專案並設定 Firebase 整合(Authentication、Firestore、Cloud Functions)
  • 在 Cloud Functions 中撰寫呼叫 Vertex AI Gemini API 的後端邏輯
  • 實作對話式 UI:訊息氣泡、串流文字動畫、載入指示器
  • 為 Agent 定義至少一個工具函式(如查詢天氣、搜尋知識庫),實作 Function Calling 流程
  • 測試離線模式的行為,確保應用不會在無網路時崩潰

Lab 導讀

Lab 連結Build Generative AI Agents with Vertex AI and Flutter — Google Cloud Skills Boost

這個 Lab 大概是整門課技術難度最高的幾個之一,前端開發(Flutter)、後端開發(Cloud Functions)跟 AI 整合(Vertex AI)全都湊在一起。動手之前,建議你對 Flutter 的基礎語法先有一定了解。這個 Lab 的重點在架構設計,搞懂各元件之間的資料流,比記住具體程式碼更重要。

延伸學習

Study Jam:GenAI 開發者實戰 — 19/29 完成 查看系列全覽 →

留言討論

徽章解鎖!