標籤: 工作流程自動化

  • Symphony 與自管 Agent 的技術拆解

    Symphony 與自管 Agent 的技術拆解

    📌 本文重點

    • 讓 Agent 主動拉工單並自排程,減少工程師 babysit
    • 採用混合 Multi-Agent 模式與明確權限邊界
    • 透過 Task Queue + Worker + 審批閘門串起從工單到 PR 的全流程

    人類注意力已經成為工程團隊採用 AI 助手的主要瓶頸:Agent 能寫 code,但你要一直盯著它。Symphony 類的自管 Agent 系統,直接改變的是這件事:

    從「工程師 babysit 多個 Agent」→「Agent 自己從 Linear / Jira 拉工單、自排程、跑完整個 CI/CD pipeline,只在關鍵節點請你按一次 Approve」。

    下面從實作角度拆解:如何設計任務拉取、Multi-Agent workflow、與 CI/CD 權限邊界;最後給一個「自動修 bug → 開 PR → 回寫 Linear 狀態」樣板。


    重點說明

    1. 工單拉取與任務自排程

    核心是讓 Agent 變成一個長壽命 worker,定期從任務池拉工單,而不是被動等待 API 呼叫。

    工單來源

    • Linear: /issues, /webhooks, /comments
    • Jira: /rest/api/3/search, /rest/api/3/webhook

    Polling vs Webhook

    • Polling(簡單好 Debug)
    • 優點:
      • 實作簡單,只要定時 cron + API token
      • 不怕 webhook misconfig / 防火牆問題
    • 缺點:

      • 有延遲(30s–5min)
      • 需要自己做去重 / 任務狀態同步
    • Webhook(推薦長期方案)

    • 優點:
      • 事件即時觸發,適合高優先 bug / incident
      • 可根據事件類型直接分路由(bug vs feature)
    • 缺點:
      • 需要公開 endpoint + 驗簽
      • 部署與權限設定更複雜

    實務上常用 混合策略

    • Webhook 處理新建 / 更新事件
    • Polling 每隔 5–10 分鐘做 reconcile,修正漏觸發 / 失敗同步

    💡 關鍵: 用「Webhook 即時 + 每 5–10 分鐘 Polling 校正」的混合策略,可以在保持即時性的同時降低漏事件風險。

    任務分派與併發控制

    • 任務表核心欄位建議:
    • id, source(issue_id), priority, status(queued/running/failed/done), agent_type, lock_owner, lock_expires_at
    • 分派策略可以簡化成:
    • 優先級隊列:依 Linear priority / label 映射成數值
    • 技能匹配:根據 label → agent_type(例如 frontend, backend, infra

    併發與重試控制的關鍵:樂觀鎖 + visibility timeout

    -- 簡化的任務鎖定 SQL
    UPDATE tasks
    SET status = 'running', lock_owner = :agent_id, lock_expires_at = NOW() + interval '15 minutes'
    WHERE id = (
      SELECT id FROM tasks
      WHERE status IN ('queued', 'failed')
        AND (lock_expires_at IS NULL OR lock_expires_at < NOW())
      ORDER BY priority DESC, created_at ASC
      LIMIT 1
      FOR UPDATE SKIP LOCKED
    )
    RETURNING *;
    

    好處

    • 避免多個 Agent 搶同一張工單
    • Agent 崩潰 / timeout 時,lock 過期後可被其他 Agent 接手(類似 SQS visibility timeout)

    2. Multi-Agent:中心協調 vs 任務接力

    現代多 Agent 系統基本都落在兩種模式上(參考 Agents as Tools vs Handoffs)。

    模式 A:中心協調(Agents as Tools)

    • 一個「指揮官」Agent + 多個「工具」Agent
    • 主 Agent 保留全局 context 與決策權,子 Agent 像 function call

    • 示意(虛擬 code):

    const orchestrator = new OrchestratorAgent({
      tools: {
        codeAgent: callCodeAgent,
        testAgent: callTestAgent,
        infraAgent: callInfraAgent,
      }
    });
    
    await orchestrator.run({
      goal: "Fix bug #123 in service A and deploy to staging",
      constraints: { require_approval_for_deploy: true }
    });
    

    適合

    • 需求不明確,需要動態拆解子任務
    • 需要統一治理(quota、安全策略、審計)

    模式 B:任務接力(Handoffs)

    • 任務隨流程在 Agent 之間流動
    • 每個 Agent 處理完就寫結果 + 下一步指派
    // task.payload 示例(存在 DB / Task Queue)
    {
      "status": "code_fixed",
      "next_agent": "test_agent",
      "artifacts": {
        "branch": "fix/BUG-123-null-pointer",
        "diff_summary": "..."
      }
    }
    

    適合

    • Pipeline 已穩定(bugfix → test → PR → notify)
    • 易於水平擴展,每個 Agent 是一組 worker

    實務建議:多數專案採用 混合

    • 一個 中心協調 Agent,但遇到標準化步驟(跑測試、開 PR、通知 Slack)時,交給 固定 handoff stage 的 worker;類似「主流程由 LLM 控制,heavy lifting 由 deterministic step 執行」。

    💡 關鍵: 把「決策」交給中心協調 Agent,把「重複且標準化的步驟」交給固定 worker,可以在保持靈活度的同時確保穩定性與成本可控。


    3. 與 CI/CD、code review、事故流程整合

    自管 Agent 的威力,取決於你如何設計 權限邊界 + 審批閘門

    權限邊界設計

    • Repo 層級:
    • 建立專用 GitHub App / GitLab Token,只開放:
      • repo:contents:write(但限制特定 org / repo)
      • pull_request:write
    • 禁止直接 push main / production branch
    • 環境層級:
    • Agent 只允許:
      • Deploy 到 staging / preview env
      • 觸發 read-only incident tooling(查 log、查 metrics),不要一開始就給 rollback / scale 權限

    審批閘門(approval gate)

    • 在 CI pipeline 加一個手動 stage,例如 GitHub Actions:
    jobs:
      tests:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
          - run: npm test
    
      deploy_staging:
        needs: tests
        if: github.actor == 'agent-bot'
        environment:
          name: staging
          # GitHub Environments 的 Reviewers 即是 approval gate
        steps:
          - run: ./deploy-staging.sh
    

    審計 log

    • 每個關鍵行為都應落地:
    • 取得工單(issue_id, agent_id, reason, time
    • 對 repo 的修改(branch, commit_sha, diff_summary, tests_run
    • 任何 CI/CD trigger(workflow_id, inputs, result

    • 建議統一經過一個 AuditService.log(event)

    await AuditService.log({
      actor: "agent-bot",
      action: "CREATE_PR",
      metadata: {
        issue_id: "ENG-1234",
        repo: "org/service-a",
        branch: "fix/ENG-1234-null-pointer",
        pr_url: "https://github.com/..."
      }
    });
    

    💡 關鍵: 把權限鎖在「staging + PR 層級」並配合審批閘門與審計 log,可以在不影響生產安全的前提下,讓 Agent 最大化自動化範圍。


    實作範例:從 Linear 抓 bug → 開分支 → 修 code → 開 PR → 回寫狀態

    以下是一個縮小版 blueprint,你可以直接改成自家 stack。

    1. 任務入口:Linear Webhook + 任務表

    Linear Webhook 指向你的 /linear/webhook

    // Express 風格
    app.post('/linear/webhook', async (req, res) => {
      const event = req.body;
    
      if (event.type === 'IssueCreated' || event.type === 'IssueUpdated') {
        const issue = event.data;
    
        // 僅處理 bug + 特定 team
        if (issue.team.key === 'ENG' && issue.labelNames.includes('bug')) {
          await TaskRepo.enqueue({
            source: 'linear',
            source_issue_id: issue.id,
            priority: mapLinearPriority(issue.priority),
            agent_type: 'bugfix',
            status: 'queued'
          });
        }
      }
    
      res.sendStatus(200);
    });
    

    2. Bugfix Agent Worker(核心 loop)

    async function bugfixWorkerLoop() {
      while (true) {
        const task = await TaskRepo.acquireNext('bugfix', process.env.AGENT_ID);
        if (!task) {
          await sleep(5000);
          continue;
        }
    
        try {
          const issue = await LinearApi.getIssue(task.source_issue_id);
          const repo = mapIssueToRepo(issue);
          const branch = `fix/${issue.identifier}-${slug(issue.title)}`;
    
          await GitService.createBranch({ repo, from: 'main', branch });
    
          const diff = await CodeAgent.fixBug({
            repo,
            branch,
            issue_description: issue.title + '\n\n' + issue.description,
            files_hint: inferRelatedFiles(issue)
          });
    
          await GitService.commitAndPush({ repo, branch, message: `fix: ${issue.identifier}` });
    
          const pr = await GitService.createPR({
            repo,
            branch,
            base: 'main',
            title: `[Agent] Fix ${issue.identifier}: ${issue.title}`,
            body: renderPRBody(issue, diff)
          });
    
          await LinearApi.updateIssue(task.source_issue_id, {
            state: 'In Review',
            descriptionAppend: `\n\nLinked PR: ${pr.url}`
          });
    
          await TaskRepo.markDone(task.id);
        } catch (err) {
          await TaskRepo.markFailed(task.id, { error: String(err) });
        }
      }
    }
    

    關鍵點

    • CodeAgent.fixBug 本身可以是一個 Symphony / Claude Managed Agent:
    • 有自己的工具:get_file, apply_diff, run_tests
    • 有自己的「Outcomes」條件(例如:測試必須綠燈、diff 不能超過 500 行)
    • Worker loop 要能容錯:task failure 不要直接 crash process

    3. 錯誤恢復與常見坑

    (1) stale context / 版本衝突

    • 現象:Agent 基於舊 commit 生成 patch,push 時發現 remote 已有新 commit
    • 對策:
    • createBranch 前先 git fetch + 檢查 main 是否有新 commit
    • 若有衝突,改用 rebase + 再跑一次 CodeAgent,或直接加標籤請人工處理

    (2) 任務飢餓(某些工單一直排不到)

    • 常見原因:
    • 單純用 FIFO,長工時任務卡住隊列
    • 高 priority 任務一直插隊
    • 對策:
    • 採用 優先級 + aging:等待時間越久,自動提高 effective priority
    • 給長任務單獨的 queue 或 agent_type

    (3) 被動等待人工決策,Agent 資源被佔住

    • 例如:Agent 開 PR 後要等 Reviewer,期間 worker 就 idle with lock
    • 對策:
    • 把「等待人工」拆出成另一個狀態:
      • 任務設為 status = waiting_human
      • PR merge / Linear 狀態變更時再由 webhook 建下一個 task(例如 deploy)

    (4) AI 決策不穩(修了錯問題)

    • 這是現在 Agent 最大痛點之一(參考「AI is getting better at doing things, but still bad at deciding what to do」)。
    • 對策:
    • CodeAgent 設定明確 Outcome 定義
      • 測試要準備好一組 reproduction test
      • 用獨立 Evaluator Agent 根據 log / diff 給出 pass / needs-clarification
    • 讓 Agent 更常問問題:若重現步驟不完整,直接在 Linear 開 comment 要求補充,而不是盲修。

    建議與注意事項

    1. 從「觀察型 Agent」開始,不要一開始就給寫入權限

    2. 先只允許:讀工單 → 產生修復方案 / diff 草稿 → 貼回 Linear。穩定後再打開 PR 寫入、最後才接 CI/CD。

    3. 集中化審計與開關

    4. 所有 Agent 行為走一個 Agent Gateway / Orchestrator,集中:

      • 配額控制
      • 風險開關(feature flag 一鍵關掉所有 auto-deploy)
      • log / metrics / alert
    5. 明確定義「哪一段流程可以 0 人工」

    6. 常見安全配置:

      • bugfix PR 可以由 Agent 全自動產生,但 merge 必須人工
      • staging deploy 可自動,production deploy 必須經 Slack / PagerDuty approve
    7. 將 Agent 視為「非穩定服務」而非傳統微服務

    8. 接受它偶爾會做奇怪決策,因此整個系統必須:

      • 有清楚的 rollback 路徑
      • 任務永遠由 queue 控制,不綁死在單一 process
      • 重要資源(code、infra)永遠有 versioning + 審批

    如果你已經有 Linear / Jira + GitHub + CI/CD 的基本骨架,其實不用重建世界:

    只要加上一個 Task Queue + Agent Worker + 守門的 Orchestrator/Approval Gate,你就能讓 Symphony 類的自管 Agent 為團隊接手一條完整的「從工單到 PR」流水線,真正從盯著 Agent 寫 code,變成只盯少數關鍵決策點。

    🚀 你現在可以做的事

    • 在現有 Linear / Jira 加一個 Webhook,寫入自建的 tasks 資料表作為任務池
    • 實作一個最小版 bugfixWorkerLoop,先只產生修復方案與 diff 草稿貼回工單
    • 在 CI/CD 中加入只對 agent-bot 生效的 staging deploy job,並配置 GitHub Environments 審批閘門
  • 用 Claude 直接操控 Photoshop、Blender

    用 Claude 直接操控 Photoshop、Blender

    📌 本文重點

    • Claude 透過 MCP 直接遠端操作 Blender / Photoshop / Ableton
    • 文字或語音就能生成場景、批次改圖與拉編曲草稿
    • 適合接案設計、3D 新手與小工作室提升產能
    • AI 負責「動手」、人類負責審核與最後決策

    用一句話講完:Claude 現在可以直接「動手幫你點 Photoshop、拉 Blender、調 Ableton」,把原本要慢慢點選單的操作變成一句話完成。

    文中提到的功能,來自 Anthropic 官方的 Claude 連接器(connectors / MCP),可參考:官方介紹The Verge 報導


    核心功能:先搞懂 MCP / Connector 是什麼

    先用白話講:

    • MCP(Model Context Protocol):一個「統一插頭」,讓 Claude 能安全地跟電腦上的軟體溝通。
    • Connector(連接器):插上這個「插頭」的具體線,比如 Blender 連接器、Photoshop 連接器、Ableton 連接器。

    你在 Claude 視窗打字(或用語音),它就會透過這些連接器,去幫你在軟體裡做事:

    不是教你怎麼點,而是直接幫你點。

    💡 關鍵: MCP 就像一個標準插頭,讓同一個 Claude 可以安全地「代操作」多種專業軟體,而不用每套軟體各自學一次指令。

    下面分軟體看可以做什麼,對應你可以立刻試的操作。


    1. 在 Blender 裡:從「文字」變成「場景」

    已知可做到的事(參考 Blender MCP 討論):

    • 用一句話生成低模場景
    • 自動清理 3D 掃描(減面、去雜訊、重新擺正)
    • 批次改物件、材質、節點
    • 調燈光、相機與渲染設定

    你可以直接試:

    中文範例

    「請用 Blender 連接器幫我:
    1. 建一個低多邊形海灘場景,有海水、沙灘、幾棵椰子樹和夕陽光線。
    2. 幫場景加三個鏡頭角度,並各渲染一張 1080p 圖片。
    完成後把相機位置和燈光設定整理成註解寫在場景裡。」

    English prompt

    “Using the Blender connector: create a low poly beach scene with palm trees and warm sunset lighting. Set up three different camera angles and render 1080p images for each. Add comments in the scene explaining the camera and lighting setup so I can learn from it.”

    如果你有 3D 掃描模型(例如 KIRI Engine 匯出的 .obj):

    「我已經在 Blender 開了一個場景,裡面有一個植被很多的 3D 掃描模型:
    – 幫我移除空中漂浮的碎片、把面數降低但保留大形體。
    – 調整模型讓主要主體正立,放在世界原點附近。
    – 加一套簡單三點打光並渲染 1 張預覽圖。」


    2. 在 Photoshop(或 Adobe 系列):用文字批次改圖

    依據 The Verge 報導,Claude 的 Adobe 連接器可以:

    • 建立新檔、開啟指定檔案
    • 新增 / 重新命名 / 隱藏圖層
    • 批次套用濾鏡、調整顏色
    • 幫你把繁瑣的重複動作寫成動作 / 腳本風格流程

    你可以直接試:

    「使用 Photoshop 連接器,幫我開啟這個專案檔:branding_master.psd
    1. 找出所有 LOGO 圖層,統一命名規則為 logo/版本名稱
    2. 把所有社群貼文尺寸的畫板,輸出為 1200×1200 PNG,背景保持透明,存到桌面的 export/social 資料夾。」

    再試一個批次調色:

    “Use the Adobe Photoshop connector to:
    – Duplicate the current file.
    – Create a new adjustment layer that slightly increases contrast and saturation for social media.
    – Apply it only to layers tagged as product shots and export them as high-quality JPGs in a new social_tuned folder.”

    💡 關鍵: 透過 Photoshop 連接器,原本要手動點選數十次的批次輸出與調色,可在一個指令裡一次完成,省下大量重複勞動。


    3. 在 Ableton:用語音/文字拉出編曲草稿

    根據官方說明,Ableton 連接器可以:

    • 建立 MIDI clip、放進不同 track
    • 調整節奏、loop 長度
    • 插入預設樂器和效果器

    你可以直接試:

    「用 Ableton 連接器幫我建立一個 120 BPM 的 lo‑fi 草稿:
    – 4 小節鼓組 loop、4 小節貝斯循環、8 小節和弦鋪底。
    – 風格接近 chillhop,請幫我選擇合適的內建音色。
    – 完成後 loop 成 90 秒,並匯出一個 MP3 demo。」


    常見連接器對照表

    名稱 核心功能 免費方案 / 價格狀況* 適合誰
    Blender Connector 生成低模場景、清理掃描、批次改物件 Blender 本身免費;Claude 需帳號 3D 新手、接案 3D 設計、技術美術
    Adobe Connector 控制 Photoshop / Illustrator 等操作 需 Adobe 訂閱+Claude 帳號 視覺設計、品牌設計、社群素材製作者
    Ableton Connector 建立 clip、調 tempo、插入樂器與效果 需 Ableton 授權+Claude 帳號 音樂製作人、Podcast / 影片配樂創作者

    *實際價格依 Anthropic / 各軟體官方方案為準。

    💡 關鍵: 軟體本身的授權費用照舊,只要多一個 Claude 帳號,就能把同一套 AI 工作流套用到 3D、平面與音樂三種不同領域。


    適合誰用:三種典型工作流

    1. 接案設計師:快速出 2–3 套草稿

    痛點:提案時間永遠不夠,客戶只看得見「改幾版」的速度。

    可以這樣用:

    • 在 Photoshop 連接器裡,讓 Claude 幫你:
    • 批次換配色(品牌 A / B / C)
    • 自動重排文案位置產生幾個版型
    • 一次輸出多尺寸(FB、IG、Story)

    示範提示詞:

    「我有一套活動主視覺 PSD,請用 Photoshop 連接器幫我:
    1. 複製成三個版本:藍色科技感、綠色環保感、紅色節慶感。
    2. 每個版本輸出 1920×1080 與 1080×1080 各一張 JPG,壓縮適合網路使用。」


    2. 3D 新手:用語音完成原本要學幾週的操作

    痛點:從「什麼是 Modifier」到「會做一個完整場景」中間的學習斷層很大。

    把 Claude 當成 3D 技術長:

    • 讓它先幫你生成場景
    • 再請它用註解方式教你每一步為什麼這樣做

    示範提示詞:

    「用 Blender 連接器幫我做一個簡單的『賽博朋克風格房間』:
    – 包含牆壁、桌子、椅子、一扇窗戶和幾個霓虹燈招牌。
    – 每做完一步,請在場景中用 Text 或註解標出用到的 Modifier / Node,並用給初學者看的方式解釋。」

    這種用法不是要你完全不學,而是先讓你有東西可以拆解和模仿


    3. 小工作室:把重複性建模與場景調整交給 AI

    痛點:案子多、人手少,很多時間浪費在「一點點改動但要改很多檔」。

    可以把 Claude 當「批次處理工程師」:

    • 批量改 20 個產品模型的尺寸或命名規則
    • 為一整批場景統一燈光風格
    • 自動加上 Render Layer、AOV 等技術設定

    示範提示詞:

    “Using the Blender connector, go through all objects whose name starts with prod_:
    1. Uniformly scale them so their longest dimension is 1.5m.
    2. Apply scale and center them on the ground plane.
    3. Set up a consistent three-point lighting rig and a 4K render preset for turntable animations.”


    怎麼開始:一個晚上跑完第一個 AI + Blender / Photoshop 專案

    步驟 1:安裝 Claude 桌面版

    1. 到 Anthropic 官網下載桌面版 Claude(目前支援 macOS / Windows):https://www.anthropic.com
    2. 用你的帳號登入(有地區或方案限制時,依官方最新說明為準)。

    步驟 2:在 Claude 內啟用連接器

    1. 打開 Claude 桌面版,找到 Connectors / 連接器 目錄(通常在側邊欄或設定中)。
    2. 在列表中找到:
    3. Blender Connector / Blender MCP
    4. Adobe / Photoshop Connector
    5. Ableton Connector
    6. 按「啟用」或「Add」,依提示授權存取你的軟體(可能會需要:
    7. 安裝一個 Blender 外掛
    8. 在 Adobe / Ableton 裡允許外部控制 / API)
    9. 確認 Claude 視窗中可以看到類似「Blender 連接器已可用」的訊息。

    步驟 3:建立你的第一個專案流程

    建議你照這個順序玩一輪,一個晚上夠用:

    1. Blender:生成一個低模場景
    2. 在 Claude 打:
      > 「請使用 Blender 連接器,從空白場景幫我建立一個低多邊形咖啡廳內部,並渲染一張 1920×1080 圖。」

    3. Photoshop:接手做後製

    4. 把剛剛渲染圖匯入 Photoshop 專案。
    5. 在 Claude 裡說:
      > 「用 Photoshop 連接器,幫我在這張圖上加上柔和的暗角與暖色調色,並加一個簡單的標題排版。」

    6. Ableton(選擇性):做一小段配樂 Demo

    7. 在 Claude 中下指令,讓它用 Ableton 連接器做 30–60 秒的 BGM 草稿。

    做到這裡,你就完成了:

    一個 Blender 場景 → Photoshop 調整 → Ableton 配樂的「全 AI 代操」小專案。


    實用安全界線:哪些步驟一定要人工檢查?

    AI 可以幫忙「動手」,但這幾件事建議你一定要自己看過:

    1. 3D 模型結構
    2. 工程用途(3D 列印、製造)時,一定要檢查:尺寸、厚度、是否有穿模、布林是否正常。
    3. 可參考這篇完全用 Claude 建模樹莓派外殼的例子,但作者也強調自己有做實體驗證:Raspberry Pi 外殼實例

    4. 美術風格與品牌一致性

    5. Photoshop 產出的調色與排版,只是起點,仍要你自己調校成符合品牌指引的版本。

    6. 版權與素材來源

    7. 若 Claude 幫你拉進外部素材(字型、圖片、音樂 loop),要確認授權是否可商用。

    8. 效能與檔案體積

    9. 大型場景、4K 貼圖、複雜節點:請注意電腦吃不吃得下,必要時指示 Claude:
      > 「請優先考慮效能,把貼圖解析度、粒子數量控制在中等。」

    只要把 AI 當成「會操作軟體的助手」,而不是「最終負責人」,就能在安全範圍內,把重複操作、初稿生成通通丟給它處理。


    行動建議總結:

    1. 今晚先安裝 Claude 桌面版+啟用 Blender 連接器。
    2. 用文中範例 prompt 做出第一個低模場景,再丟到 Photoshop 做一版海報。
    3. 每做完一個步驟,就要求 Claude 把操作邏輯寫成註解,順便當學習筆記。

    跑完一輪,你就會開始習慣:

    「我負責決定要做什麼,Claude 負責幫我在 Blender / Photoshop / Ableton 裡動手做。」


    🚀 你現在可以做的事

    • 到 Anthropic 官網下載 Claude 桌面版,並在設定中啟用至少一個你常用軟體的連接器
    • 挑本文任一範例提示詞,實際在 Blender 或 Photoshop 中跑完一個完整小任務
    • 在每次 Claude 操作後,手動檢查成果並要求它生成「操作說明註解」,累積成自己的工作流模板
  • TrendRadar:一句話問清今天網路在吵什麼

    TrendRadar:一句話問清今天網路在吵什麼

    📌 本文重點

    • TrendRadar 幫你每天自動整理「值得在意的事」
    • 透過多平台聚合 + AI 翻譯與情感分析過濾雜訊
    • 可與 ChatGPT/Claude 分工整合,從監控到決策一條龍
    • 開源專案,支援 Docker 快速自架部署

    每天打開社群、新聞、論壇一堆訊息轟炸,TrendRadar 的用途只有一個:幫你先把「今天值得在意的事」整理好,讓你用一句話就能問清楚今天網路在吵什麼。

    專案連結:https://github.com/sansan0/TrendRadar


    核心功能:把資訊過濾、翻譯、分析到位


    1. 多平台聚合:RSS + 關鍵字一次收攏

    TrendRadar 的第一步,就是幫你「收集」:

    • 支援 RSS 訂閱:新聞網站、部落格、論壇,只要有 RSS 都能加
    • 支援多平台來源:可以接常見內容源(Twitter/X、Telegram 頻道、各類資訊流等,具體依你配置的 RSS 和接口而定)
    • 關鍵字篩選:只保留跟你在意的議題相關的內容

    你可以這樣實際操作:

    1. 列出你真的在乎的 3–5 個主題:
    2. 例:品牌名稱、競品名稱、關鍵技術(LLM、RAG)、產業關鍵詞(電商、SaaS、生成式 AI)
    3. 找到對應的 RSS 或資訊源:
    4. 媒體:TechCrunch、36kr、Inside、數位時代等
    5. 技術:Hacker News、Product Hunt、GitHub Trending
    6. 在 TrendRadar 的設定檔中,把 RSS URL 和關鍵字寫進去(下文有具體步驟)。

    💡 關鍵: 先選好 3–5 個核心主題,再讓系統自動過濾,能最大幅度減少你每天要處理的雜訊量。

    效果:每天系統自動幫你從海量資訊中,先過一輪「話題相關性」的篩選,你只看自己訂的幾條線。


    2. AI 翻譯 + 情感分析:跨語言、看氣氛

    TrendRadar 不是只推原文連結,而是會先用內建的 AI 分析:

    • 自動翻譯:把英文、日文等新聞翻成中文摘要
    • 情感分析:判斷內容情緒(正面 / 負面 / 中性)
    • 概要整理:用幾句話抓出重點

    具體可以怎麼用:

    • 品牌輿情:
    • 快速看今天關於你品牌的討論是偏正面還是負面
    • 先看 AI 摘要,再決定要不要點進原文細讀
    • 技術動態:
    • GitHub Trending 上出現的新專案,先用中文看懂做什麼
    • 挑出「跟你技術棧有關」且熱度在上升的專案

    實際行動:

    1. 在 TrendRadar 設定好要做情感分析的關鍵字(例如你的品牌名、產品名)。
    2. 啟用 AI 翻譯與摘要(專案中已預設支持,依 README 配好 API Key 或本地模型)。
    3. 每天在通訊工具裡看一眼「今日摘要」,不用再一篇篇翻。

    3. 多通訊工具推送 + MCP:變成你自己的「輿情機器人」

    TrendRadar 支援把整理過的結果,推送到你已經在用的工具:

    • 微信
    • 飛書
    • 釘釋
    • Telegram
    • Slack
    • Email / ntfy / Bark 等

    你可以把它當成一個「只會講重點的資訊機器人」,每天固定時間或有關鍵事件時推播給你。

    更關鍵的是:TrendRadar 支援 MCP(Model Context Protocol),可以讓它和你現有的 AI 助手(例如 ChatGPTClaude)整合:

    • TrendRadar 負責:收集、過濾、打標(情感、主題)
    • ChatGPT/Claude 負責:深度分析、寫彙整報告、產生回應草稿

    實際可做的 workflow:

    1. TrendRadar 把今天跟品牌相關的負面事件整理成一份 JSON / 簡報式摘要。
    2. 在支援 MCP 的 AI 助手中,呼叫 TrendRadar 工具:「請分析今天的負面輿情,幫我寫一份回應策略與 Q&A 草稿」。
    3. 得到可以直接丟給 PR 團隊修改的版本。

    💡 關鍵: 讓 TrendRadar 負責「聽與記錄」,AI 助手負責「想與表達」,能把你每天需要親自處理的工作壓到最低。


    適合誰用?三個具體場景


    1. 品牌輿情追蹤:先知道「今天有沒有燒起來」

    角色:行銷、公關、品牌經理。

    設定方式:

    • 關鍵字:品牌名、CEO 名字、產品名、常見錯別字
    • 來源:
    • 新聞 RSS(產業媒體 + 大眾媒體)
    • 論壇 / 社群聚合 RSS(若有)
    • 推送頻率:
    • 每天早上 9 點彙總
    • 一有高負面情感的內容就即時推送

    日常用法:

    • 在 Slack/微信 建一個 #brand-alert 群組,只放 TrendRadar。
    • 每天固定看一眼,看今天有沒有需要回應的聲音。
    • 把其中幾則交給 ChatGPT:
    • 「請用溫和但不卑不亢的語氣,回覆這篇負面評論,給出三種版本。」

    2. 競品 / 技術趨勢監控:避開資訊焦慮,只看真正相關的

    角色:產品經理、技術主管、創業者。

    設定方式:

    • 關鍵字:
    • 競品名稱 + 公司名
    • 技術關鍵字(如 RAGvector DBserverless LLM
    • 來源:
    • GitHub Trending(配合關鍵字過濾)
    • Product Hunt / Hacker News
    • 主要技術媒體 RSS

    日常用法:

    • 每天收到一份「競品 / 新技術」摘要:
    • 新發佈的功能 / 產品
    • 高熱度技術文章 / 專案
    • 再把摘要丟給 Claude:
    • 「整理成 5 點,說明這些變化對我們產品路線的影響,按緊急程度排序。」

    3. 內容創作者:每日素材雷達

    角色:寫 newsletter、拍 YouTube、寫部落格或社群的人。

    設定方式:

    • 關鍵字:
    • 你頻道聚焦的主題(AI 工具、遠端工作、投資、行銷等)
    • 來源:
    • 國外媒體 RSS
    • Twitter/X 清單轉 RSS(或間接服務)
    • 技術 / 產業部落格

    日常用法:

    • 每天早上收一份「今日 10 則值得寫的素材」,每則附:
    • 中文重點摘要
    • 推估情緒(這件事觀眾會興奮、焦慮、好奇?)
    • 把其中 1–2 則交給 ChatGPT:
    • 「幫我把這則趨勢寫成 5 條適合 IG / 小紅書的貼文金句。」

    TrendRadar + ChatGPT/Claude:兩工具分工實戰

    名稱 核心功能 免費方案 適合誰
    TrendRadar 多平台聚合、輿情監控、AI 摘要 開源,自架即免費 要持續監控品牌、競品、技術的人
    ChatGPT / Claude 深度分析、寫作、策略思考 有免費/試用方案 要把資訊變成企劃、回應、內容的人

    建議分工:

    • TrendRadar:
    • 24 小時自動收集與過濾
    • 做第一層翻譯、情感分析、摘要
    • ChatGPT/Claude:
    • 根據 TrendRadar 產出的內容,做二次加工
    • 產生 PR 草稿、簡報大綱、內容腳本

    操作示例:

    1. 在 Slack 接收 TrendRadar 的每日報告。
    2. 把報告內容複製到 ChatGPT:
    3. 指令範例:「請依照這份 TrendRadar 摘要,幫我生成一頁簡報的大綱,分成『今天發生什麼』『為何重要』『我們該怎麼做』。」

    怎麼開始:用 Docker 快速拉起 TrendRadar

    TrendRadar 是開源專案,支援 Docker 部署,你可以在本機或雲端(例如自家伺服器、雲主機)跑起來。


    1. 基本前置:準備環境

    必備條件:

    • 已安裝 Docker(和 docker-compose,如果專案使用)
    • 一台可以長時間運作的機器(本機、NAS 或雲主機都可)

    實際行動:

    • 安裝 Docker:
    • macOS / Windows:安裝 Docker Desktop
    • Linux:依發行版安裝(Ubuntu 可用 apt install docker.io 等)

    2. 拉取專案並啟動服務

    以下為通用步驟,具體以官方 README 為準(https://github.com/sansan0/TrendRadar):

    # 1. 取得程式碼
    git clone https://github.com/sansan0/TrendRadar.git
    cd TrendRadar
    
    # 2. 建立環境設定(通常會有 .env.example 或 config 檔)
    cp .env.example .env
    # 編輯 .env,填入必要的 API Key(如翻譯 / LLM 模型)
    
    # 3. 使用 Docker 啟動
    docker compose up -d
    

    啟動後,可以依 README 提供的網址(通常是 http://localhost:xxxx)打開管理介面或 API。

    💡 關鍵: 利用 Docker 一次配置好環境,之後只需重啟服務即可持續運作與更新。


    3. 設定第一組關鍵字與訂閱來源

    實際配置方式會依專案版本稍有差異,大致流程如下:

    1. 打開 TrendRadar 設定頁或編輯配置檔(例如 config.yaml):
    2. 新增一個「監控主題」(如 brand_watchai_trend)。
    3. 在主題下設定:
      • keywords: 你要追的關鍵字列表
      • sources: RSS 或其他來源 URL 列表
    4. 設定推送渠道:
    5. 在設定檔中填入 Slack Webhook URL、Telegram bot token 或微信/飛書機器人配置。
    6. 指定這個主題要推送到哪個渠道、頻率(例如每 6 小時一次)。
    7. 重新啟動或重新載入配置:
    docker compose restart
    

    檢查:等 10–30 分鐘,看通訊工具裡是否開始收到 TrendRadar 的摘要訊息。


    用一句話開始:把 TrendRadar 當成你的「每日第一問」

    當 TrendRadar 跑起來之後,你可以把每天的第一件事,改成問 AI:

    「根據 TrendRadar 的資料,今天跟我品牌 / 產業最有關的三件事是什麼?幫我說給非技術同事聽。」

    TrendRadar 負責幫你把訊息世界「縮小成可理解的摘要」,再交給 ChatGPT 或 Claude 做深度分析,你只要把最後的洞察做決策、做內容,就能在資訊過載的世界裡,保留大腦給真正重要的事情。


    🚀 你現在可以做的事

    • 開啟 TrendRadar 專案頁:https://github.com/sansan0/TrendRadar,照 README 在本機用 Docker 跑起來
    • 列出你最在意的 3–5 個主題,設定第一組 keywords 和 RSS sources 做實驗
    • 在常用通訊工具(Slack、微信等)建立一個專用頻道,把 TrendRadar 摘要接進來,明天早上開始用它看「今天在吵什麼」
  • Workspace Agents 打造可放手跑的團隊自動化

    Workspace Agents 打造可放手跑的團隊自動化

    📌 本文重點

    • Workspace Agents 提供雲端代管的 Agent runtime + 沙箱
    • 核心是 Draft → Approve → Execute 的 human-in-the-loop 控制
    • 工具要設計成小顆、受限、可審計且避免無邊界能力
    • 適合 80% 自動化交給雲端,20% 關鍵邏輯留在自家後端

    對有後端與自動化經驗的開發者而言,Workspace Agents 解決的痛點很明確

    1. 從「單輪聊天」升級成「可長時間運行、多步工作流」,不必自己寫一套 Agent loop。
    2. 內建安全沙箱與權限邊界,降低「Claude dangerouslyDisableSandbox 這種黑箱工具調用」的風險。
    3. 把 REST / GraphQL / DB / SaaS 都工具化給 Agent 調用,但仍保留 Draft → Approve → Execute 的 human-in-the-loop 控制。

    實際上,它更像「雲端版、LLM 驅動的 Zapier/Make + 任務協調器」,而不是另一個 custom GPT 皮膚。


    重點說明:Workspace Agents 的技術定位

    1. 與 custom GPT / Zapier / 自建 Agent 的差異

    技術定位可以粗略想成:Codex + Agent Loop + Workspace Sandbox

    💡 關鍵: Workspace Agents 把模型、Agent loop、沙箱與 Workspace 權限綁成一個整體,用「雲端代管 runtime + 工具」取代你自建大部分基礎設施。

    • 比 custom GPT 多了什麼?
    • custom GPT:偏向「有工具的聊天介面」。
    • Workspace Agents:

      • 可以在 Workspace 中持續跑任務、排程、被 webhook 喚醒
      • 雲端執行環境與持久可觀測的 run log
      • 官方提供 Responses API / WebSocket 來優化 agentic workflow 延遲(參考官方 Speeding up agentic workflows with WebSockets)。
    • 與 Zapier / Make 的差異

    • Zapier:流程是你設計的 BPMN / if-else pipeline。
    • Workspace Agents:流程邏輯多數下放給 LLM(Codex)動態決策,你提供工具與邊界,它決定如何串。
    • 適合「規則不好寫死」「工具多變」的情境,例如支援 slack + CRM + 自家 API 的 case routing。

    • 與自建 Agent framework 的取捨

    • 自建(LangGraph 等):
      • 優點:可以完全控制 state、工具調用實作、私有部署。
      • 缺點:你得自己處理 agent loop、tool sandbox、觀測/重試、延遲優化
    • Workspace Agents:
      • 優點:基礎設施(loop + sandbox + 日誌)官方代管,直接在 ChatGPT Workspace 與 API 共用。
      • 缺點:可程式化程度受限,適合「80% 流程交給雲端 Agent,20% 自家後端收尾」的架構。

    2. 安全沙箱與權限邊界設計

    Workspace Agents 強調:工具調用是顯式、受限、可審計的

    • 工具(tools)以 JSON schema / OpenAPI 宣告,Agent 只能調用你掛進去的 endpoint。
    • 雲端沙箱環境與 Workspace 權限綁定:
    • 不會給 Agent 任意 Bash / file system 的 root 權限。
    • 沒有類似 Claude dangerouslyDisableSandbox 的逃逸入口——除非你自己提供一個「超能力」工具。
    • 每次工具調用都會留在 run log,方便你做:
    • 事後審計:誰在什麼 prompt 下觸發了哪個工具?
    • 風險回滾:出錯時可以重播 / 重跑某一段工具調用。

    關鍵心態:視每一個工具就是一個受限 microservice,不要把 root 能力直接丟給 LLM。

    3. 可放手跑又可觀測的多步工作流

    Workspace Agents 的核心是:LLM 掌管控制流,你負責設計工具與觀測面板

    典型 pattern:

    1. Agent 接到任務(由 ChatGPT UI、API 或 webhook 觸發)。
    2. 根據 system / instructions 決定要走 Draft → Approve → Execute
    3. Draft:只產生計畫與待呼叫工具清單。
    4. Approve:把計畫送到 Slack / UI Approver 確認。
    5. Execute:得到人類批准後,才真正呼叫具破壞性的工具(寫 DB、呼叫付款 API)。
    6. 全程透過 Workspace console 的 run timeline + tool call log 觀測,必要時人工接管。

    實作範例:從工具封裝到 human-in-the-loop

    以下用「客服回饋彙整 + 建議調整 CRM 標籤」的 workflow 示範。

    1. 把內部 REST / GraphQL / DB / SaaS 包成工具

    以 OpenAI Responses API 工具宣告風格為例(概念 YAML,可轉成 JSON):

    # tools.yaml
    - name: get_tickets
      description: 依條件查詢最近的客服 ticket
      type: function
      parameters:
        type: object
        properties:
          status:
            type: string
            enum: [open, closed]
          limit:
            type: integer
            default: 50
        required: [status]
    
    - name: update_crm_tag
      description: 更新單一客戶的 CRM 標籤(具破壞性操作)
      type: function
      parameters:
        type: object
        properties:
          customer_id:
            type: string
          tags:
            type: array
            items:
              type: string
        required: [customer_id, tags]
    

    在你的後端將這些工具綁到實際 REST / GraphQL / DB:

    // pseudo-code: Node.js express + Responses API
    import { openai } from "./openai-client";
    
    const tools = [/* 載入上面的 schema 並加上實作 mapping */];
    
    app.post("/agent-run", async (req, res) => {
      const response = await openai.responses.create({
        model: "gpt-4.5-codex", // 假想 agent-capable 模型
        input: req.body.input,
        tools,
        tool_choice: "auto",
        metadata: { workflow: "support-crm-pipeline" }
      });
    
      res.json(response);
    });
    

    後端實作端要特別注意:

    • 每個工具實作中再做一次權限檢查(不要只信任 LLM)。
    • update_crm_tag 類工具要有 rate limit + audit log

    2. Draft → Approve → Execute 的 human-in-the-loop

    核心策略:讓 Agent 自己知道有些工具需要「approval_token」才可調用

    在 system message 給 Agent 清楚規則:

    {
      "role": "system",
      "content": [
        {
          "type": "text",
          "text": "你是客服自動化 Agent。分三階段:\n1) Draft: 分析 ticket 並產生建議標籤與修改計畫,只能使用 get_tickets 工具。\n2) Approve: 把計畫整理成給主管看的摘要,等候 'APPROVED' 再進入 Execute。\n3) Execute: 收到 'APPROVED' 且被注入 approval_token 後,才可以呼叫 update_crm_tag。\n永遠不要在沒有 approval_token 的情況下更新 CRM。"
        }
      ]
    }
    

    在你的後端把它拆成兩個 call:

    // 1) Draft + Approve(不給具破壞性工具)
    const draftRun = await openai.responses.create({
      model: "gpt-4.5-codex",
      input: [systemMsg, userMsg],
      tools: [getTicketsTool], // 不提供 update_crm_tag
      tool_choice: "auto"
    });
    
    // 將 draftRun 的摘要貼到 Slack 請主管確認...
    
    // 2) Execute(確認後,才開啟 update_crm_tag)
    if (approved) {
      const executeRun = await openai.responses.create({
        model: "gpt-4.5-codex",
        input: [
          systemMsg,
          { role: "user", content: "APPROVED" },
          { role: "user", content: `approval_token=${approvalToken}` }
        ],
        tools: [getTicketsTool, updateCrmTagTool],
        tool_choice: "auto"
      });
    }
    

    重點

    • 把「是否提供具破壞性工具」交由你自己的後端邏輯控制,而不是讓 Agent 用 prompt 自己約束自己。
    • 所有更新操作都帶上 approval_token 寫進你的 DB audit log,避免 model 任意重放。

    3. 避免「dangerouslyDisableSandbox」類踩坑

    Claude 事件的教訓:只要給了「無邊界」工具,LLM 就有機會做出你沒預期的事

    在 Workspace Agents / Responses API 這邊,實務建議:

    1. 禁止提供「泛用 shell / eval 工具」
    2. 不要暴露 bash, python_exec, sql_anywhere 這種萬能工具。
    3. 改成一組小顆、專用的工具,例如 run_migration_v3, reindex_search, rotate_api_key

    4. 工具 schema 要明確描述風險(給人看也給 LLM 看):

    json
    {
    "name": "delete_user_data",
    "description": "刪除單一使用者的所有歷史資料。不可回復。僅能在取得法律與 DPO 批准後執行。",
    "parameters": {
    "type": "object",
    "properties": {
    "user_id": { "type": "string" },
    "approval_token": { "type": "string" }
    },
    "required": ["user_id", "approval_token"]
    }
    }

    1. 在工具實作層再做一次 guardrail
    2. 檢查 approval_token 是否有效、是否對應到正確的人與工單。
    3. 加冷卻期(例如同一 user 一天只能刪一次)。

    4. 關閉「自動 approve 所有工具調用」模式

    5. 即使官方後續提供「自動工具批准」選項,也建議:
      • 讀操作(GET)可 auto。
      • 寫操作(POST/PUT/DELETE)一律走 Draft → Approve → Execute。

    建議與注意事項:選 Workspace Agents 還是自建?

    1. 適合用 Workspace Agents 的情境

    優先考慮 Workspace Agents,當你的需求符合:

    • 已經在用 ChatGPT Business / Enterprise,想把同一 Workspace 的知識、權限、Slack/Email 整合起來
    • 需求是:「把一堆 SaaS + 內部 API 串起來」而非「打造高客製 agent runtime」
    • 對延遲有要求,但可以接受雲端模型:
    • 可透過 WebSocket Responses API 降低 agent loop latency。

    成本角度(參考 Reddit 測試技能對弱模型的增益):

    • 即使使用較便宜模型(類似 Haiku 與 Opus 的對比),
    • 配上好的工具/技能,整體成功率與成本效益高於單純用 SOTA 模型硬算
    • Workspace Agents 把「技能裝配」這件事標準化,適合用中價位模型跑高頻自動化任務。

    💡 關鍵: 把工作拆給中價位模型 + 精心設計工具,往往比單靠最頂級模型更划算且穩定。

    2. 應該自建 Agent framework 的情境

    考慮自己用 LangGraph / 自家框架時機:

    • 需要 嚴格的 on-prem / VPC 隔離,無法把工作流丟到公有雲。
    • 工作流高度客製:
    • 複雜 state machine、multi-agent negotiation、需要自訂 checkpoint / replay / saga pattern。
    • 你需要直接控制 agent loop 實作、序列化、快取策略(例如結合你自己的向量 DB 與 RAG 策略)。

    折衷做法:

    • 把 Workspace Agents 當作「前台協調層」,負責與人互動、排程、通知。
    • 真正複雜的決策與計算交給你自己的後端 / RAG 服務:
    • Agent 只調用一個 call_internal_orchestrator 工具,
    • 由你自己的系統決定要不要再 call 其他 model / search / DB。

    3. 與現有 RAG / 後端服務整合的最佳實踐

    • RAG 放在你自己那一側,不要讓 Agent 直接 query 各種向量庫:
    • Agent 工具:query_kb({ question }) → 你的 RAG API。
    • 由你決定使用什麼模型、什麼 chunking、什麼 embedding。
    • 這樣有幾個好處:
    • 成本可控:RAG 的 embedding / search 模型可自由替換為更便宜或自建方案。
    • 安全可控:哪些 index 可被哪個 Agent 用,由你自己的 ACL 管。

    總結

    • Workspace Agents = 雲端 Agent runtime + Sandbox + Workspace 權限整合,把原本你得自建的 Agent framework 一大塊打包好給你。
    • 開發者真正要做的是:
    • 設計好小顆、邊界清楚的工具
    • 用 Draft → Approve → Execute 把高風險操作關進籠子
    • 把 RAG / 複雜邏輯放在你可控的後端。

    💡 關鍵: 把 80% 可標準化流程交給 Workspace Agents 跑,關鍵 20% 風險與業務邏輯留在自家後端,是多數團隊較實際的架構選擇。

    如果你目前已經在寫一堆「LLM + Zapier + 自家 webhook」的 glue code,Workspace Agents 值得你直接開一個 Workspace,把一條現有流程搬進去試跑,從觀測與權限開始收斂架構。

    🚀 你現在可以做的事

    • 選一條既有「LLM + Zapier / Make + webhook」流程,畫出其中所有工具與權限邊界,準備搬進 Workspace Agents
    • 把內部 REST / GraphQL / DB / SaaS API 列表整理成工具 schema 構想(含風險等級與是否需要 approval_token
    • 在測試 Workspace 中實作一個 Draft → Approve → Execute 的小流程,實際觀察 run log 與工具調用行為
  • 把常用 Prompt 變成一鍵技能:Chrome AI Skills 實測

    把常用 Prompt 變成一鍵技能:Chrome AI Skills 實測

    📌 本文重點

    • Chrome Skills:把常用 Prompt 變成一鍵工具
    • 可跨網站、多分頁套用同一個 Skill
    • 非技術同事也能用的標準化 AI 工作流程
    • 適合團隊共用固定模板與報表解讀

    一句話先說清楚:Chrome 的「AI Skills」= 把你常用的 Prompt,變成可以隨時一鍵呼叫的小工具,不用再到處找、複製貼上。

    官方介紹: Turn your best AI prompts into one-click tools in Chrome(Google AI Blog)


    核心功能:把 Prompt 做成「可重複的一鍵技能」

    1. 儲存 / 命名 / 重用你的 Skills

    你在 Gemini 側邊欄打的任何 Prompt,都可以存成一個 Skill:

    • 操作概念
    • 先在側邊欄對 Gemini 下指令(例:請幫我用禮貌英文回覆客戶…)。
    • 覺得這個 Prompt 之後會常用,就直接存成 Skill。
    • 下次在任何網頁,只要一鍵點這個 Skill,就能套用到當前頁面的內容。

    • 能客製化的部分:

    • 幫 Skill 取一個好記的名字(例:「英文客服回覆」、「報表解讀」)。
    • 說明它是拿來做什麼的,方便同事看得懂。

    💡 關鍵: 把高頻重複的 Prompt 存成 Skill,可以用「一鍵點擊」取代每次複製貼上與重寫指令。

    你可以立刻做的事
    先想 3 個你每天都會重複貼給 AI 的 Prompt,等一下在「怎麼開始」小節,直接把它們變成 Skills。

    2. 官方預設技能庫:先用現成的再改

    Google 在 Chrome 的 Gemini 側邊欄,內建了一批「預設 Skills」,常見例子(見 Wired 介紹):

    • 食譜優化:例如「最大化蛋白質含量」或改成純素、低卡版。
    • YouTube / 長文總結:幫你抓重點,整理成條列。

    你可以:

    • 先直接用這些現成 Skills。
    • 再把你調整過的 Prompt 版本,存成自己的自訂 Skills(Google 官方文也強調可「discover, save and remix AI workflows」)。

    你可以立刻做的事
    打開 Gemini 側邊欄,先試用 1 個預設 Skill(例如「Summarize this video」),再把回答風格微調後存成自己的版本。

    3. 在任何網頁側邊欄一鍵呼叫

    根據 TechCrunch 與 The Verge 的說明,Skills 的重點是:

    • 跨網站、跨分頁 使用同一個 Skill。
    • 勾選多個 Tab,一次對多個頁面跑同一個 Skill(例如一口氣總結 3 則產品更新頁)。

    實際效果:

    • 你不用再:
    • 開 Notion / Google Docs 找那段老 Prompt。
    • 複製貼上到 Gemini。
    • 只需要:
    • 打開側邊欄 → 點你命名好的 Skill → 選擇要套用的分頁。

    你可以立刻做的事
    打開 2–3 個需要處理的頁面(例如不同客戶信、不同產品頁),試一次「同一 Skill 跑多個分頁」。


    適合誰用?4 個實際場景示範

    1. 批改英文 Email:固定語氣、固定格式

    使用方式:

    1. 在 Gemini 側邊欄寫一個完整 Prompt,例如:

      「請幫我把選取的英文 Email 改寫成禮貌、簡潔、B2B 科技公司口吻,保留原本資訊,但語氣更友善、用詞自然。」

    2. 存成 Skill:命名為「英文客服回信優化」。
    3. 之後每封英文信:
    4. 在 Gmail 開信 → 開側邊欄 → 點這個 Skill → 貼入草稿內容或讓它讀取頁面內容。

    行動建議:
    – 先為 「英文回覆」和「英文道歉信」 分別各做一個 Skill,之後全部照這兩種模板改。

    2. 食譜轉成低卡 / 純素版

    The Verge 舉例,過去你每換一個食譜頁面,就要重新輸入「幫我改成純素版」。現在可以:

    1. 建立 Skill:

      「閱讀這個網頁中的食譜,將其改寫成純素版本,提出必要的食材替代方案,並計算每份大致卡路里。」

    2. 命名為「純素 & 低卡改寫」。
    3. 之後遇到任何食譜頁面,只要一鍵點這個 Skill。

    行動建議:
    – 如果你有特定飲食需求(低醣、高蛋白),為每種飲食習慣做一個專屬 Skill。

    3. 總結長文 / YouTube:變成「固定摘要格式」

    基於 Wired 的範例,你可以把「摘要」做得更標準化:

    1. 在一篇長文章或 YouTube 頁面上,對 Gemini 說:

      「請用繁體中文,幫我整理為:1)三點重點;2)一段 100 字內摘要;3)列出適合轉貼到 Slack 的一句話。」

    2. 存成 Skill「內容三段式摘要」。
    3. 之後任何長文 / 影片都可以套用同樣格式。

    行動建議:
    – 為「給自己看的摘要」和「給團隊看的摘要」各自定義格式,做成兩個 Skills。

    4. 固定格式報表 → 自動生成解讀摘要

    你可能每週都要解讀一份長得很像的數據報表(GA4、廣告報表、CRM 匯出):

    1. 建立 Skill Prompt:

      「閱讀當前頁面的數據表格,幫我用以下格式解讀:
      1)本週 vs 上週差異;2)異常指標與可能原因(列出 3 點假設);3)下週建議行動(列出 3 個具體操作)。請用條列,長度控制在 300 字內。」

    2. 命名為「每週數據解讀 300 字」。
    3. 套用在每週固定打開的報表分頁上。

    行動建議:
    – 先選一份你 最常被問要解釋的報表,為它設計一個專用 Skill,讓 AI 先產出初稿,再微調。


    Workflow 範例:為公司建立一套「團隊共用 Skills」

    雖然 Google 尚未完全打開「公開 Skill 市集」,但你可以先用很簡單的方法做「團隊半共用」。

    1. 客服回覆模板

    1. 在文件中定義好客服回覆規則,例如:
    2. 語氣(專業、溫和、不推責)。
    3. 固定結尾句(例如邀請進一步聯絡)。
    4. 把這段規則寫進 Prompt,存成 Skill「客服標準回覆」。
    5. 把這段 Prompt 原文和「如何新增 Skill」的教學,傳給全團隊,讓大家在各自的 Chrome 裡建一模一樣的 Skill。

    2. 產品 Changelog 生成流程

    假設你每次發版,都要:

    • 從 issue tracker / Git log 撈出變更。
    • 寫成「用戶看得懂的版本更新說明」。

    可以這樣設計 Skill:

    「根據這個頁面的變更紀錄,幫我生成一份產品 Changelog,格式為:1)標題一句話;2)三個重點功能更新;3)一段給現有用戶看的說明(100 字內);4)一段給內部同事看的技術摘要(150 字內)。」

    流程建議:

    1. PM 在自己瀏覽器裡先調到滿意的 Prompt,再存成 Skill。
    2. 把 Prompt 原文放進團隊知識庫(Notion / Confluence),讓其他同事照樣建立。

    你可以立刻做的事
    選一個你們團隊「每週都會重複做、但內容每次都不一樣」的工作(公告、週報、教學信),先為它寫一個完整 Prompt,再交給全員自己建 Skill。


    實作教學:如何在 Chrome 開啟、建立與使用 Skills

    注意:Skills 目前在 桌面版 Chrome 並搭配 Gemini 側邊欄 的環境下提供,實際入口可能會隨版本更新微調,以下以官方 Blog 和多家媒體描述整理出典型流程。

    1. 在哪裡開啟 Skills(設定路徑)

    1. 更新 Chrome 至最新版本。
    2. 登入你的 Google 帳號。
    3. 在右上角找到 Gemini 圖示 或從側邊欄開啟 Gemini(有些版本是「使用 Gemini」按鈕)。
    4. 若已開放 Skills 功能,會在側邊欄看到 Skills 區塊或「Save as Skill」類似選項(可持續留意:TechCrunch 報導)。

    行動建議:
    – 先確認你能在 Chrome 裡正常使用 Gemini 側邊欄,再來找 Skills 相關選項。

    2. 如何從現有 Prompt 儲存成 Skill

    1. 打開任一網頁(例如 Gmail、文件、報表)。
    2. 開啟 Gemini 側邊欄,輸入你想重複使用的 Prompt,先讓它跑一次,調整到你滿意的回答風格。
    3. 在這則對話附近,尋找「Save as Skill」或「Create Skill」按鈕(介面可能是三點選單裡的選項)。
    4. 設定:
    5. Skill 名稱(簡短但具體,例如「GA4 每週報告摘要」)。
    6. 說明 / Tag(方便未來辨識)。
    7. 儲存後,它就會出現在 Skills 清單中。

    行動建議:
    – 第一次先存 1 個 Skill,不要一次做太多,確保你真的會用它,之後再慢慢擴充。

    3. 如何在多個 Tab 上使用 Skills

    根據 The Verge 的說明,Skills 可以在多個分頁上重複使用,典型操作如下:

    1. 開啟多個相關分頁,例如:3 篇產品更新文章、或 3 份不同客戶的簡報頁。
    2. 打開 Gemini 側邊欄 → 選擇你要用的 Skill。
    3. 在 Skills 介面中,選擇要套用的 Tab(有些版本可能支援勾選多個)。
    4. 按下執行,AI 會依序對每個分頁運行該 Skill,生成各自的結果。

    行動建議:
    – 嘗試在 兩個很相似的頁面(例如兩個競品產品頁)使用同一個 Skill 做比較分析,快速得到可對照的結果。


    與「複製貼上 Prompt」相比的優勢

    傳統做法

    • 在 Notion / Google Docs / 備忘錄保存一堆 Prompt。
    • 每次要用時:切換視窗 → 複製 → 回到瀏覽器 → 貼上 → 再調整。

    用 Skills 的差別

    1. 少一步切換工具:Prompt 就在 Chrome 裡,直接點名字就套用。
    2. 減少 Version 混亂:不用在多個文件裡找「最新版 Prompt」,你只維護同一個 Skill。
    3. 跨分頁一致性:同一個 Skill 直接套在不同頁面,輸出風格一致,特別適合報表解讀、客服回覆、摘要格式。
    4. 更適合非技術同事:他們不需要理解什麼是 Prompt Engineering,只要知道「遇到這種工作,就點這個 Skill」。

    💡 關鍵: 把分散在文件裡的常用 Prompt 收斂成少量核心 Skills,可以同時解決「效率低」與「輸出不一致」兩個問題。

    你可以立刻做的事
    – 把你目前收藏 Prompt 的文件打開,挑出 最常用的前 3 個,優先轉成 Skills,其餘的保持在文件裡即可。


    和其他瀏覽器 AI 外掛有什麼不同?

    目前許多 AI 外掛(如各種 ChatGPT / Gemini / Claude 插件)也能在網頁上跑 Prompt,但 Chrome 原生 Skills 有幾個實際差異:

    比較項目 Chrome AI Skills 一般瀏覽器 AI 外掛
    整合程度 直接整合在 Chrome 與 Gemini 側邊欄 需額外安裝擴充功能
    Prompt 儲存方式 以「Skill」形式命名、可跨分頁一鍵呼叫 多為歷史記錄或簡單書籤,重用流程較散亂
    多分頁操作 官方說明可對多個 Tab 套用同一 Skill 多數外掛只對目前分頁或需逐一操作
    團隊共用 目前以「共用 Prompt 文本、各自建立 Skill」為主 有些外掛有雲端模板共享,但使用體驗不一
    安全與權限 跟隨 Google 帳號與官方隱私設定 視外掛開發者而定,需額外確認權限

    如果你已經習慣用某個外掛,可以:

    • 把外掛裡最常用的 Prompt,手動搬到 Chrome 的 Skills,讓「真正會每天用到的那幾個」留在瀏覽器原生工作流程中。

    💡 關鍵: Skills 的優勢不是「功能更多」,而是「離真實工作場景更近」,把 AI 變成瀏覽器內建的工作按鈕。


    怎麼開始:3 步驟快速上手

    1. 確認環境
    2. 更新 Chrome → 登入 Google 帳號。
    3. 確認你能在瀏覽器右側打開 Gemini 側邊欄。

    4. 選出你的「前三名常用 Prompt」

    5. 例如:
      • 英文 Email 改寫。
      • 報表摘要。
      • 網頁 / 影片整理成重點筆記。
    6. 先在 Gemini 裡照平常方式下指令,調整到滿意。

    7. 存成 Skills 並實際跑一次

    8. 用前面教的方式,將這三個 Prompt 各存成一個 Skill。
    9. 立刻在兩種不同頁面上試跑(例如兩封不同的信件、兩篇不同文章),看輸出是否符合期待,必要時再回頭微調 Prompt。

    這樣設定完,你之後在 Chrome 裡看到任何「值得用 AI 幫忙處理」的頁面,就不用思考要怎麼下指令,只要想:「這件事有沒有對應的 Skill 可以點?」

    🚀 你現在可以做的事

    • 打開你存 Prompt 的 Notion 或文件,挑出 3 個最高頻使用的指令,準備轉成 Skills
    • 在桌面版 Chrome 更新並登入 Google 帳號,確認 Gemini 側邊欄與 Skills 入口是否已可使用
    • 選一個固定重複的工作(如週報、Email 模板),寫成完整 Prompt,存成第一個可重複使用的 Skill