把整個 Google 變成你的 AI Agent

把整個 Google 變成你的 AI Agent

📌 本文重點

  • google/skills 是 Google 產品專用的 AI Agent 工具箱
  • 透過現成 skills,LLM 可直接操作 Gmail / Calendar / Drive
  • 幾十行 Python 就能做出實用的 Workspace 自動化 Agent
  • 重視權限、安全與流程設計,才能放心在公司環境使用

用一句話說清楚:google/skills 是一個專門替 Google 產品包好的「AI Agent 工具箱」,讓 LLM 不只會聊天,還能直接幫你操作 Gmail、Calendar、Drive 等服務。

專案連結:https://github.com/google/skills


google/skills 是什麼?可以幹嘛?

用開發者的語言講:

  • 這是一組 Python 套件 + 一堆已實作好的「工具(skills)」
  • 每個 skill 就是一個可被 LLM 呼叫的函式,背後已幫你處理好 Google API 認證、資料結構、錯誤處理
  • 你只要把這些 skills 接到你熟悉的 Agent 框架(或自己寫個 loop),LLM 就能:
  • Gmail 搜尋、讀取、回覆郵件
  • Google Calendar 建立、更新、刪除行程
  • Google Drive 找檔案、讀內容
  • 以及其他 Google 產品(例如 Docs / Sheets / Tasks 等)

💡 關鍵: 把繁瑣的 Google API 細節封裝成 skills,讓你專注在設計 Agent 流程,而不是處理認證與資料結構。

目前常見支援的產品與典型技能

以 GitHub 專案內容與官方範例為主,目前重點集中在 Workspace 產品:

  • Gmail:搜尋郵件、讀取內容、標記已讀、建立草稿、送出郵件
  • Calendar:建立事件、更新時間/地點、取消會議、查詢空檔
  • Drive:列出檔案、搜尋、下載內容、讀取檔案文字(搭配 API 或其他工具)
  • Tasks / Docs / Sheets:視版本與模組更新擴充,作為實驗性 skills 提供

你可以把它想成:「Google 幫你寫好一堆『LLM 可安全使用的 Google API wrapper』,你只要負責接到自己的 Agent。」


核心功能:讓 LLM 真的「動手做事」

下面用三個代表性技能,拆開來看它怎麼組成一條完整工作流。

1. Gmail:搜尋 + 回覆郵件

能做的事

  • 根據條件(發信人、標題關鍵字、時間)搜尋郵件
  • 讀取郵件主旨、內容、附件資訊
  • 由 LLM 生成人性化回覆,再用 skill 建草稿或直接寄出

你可以怎麼用

  • 自動整理每日「待回覆」郵件清單
  • 給 Agent 一句自然語言指令:
  • 「幫我找這週所有含『報價』的客戶信,產出一封統一回覆草稿」

2. Calendar:建立 / 修改行程

能做的事

  • 建立新事件(時間、地點、參與者、線上會議)
  • 更新時間或加入備註
  • 查詢某段時間的空檔

你可以怎麼用

  • 讓 LLM 從郵件裡抓出「時間 + 地點 + 主題」,自動變成 Calendar 事件
  • 用一句話:
  • 「把明天 3–5 點標成『專注工作』,不要排會議」

3. Drive:從檔案抓資料

能做的事

  • 依檔名、類型、擁有者搜尋檔案
  • 下載或讀取檔案(再交給 LLM 摘要)

你可以怎麼用

  • 找到昨天產出的報表,請 LLM 摘要要點後寄給主管
  • 自動從會議紀錄整理 action items,寫回 Google Docs

把它們串起來:一條完整工作流範例

例子:自動從郵件抓會議資訊 → 建行程 → 建備忘錄

  1. Agent 用 Gmail skill 搜尋主題含「Meeting」「邀請」的未讀信
  2. LLM 解析郵件內容,抽出:會議主題、時間、地點、參與者
  3. 用 Calendar skill 建立事件,寫入摘要與會議連結
  4. 用 Drive/Docs skill 建一份「Meeting Notes」文件,寫入議程、預先問題

你只要負責描述「整體目標」,LLM 會自己決定何時呼叫哪個 skill。你的程式碼變得像是在描述流程,而不是在寫一堆 API 呼叫細節。

💡 關鍵: 一旦 workflow 串起來,同一套 skills 可以重複組裝出不同的自動化場景,大幅降低開發新 Agent 的成本。


實戰場景:把散落在 Workspace 的動作串起來

下面是幾個可以立即實作的場景,每一個都對應到你可以「今天就試做」的腳本。

1. 個人行程助理

需求:每天早上想知道今天有哪些會議、重要信件、待辦。

可以怎麼做

  • Gmail:抓「星號」或加標籤的關鍵郵件
  • Calendar:列出今天所有會議與空檔
  • Tasks / Drive:列出今日到期的任務與文件
  • LLM 整理成一封「每日簡報」,寄到 Gmail 或 Slack

👉 可行動:用本文後面的「每日早上報告 Agent」最小範例修改即可。

2. 客服工單整理

需求:客服信都在 Gmail,手工整理太慢。

技能組合

  • Gmail:抓取特定 label(例如 support)的所有新信
  • LLM:
  • 自動分類(bug、退款、帳號問題)
  • 抽出關鍵欄位(客戶、產品、影響範圍)
  • Drive/Sheets skill:寫入 Google 試算表,讓團隊追蹤

3. 銷售線索追蹤

需求:商務開發信散落在 Gmail、會議安排在 Calendar、紀錄在 Drive。

技能組合

  • Gmail:搜尋含「報價」「demo」關鍵字的信
  • Calendar:對應已有 / 尚未安排會議的線索
  • Drive:讀取對應的提案文件
  • LLM:產出「Sales pipeline 摘要」,再寄給業務團隊

4. 團隊報表自動彙總

需求:每週要整理多份 Google Sheets / Docs 的數據與摘要。

技能組合

  • Drive:搜尋指定資料夾裡的所有報表
  • Sheets/Docs skill:抓出指定欄位/段落
  • LLM:彙整成一份「本週關鍵指標 + 亮點 + 風險」
  • Gmail:寄給管理層

每個場景本質上都是:用 skills 拉資料 → LLM 處理 → 再用 skills 寫回 Google 生態

💡 關鍵: 只要 Workspace 流程是「讀資料 → 分類/摘要 → 回寫」,幾乎都能用同一套模式快速自動化。


怎麼開始:從零到一的小 Agent(Python)

這段寫給已經會基本 Python 的讀者。目標是做一個:

「每日早上 9 點,整理今天的會議與重要郵件,寄一封報告給自己」

步驟一:安裝套件與專案結構

pip install google-skills openai  # 或你要用的 LLM 客戶端

一個最小專案結構可以是:

project/
  main.py          # 主程式,Agent 邏輯
  skills_config.py # Google skills 初始化
  .env             # 儲存 API Key 等環境變數

步驟二:設定 Google API 憑證與權限

  1. 前往 https://console.cloud.google.com/
  2. 建立專案,啟用:
  3. Gmail API
  4. Calendar API
  5. (若需 Drive,就再開啟 Drive API)
  6. 建立 OAuth 用戶端 / Service Account 憑證
  7. 下載憑證 JSON,放進你的專案中,路徑寫在環境變數(例如 GOOGLE_APPLICATION_CREDENTIALS

google/skills 會讀這些設定,幫你處理 OAuth 流程。第一次執行會要你開瀏覽器認證,通過後就可以長期使用。

步驟三:初始化 skills

# skills_config.py
from google.skills import GmailSkill, CalendarSkill

gmail_skill = GmailSkill(scopes=[
    "https://www.googleapis.com/auth/gmail.readonly",
    "https://www.googleapis.com/auth/gmail.send",
])

calendar_skill = CalendarSkill(scopes=[
    "https://www.googleapis.com/auth/calendar",
])

TOOLS = {
    "gmail": gmail_skill,
    "calendar": calendar_skill,
}

(實際類名與參數以官方 GitHub 為準,這裡是示意寫法。)

步驟四:寫一個最小「每日報告」 Agent

下面示意一個 純 Python + LLM + skills 的簡易 loop:

# main.py
import datetime as dt
from skills_config import TOOLS
from openai import OpenAI

client = OpenAI()


def get_today_summary():
    today = dt.date.today().isoformat()

    # 1) 用 Gmail skill 抓今天重要信件(實際用法依官方 API)
    important_emails = TOOLS["gmail"].search_messages(
        query="label:STARRED newer_than:1d"
    )

    # 2) 用 Calendar skill 抓今天所有事件
    events = TOOLS["calendar"].list_events(
        time_min=today + "T00:00:00Z",
        time_max=today + "T23:59:59Z",
    )

    prompt = f"""
你是一個助理,請用條列整理以下資訊:
1. 今日重要郵件(寄件人 + 主題)
2. 今日會議(時間 + 標題)

重要郵件:{important_emails}
今日行程:{events}
"""

    resp = client.chat.completions.create(
        model="gpt-4o-mini",  # 或你使用的其他 LLM
        messages=[{"role": "user", "content": prompt}],
    )
    return resp.choices[0].message.content


def send_daily_report():
    summary = get_today_summary()
    TOOLS["gmail"].send_message(
        to="your_email@example.com",
        subject="今日工作總覽",
        body=summary,
    )


if __name__ == "__main__":
    send_daily_report()

接下來只要用 crontab 或任一排程工具,每天早上 9 點跑一次 python main.py,你就有一個真正會「用 Gmail + Calendar 幫你工作」的小 Agent 了。


延伸玩法:接到 LangGraph / MCP / 自建 loop

google/skills 本身只是一組工具,你可以自由接到任何 Agent 框架。

常見接法比較

名稱 核心功能 免費方案 適合誰
LangGraph 圖形化定義 Agent workflow、狀態機 開源 要做複雜流程 / 多工具協作
MCP 標準化「工具伺服器」協議 規格開源 想讓多個模型共用同一組工具
Simple loop(自建) while-loop + tool call + LLM 只要有 LLM 即可 想快速測試、腳本導向

怎麼接 google/skills?

  • LangGraph:把 Gmail/Calendar skill 包成「tool node」,用 graph 描繪整條流程(例如:先讀 mail → 判斷 → 建行程)。
  • MCP:把 google/skills 包成 MCP 工具伺服器,就像 Reddit 上有人把產品目錄接到 Claude 一樣,任何支援 MCP 的 Agent 都能呼叫這組 Google 工具。
  • 自建 loop:如前面的 send_daily_report(),自己在程式裡控制什麼時候 call 哪個 skill。

實務注意事項:安全、權限與 rate limit

在公司環境用 google/skills,這幾點非常重要:

  1. 最小權限原則
  2. 只開啟必要的 scopes,例如只讀 Gmail 就不要給 send 權限
  3. 針對不同 Agent 建不同憑證,避免權限過大
  4. 審計與日誌
  5. 記錄每次工具呼叫(誰、什麼時候、對哪個帳號)
  6. 公司內部可用 SIEM / 日誌系統統一管理
  7. Rate limit 與配額
  8. Google API 有配額,批次任務要加上 sleep / retry
  9. 測試環境與正式環境要分開憑證,避免測試爆掉正式配額
  10. LLM 安全邏輯
  11. 對「寫入」類操作(寄信、刪除事件)加上確認步驟
  12. 可用 rule-based filter:例如禁止刪除某些標籤信件

總結:把「會聊天的 LLM」變成「會用 Google 的助理」

如果你已經每天活在 Gmail、Calendar、Drive 裡,google/skills 的價值很單純:

  • 你不用再對著 Google API 文件苦讀,只要調用現成的 skills
  • LLM 能真的幫你「按按鈕、拉資料、寫回去」,而不是只給你建議
  • 從個人行程助理,到團隊報表自動化,都可以在幾十行 Python 內完成第一個版本

先從一個小腳本開始:「每日早上發報告」,跑通一次之後,你就會自然開始想把更多 Workspace 工作交給你的 Agent。

🚀 你現在可以做的事

  • 打開 google/skills GitHub 專案,瀏覽支援的 skills 清單與範例程式
  • 依照文中的「每日報告 Agent」範例,在本機建立一個最小 Python 專案跑通一次
  • 在你的 Workspace 工作流中,挑一個「讀資料 → 整理 → 寄出」流程,試著用 google/skills + LLM 自動化它

留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *