標籤: 免費 AI 工具推薦

  • 3 小時做出專屬雲端 AI 小幫手

    3 小時做出專屬雲端 AI 小幫手

    📌 本文重點

    • open-agents 是給前端工程師用的雲端 AI Agent 腳手架
    • 幫你處理好 Agent 架構、工具整合與雲端部署樣板
    • 3 小時內就能做出可上線、會調 API 的 AI 小幫手

    用一句話說清楚:Vercel 的開源專案 open-agents 是一套「前端工程師也能駕馭的雲端 AI Agent 腳手架」,幫你處理好架構、模型與工具整合,以及雲端部署樣板,3 小時內就能把一個可上線的 AI 小幫手跑起來。

    💡 關鍵: open-agents 把「3 小時內做出可上線 Agent」變成合理門檻,適合用來做快速 MVP 驗證。


    核心功能:open-agents 幫你省掉哪些麻煩?

    1. 標準化的 Agent 架構:不用自己設計「大腦」骨架

    在 open-agents 裡,你會碰到三個核心概念:

    • Agent:像「大腦」,負責看使用者輸入、決定要不要用工具、整理最後回答。
    • Tool:可以是 REST API、資料庫查詢、檔案讀寫等,Agent 可以選擇呼叫它們。
    • Memory:用來記住上下文或歷史對話,讓 Agent 回答更連貫。

    open-agents 做好的事:

    • 幫你定義好 Agent 的 TypeScript 介面與執行流程
    • 提供現成的 tool 呼叫機制(類似 OpenAI Agents SDK 的工具系統)
    • Memory 設計已經整合到框架中,不用自己處理 token 管理

    你可以做的行動

    • 把原本散落在專案裡的「AI 回答」「API 呼叫」邏輯收斂成一支 Agent
    • 把「查 FAQ」「查內部 API」「整理結果」交給同一個 Agent 流程,而不是寫一堆 if-else

    2. 工具 / 模型整合:一支 Agent 同時用多個 API

    open-agents 預設支援多家模型服務(含 OpenAI,對應最新的 Agents SDK 概念),也很容易接:

    • 便宜模型(例如 OpenAI 最新較低價型號)
    • 你現有的 REST API / GraphQL / 內部服務

    你只要:

    1. .env 放入 API Key(例如 OPENAI_API_KEY
    2. 在程式裡註冊工具,例如一個查訂單狀態的 REST API
    3. 把工具掛在 Agent 上,Agent 自己會決定何時呼叫

    你可以做的行動(兩個實用 workflow 範例):

    1. 客服 FAQ + 後端 API 查詢自動回覆 Bot
    2. FAQ:丟成向量資料或直接塞 prompt
    3. 工具:GET /orders/:id 查訂單,GET /user/:id 查會員
    4. Agent 邏輯:先看能不能從 FAQ 回答,不行再調 API,最後回傳整理好的訊息。

    5. 團隊內部文件檢索 + 任務整理助理

    6. Memory:保留本週的對話與任務
    7. 工具:一支「搜尋 Notion / Google Drive / 自家知識庫」的 API
    8. Agent:自動整理「這週待辦」「文件連結」,丟回 Slack/前端介面

    💡 關鍵: 一支 Agent 就能同時整合多個 API 和便宜模型,讓你用低成本做出實用的自動化工作流程。


    3. 雲端部署樣板:Next.js + Vercel 直接起飛

    open-agents 專案 本身就是一個可以部署到 Vercel 的樣板:

    • 內建 API routes,可以當成你的 Agent 後端
    • 前端可以用 Next.js / React 串同一支 Agent API
    • 與 Vercel 部署流程打通:GitHub 綁定 → 自動 CI/CD

    你可以做的行動

    • 先只改後端的 Agent + tool,保持前端 UI 簡單
    • 驗證 Agent 工作流程沒問題後,再慢慢優化 UI/權限

    適合誰用?幾個具體場景

    1. 前端工程師:想要一個「會用 API 的聊天小幫手」

    你手上可能已經有:

    • 一些 REST API(訂單、會員、專案、ticket…)
    • 一個 React/Next.js 專案

    只要把 open-agents 當成「AI 後端模板」,你就能做出:

    • 客服頁面裡的 FAQ + 訂單查詢 bot
    • 專案管理頁面的「自然語言查詢資料」側邊欄

    2. 團隊技術 owner:要做 MVP 的 AI 助理,但不想先上 MCP 這種大型架構

    根據「MCP for Backend Engineers」那篇文章的建議:

    1 app · 1 team · 1 toolset → 用簡單的 tool calling 就好,MCP 是 scaling 決策,不是起步點。

    如果你目前只有:

    • 一個 Web App
    • 一兩個後端服務

    那 open-agents 就剛好:

    • 架構不重,適合 MVP
    • 想擴展到多工具、多系統再慢慢抽象

    3. 產品/營運團隊身邊的「懂一點前端」的人

    只要會基本 TypeScript/React,照樣可以:

    • 改現有範例成「文件搜尋 + 任務整理」內部助手
    • 讓團隊先用起來,再決定要不要投入更多資源

    怎麼開始:3 小時完成「會調 API 的 AI 小助手」

    下面以「客服 FAQ + 訂單查詢 Bot」為例,走一次從 0 到可部署的流程。

    前提:你會基本 Git、Node.js、TypeScript,並有一個 GitHub 帳號。

    步驟 0:成本 & 免費方案心裡有底

    • open-agents 本身是免費開源
    • 模型費用:可使用 OpenAI 較低價模型,成本通常是每月幾美元起(視流量)
    • 部署:Vercel 有免費方案,適合開發 / 小流量 MVP

    💡 關鍵: 開源 + 便宜模型 + 免費部署方案,讓你可以「先上線再優化」,不必一開始就投入大量預算。


    步驟 1:從 GitHub 模板拉起專案

    1. 打開專案:https://github.com/vercel-labs/open-agents
    2. 點右上角 Use this template → Create a new repository
    3. 在自己的 GitHub 底下建立 repo
    4. 本機 clone:

    bash
    git clone https://github.com/<你的帳號>/<你的-repo>
    cd <你的-repo>
    pnpm install # 或 npm install / yarn

    1. 新增 .env.local,放入:

    bash
    OPENAI_API_KEY=sk-...

    此時行動pnpm dev 跑起來,確認預設的 Agent Demo 正常回覆。


    步驟 2:配置一個模型 + 建立簡單 REST Tool

    假設你要讓 Agent 查詢 GET https://api.example.com/orders/:id

    1. src/tools/orderTool.ts 新增:

    “`ts
    import { z } from “zod”;

    export const orderTool = {
    name: “get_order_status”,
    description: “根據訂單編號查詢訂單狀態”,
    parameters: z.object({
    orderId: z.string().describe(“訂單編號”)
    }),
    execute: async ({ orderId }: { orderId: string }) => {
    const res = await fetch(https://api.example.com/orders/${orderId});
    if (!res.ok) throw new Error(“查詢失敗”);
    const data = await res.json();
    return {
    status: data.status,
    items: data.items,
    total: data.total,
    };
    },
    };
    “`

    1. 在 Agent 定義中(例如 src/agents/supportAgent.ts),把這個 tool 加進去:

    “`ts
    import { createAgent } from “./baseAgent”;
    import { orderTool } from “../tools/orderTool”;

    export const supportAgent = createAgent({
    name: “support”,
    systemPrompt:
    “你是客服小幫手,先用 FAQ 回答,如果使用者提到訂單編號(像是 #12345),再用工具查詢訂單狀態,最後用中文整理回答。”,
    tools: [orderTool],
    });
    “`

    1. 模型設定通常在 baseAgent 或 config 檔裡(視專案結構),選一個便宜模型,例如:

    ts
    model: "gpt-4.1-mini" // 範例,視官方文件更新調整

    此時行動:在本機跑 server,從 Agent API 打一個 request,例如:

    「我有一筆訂單 #12345 ,請幫我看目前出貨狀態」

    觀察 log,確認 Agent 會:

    • 自動偵測訂單編號
    • 呼叫 get_order_status 工具
    • 整理成可讀中文回答

    步驟 3:接一個簡單前端(Next.js / React)

    如果你用 Next.js

    1. /app/api/chat/route.ts 建一個 API route,轉發到 supportAgent

    “`ts
    import { NextResponse } from “next/server”;
    import { supportAgent } from “@/agents/supportAgent”;

    export async function POST(req: Request) {
    const { message } = await req.json();
    const reply = await supportAgent.run({ input: message });
    return NextResponse.json({ reply });
    }
    “`

    1. 在前端頁面建一個最簡聊天 UI:

    “`tsx
    “use client”;
    import { useState } from “react”;

    export default function ChatPage() {
    const [input, setInput] = useState(“”);
    const [messages, setMessages] = useState([]);

     const send = async () => {
       const res = await fetch("/api/chat", {
         method: "POST",
         headers: { "Content-Type": "application/json" },
         body: JSON.stringify({ message: input }),
       });
       const data = await res.json();
       setMessages((m) => [...m, `你:${input}`, `Bot:${data.reply}`]);
       setInput("");
     };
    
     return (
       <div>
         <div>{messages.map((m, i) => (
           <div key={i}>{m}</div>
         ))}</div>
         <input value={input} onChange={(e) => setInput(e.target.value)} />
         <button onClick={send}>送出</button>
       </div>
     );
    

    }
    “`

    此時行動:在本機 UI 輸入訂單問題,看是否能走完整流程「輸入問題 → Agent 決定要不要調 API → 回傳整理後答案」。


    步驟 4:一鍵部署到 Vercel

    1. 把程式 push 到 GitHub
    2. Vercel 登入 → New Project → 選你的 repo
    3. 在 Vercel Project 的 Environment Variables 中填入:
    4. OPENAI_API_KEY
    5. 其他內部 API 的 token(若有)
    6. 部署完成後,拿到一個網址,例如 https://your-agent.vercel.app

    成本提示

    • 小流量下 Vercel 免費方案通常足夠
    • 模型費主要取決於:使用人數 × 對話長度 × 模型單價
    • 有預算疑慮時,可以先用小模型做 MVP,流量上來再調整

    延伸玩法 & 心智模型

    • 想接更多內部系統?就把每個系統包成一個 tool,掛在同一個 Agent 或拆成多個 Agent。
    • 想做內部文件助理?多加一個「文件搜尋 API」,Agent 再負責整理成待辦或重點摘要。
    • 覺得專案變大、團隊變多?再考慮引入 MCP / API Gateway,把目前的 tools 重構即可。

    如果你今天只想要「一個會用你的 API 的雲端 AI 小幫手」,照著上面四個步驟做完,你就已經比大多數還停在概念階段的人,多了一個真正跑在雲端的 Agent。動手開一個 open-agents 專案,從一個最簡單的 tool 開始,就行了。

    🚀 你現在可以做的事

    • 開啟 open-agents GitHub 專案,用 Use this template 建一個自己的 repo
    • 在專案裡實作一個最簡單的 REST tool(例如查訂單或查專案狀態),掛到一支自訂 Agent 上
    • 用 Vercel 免費方案部署這個 Agent,丟給團隊實際試用並收集回饋
  • 把常用 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
  • 用 Claude Cookbooks 做出你的第一個 AI 小工具

    用 Claude Cookbooks 做出你的第一個 AI 小工具

    📌 本文重點

    • Claude Cookbooks 是一套可直接照抄的實戰 Notebook
    • 非工程師可當高級提示模板庫直接用
    • 工程師可快速接 API 做聊天機器人與 RAG 助手
    • 最快五步就能跑出自己的 AI 小工具

    用一句話說清楚:Claude Cookbooks 是一套「Claude 實戰菜單」,照著 Notebook 抄一遍,你今天就能做出自己的聊天機器人、文件助手或程式碼助手。

    原始專案連結:👉 anthropics/claude-cookbooks


    核心功能:這套「菜單」可以幫你做什麼?

    1. 清楚的 Repo 結構:先選你要的「菜」

    進到 GitHub 專案後,你大致會看到這幾類資料夾(名稱可能會略有調整,但概念相近):

    • notebooks/:主要範例,都用 Jupyter Notebook 寫好
    • basic_examples/:最簡單的對話、提示工程示範
    • tools_and_workflows/:工具呼叫、工作流程自動化
    • rag/:RAG(檢索增強生成),用你自己的文件做問答
    • agents/ 或類似資料夾:多步驟任務、小型 Agent 範例

    可以做的事,對應你能採取的行動:

    • 如果你完全沒寫過程式 → 先看標題含有 conversationprompting 的 Notebook,當成「高級版提示語模板」,直接複製到 Claude 網頁版使用。
    • 如果你會一點 Python → 跑 basic_examples 裡的 Notebook,先確認你能成功打出第一個 API 回應。
    • 如果你想做內部工具或 Agent → 從 tools_and_workflowsrag 開始,把範例裡的「假資料」換成你公司的文件或 API。

    2. Notebook 類型:從聊天到自動化,一路拆給你

    Cookbooks 裡的 Notebook 大致可以分成四類,每一類都可以直接改成你的專案:

    1. 對話 / 提示工程 Notebook
    2. 示範怎麼寫系統提示(system prompt)、角色設定、回覆風格控制。
    3. 行動:把裡面的 system prompt 複製出來,替換成你的場景,例如:

      • 把「你是一位友善的 AI 助手」改成「你是一位專門回答退貨政策的客服人員」。
    4. 工具調用(Tool Use)Notebook

    5. 示範怎麼讓 Claude 主動呼叫你定義好的函式,例如查訂單、算報表。
    6. 行動:照著 Notebook 裡的結構定義一個簡單工具:

      python
      def get_order_status(order_id: str) -> dict:
      # TODO: 這裡先寫死假資料,之後再接真的 DB
      return {"order_id": order_id, "status": "shipped"}

      然後讓 Claude 根據使用者輸入決定要不要呼叫這個工具。

    7. RAG(文件問答)Notebook

    8. 示範怎麼把 PDF、Markdown、內網文件先「切片 + 向量化」,再讓 Claude 根據搜尋結果回答。
    9. 行動:先不管效果好不好,拿一份你真的會用到的文件(公司 FAQ、課程教材)丟進範例 Notebook,看能不能成功問出答案。

    10. 工作流程自動化 / Agent Notebook

    11. 示範多步驟流程,例如:解析需求 → 查資料 → 產出報告 → 修稿。
    12. 行動:把裡面的流程步驟改成你的工作,例如「整理每日客服問題 → 匯總成報表」。

    💡 關鍵: 這些 Notebook 的真正價值在於「可直接照抄運行」,先跑出結果再改一兩行,就能快速變成你的專案雛形。

    這些 Notebook 的重點不是「看懂內部原理」,而是先照抄跑出結果,再從中挑一兩行改成自己的業務語句


    3. 拿 Cookbooks 當提示工程與 API 練習教材

    你可以把整個 repo 當成一套免費教材:

    • 練提示工程
    • 每次只做一件事:挑一個 Notebook,只改 system prompt,觀察回覆差異。
    • 練習把「模糊指令」改成「具體條件」,例如:

      • 從「請你幫我改寫」改成「請幫我改寫成 300 字以內、用條列式、適合放在 EDM 裡」。
    • 練 API 使用

    • 大多數 Notebook 只需要你把 api_key 換成自己的,就能跑起來。
    • 把官方文件 + Cookbooks Notebook 打開對照看,很快就能理解 messagestools 等欄位用法。

    適合誰用:非工程師、工程師都能上手

    1. 非工程師:直接拿 Prompt 模板做你的專屬助手

    你不用會 Python,也能從 Cookbooks 撈出超實用的提示模板:

    適合的場景與行動:

    • 客服:
    • 找對話範例 Notebook,看 system prompt 區塊,改成:
      • 「你是某某品牌的客服,回答只能根據以下政策文件,不要自己杜撰。」
    • 把這串 prompt 複製到 Claude 官網或任何支援 Claude 的聊天界面使用。

    • 教學 / 內訓:

    • 找「教學型」prompt(通常會強調分步驟解釋),改成你的主題:

      • 例如從「解釋 Python 基礎」改成「解釋公司新制度給新進同仁」。
    • 內容產生:

    • 使用「內容規劃」「格式控制」相關的 prompt,限制輸出格式,例如:
      • 「每篇貼文必須含有標題、三個重點、CTA 一句。」

    你可以完全忽略程式碼,只把 Notebook 當作「可複製的提示語範本庫」。


    2. 工程師:照範例接後端、做簡單 Agent 或內部工具

    如果你會基本的 JavaScript / Python,Cookbooks 就是現成腳手架:

    • 接後端 API
    • 參考工具調用 Notebook,把你現有的 REST API 包成一個 tool,讓 Claude 負責決定何時呼叫。

    • 做簡單 Agent

    • 用工作流程 Notebook,把「找資料 → 分析 → 生報告」這種流程拆成數個函式,交給模型逐步完成。

    • 配合其他工具

    • 例如搭配 gsd-build/get-shit-done 這類 meta-prompting 框架,把你在 Cookbooks 練出來的 prompt 模板,包成可重用的規格驅動開發模組。

    怎麼開始:5 步跑出你的第一個 AI 小工具

    以下示範用「本機 + 最實用 Notebook」的最短上手路徑。

    步驟 0:準備一支 Claude API Key

    1. 前往 Anthropic 官方平台(依區域而定,通常是 Anthropic Console)。
    2. 建立帳號,進入 API 區域,建立一支 API Key。
    3. 暫存好這串金鑰,等等要寫進環境變數或 Notebook。

    步驟 1:Fork 專案 + 下載到本機

    1. 打開 repo:https://github.com/anthropics/claude-cookbooks
    2. 右上角點選 Fork,建立自己的副本,方便之後修改。
    3. 在終端機輸入:

    bash
    git clone https://github.com/<你的帳號>/claude-cookbooks.git
    cd claude-cookbooks

    如果你不想在本機操作,也可以直接用雲端 Notebook(例如 GitHub Codespaces、Colab)打開 repo,步驟類似,只是不用 git clone


    步驟 2:安裝環境 + 設定 API Key

    1. 建議建立虛擬環境:

    bash
    python -m venv venv
    source venv/bin/activate # Windows 用 venv\Scripts\activate

    1. 安裝依賴(專案內通常有 requirements.txtpyproject.toml):

    bash
    pip install -r requirements.txt

    1. 設定環境變數(以 macOS / Linux 為例):

    bash
    export ANTHROPIC_API_KEY="你的_API_Key"

    Windows PowerShell 則是:

    powershell
    setx ANTHROPIC_API_KEY "你的_API_Key"

    💡 關鍵: 只要正確設定 ANTHROPIC_API_KEY 環境變數,大部分 Notebook 幾乎「零修改」就能直接跑起來。


    步驟 3:啟動 Jupyter Notebook

    在專案根目錄啟動:

    jupyter notebook
    

    瀏覽器會打開一個頁面,看到專案檔案結構,接下來只要點進想學的 Notebook 即可。


    實戰示範 1:照抄一個「聊天機器人」 Notebook

    以一個最簡單的對話 Notebook 為例(名稱可能類似 basic_chat.ipynb):

    1. 打開 Notebook,找到這幾段:
    2. 匯入套件(通常是 from anthropic import Anthropic
    3. 建立 client:client = Anthropic()
    4. 呼叫模型的程式碼:

      python
      response = client.messages.create(
      model="claude-3-5-sonnet-latest",
      max_tokens=256,
      messages=[
      {"role": "user", "content": "你好,幫我想三個 IG 貼文主題"}
      ],
      )
      print(response.content[0].text)

    5. 直接執行所有 Cell,確認能拿到一段回覆。

    6. 第一個客製化改動
    7. messages 改成你要的 system + user:

      python
      messages=[
      {
      "role": "system",
      "content": "你是一位專門幫新創品牌寫社群貼文的內容策劃,回覆一律用繁體中文,語氣自然口語。"
      },
      {
      "role": "user",
      "content": "我們是做手沖咖啡器材的,幫我想三個 IG 貼文主題。"
      }
      ]

    8. 再跑一次,這就是你的第一個「內容策劃小幫手」。

    延伸修改方向:

    • 把 user input 改成 input(),讓程式變成簡單的 CLI 聊天機器人。
    • 限制輸出格式:要求 Claude 回傳 JSON,方便之後接到前端或自動排程工具。

    實戰示範 2:照抄一個「文件助手」 RAG Notebook

    找一個 RAG 相關 Notebook(例如 basic_rag.ipynb),你可以這樣照做:

    1. 找到「載入文件」的 Cell,把原來的 sample text 改成你自己的 FAQ 或產品說明。
    2. 跟著 Notebook 步驟做:
    3. 切分文件 → 建立向量索引 → 根據提問檢索相關片段。
    4. 在最後呼叫 Claude 的地方,確認有把「檢索結果」放進 prompt 裡,例如:

    “`python
    prompt = f”””
    根據以下文件內容回答使用者問題,如果文件裡沒有答案,就老實說不知道:

    {retrieved_chunks}

    問題:{user_question}
    “””
    “`

    1. 執行後,你就得到一個最簡單版的「文件問答助手」。

    延伸修改方向:

    • 把檔案來源改成公司內部 SOP 或 Notion 匯出的 Markdown。
    • 在回覆前加上一段「引用來源」,列出這次回答用到哪些文件標題。

    小結:先抄,再改,最後變成你的專屬 Cookbooks

    使用 Claude Cookbooks 有一個簡單心法:

    1. 先選一個最貼近你需求的 Notebook(聊天 / 文件 / 工具調用)。
    2. 照著跑一次,不改任何東西,只確認能成功呼叫 API。
    3. 從 system prompt 開始改成你的場景,再逐步替換資料來源、工具函式。

    💡 關鍵: 當你能順手改兩三個 Notebook,你實際上已經掌握提示設計、API 呼叫與簡單 Agent 的完整流程。

    當你能順手改兩三個 Notebook,你實際上已經會:

    • 寫出能穩定工作的提示語
    • 呼叫 Claude API,做出自己的 AI 小工具
    • 把文件、後端 API、工作流程接進來,做出簡單 Agent

    接下來,你就可以把自己的版本再 push 回 GitHub,變成「你公司的 Claude Cookbooks」。


    🚀 你現在可以做的事

    • 打開 anthropics/claude-cookbooks,先挑一個最貼近你需求的 Notebook
    • 依照文中步驟設定 ANTHROPIC_API_KEY,完整跑通一個聊天或 RAG 範例
    • 把其中一個 Notebook 的 system prompt 改成你的實際場景,存成你自己的第一個 Cookbooks 版本
  • Hippo 記憶:讓本機 AI Agent 真正記住你

    📌 本文重點

    • Hippo 讓 AI Agent 具備結構化長期記憶
    • 不只用向量搜索,而是多維度記憶召回
    • 可直接接入 LangChain / LangGraph 現有架構

    如果你受夠了每次開新對話 AI 就失憶,Hippo 是一個專門幫 AI Agent 建長期記憶結構 的開源工具,讓模型可以跨對話記住你、記住專案、記住世界觀。

    專案連結:https://github.com/kitfunso/hippo-memory


    核心功能:它跟「塞進向量資料庫」有什麼不一樣?

    1. 生物啟發的記憶結構:不是只靠 embedding 搜索

    一般「加記憶」做法:

    • 把所有對話 / 文件轉成向量,丟進向量資料庫
    • 查詢時用 embedding 相似度召回

    這樣會遇到:

    • 記憶越多越慢
    • 容易抓到語意相似但情境不對的內容
    • 很難做「時間感」與「重要程度」的區分

    Hippo 的做法更像大腦海馬迴:

    • 把記憶拆成多種型態(事件、事實、偏好、任務等)
    • 每種記憶有自己的欄位:時間戳、重要性、來源、關聯 id
    • 召回時不只看相似度,還會考慮:
    • 時間距離(最近 / 很久以前但被多次提及)
    • 重要性(例如「明天要開會」權重更高)
    • 記憶種類(對話中問的是偏好,就優先找偏好類)

    💡 關鍵: Hippo 透過「記憶類型 + 時間 + 重要性」多維度過濾與排序,比單靠 embedding 更接近人類大腦的記憶方式。

    你可以採取的行動

    • 在設計 Agent 時,把「要記住什麼」先分類(例:使用者設定、長期專案狀態、一次性任務)
    • 對應到 Hippo 的不同記憶類型,而不是全部塞進單一向量庫

    2. 高效寫入 / 召回:不是每一句話都存

    Hippo 會讓 LLM 幫忙「過濾」哪些內容要進長期記憶:

    • 每輪對話結束時,呼叫一次 LLM:
    • 請它輸出:要存什麼?是什麼類型?重要性幾分?
    • 只有被標註為「值得記住」的內容才寫入記憶庫

    召回時則是:

    • 先根據 當前任務類型 過濾可疑記憶(例如問「專案」時,優先專案類)
    • 再用 embedding + 時間 + 重要性加權排序

    效果:

    • 記憶庫不會無限膨脹
    • 查詢時間穩定,對話變長也不會暴漲

    💡 關鍵: 透過 LLM 篩選與加權排序,Hippo 在長期對話下仍能維持穩定的查詢速度與記憶品質。

    你可以採取的行動

    • 在對話 loop 中加入一個 summarize_and_store_memory() 步驟
    • 規劃一份提示詞,教 LLM:什麼東西需要記住(例如使用者偏好、長期任務)

    3. 可以直接當「記憶模組」接到 LangChain / LangGraph

    Hippo 把核心封裝成一個獨立記憶層:

    • 暴露簡單的 API:add_memory(), retrieve_memories(), summarize_dialogue()
    • 你可以把它包成一個自訂的 LangChain Memory 類或 LangGraph node

    這代表你不必改整個 Agent 架構,只要:

    • 把原本「向量記憶」的那一層換成 Hippo
    • Prompt 裡多餵一段:{relevant_memories}

    你可以採取的行動

    • 先用 Hippo 做一個獨立小腳本,確定記憶寫入 / 召回正常
    • 再把它接進現有的 LangChain / LangGraph 專案

    適合誰用?三種具體場景

    1. 客服 / 助理型 Agent:跨對話記住使用者

    問題:

    • 今天跟你聊過喜好,明天又得重講一次

    用 Hippo 可以:

    • 把「使用者個人偏好」「公司規則」「歷史問題」分成不同記憶類型
    • 在每次新對話開始前,先用使用者 id 去 retrieve_memories()

    具體做法:

    • 每個 user 綁一個 user_memory_store
    • 首輪對話後,寫入:
    • 常用產品 / 方案
    • 語氣偏好(喜歡簡短回答、或喜歡詳細教學)
    • 下次對話開頭,在系統 prompt 裡加:
    • 你已知這個使用者的偏好:...

    2. 工具型 Agent:追蹤專案長期狀態

    像是:

    • 本機程式碼助手
    • 專案管理 / 自動化腳本編排 Agent

    用 Hippo 可以把:

    • 已完成的任務
    • 未完成的 TODO
    • 決策理由(為什麼選 A 而不是 B)

    長期存起來,讓 Agent 未來做決策時可以「回頭想」,而不是只看當前 prompt。

    具體做法:

    • 每次工具成功執行後,寫入:操作內容、輸入、輸出、錯誤紀錄
    • 下次 Agent 在決定要不要呼叫同個工具時,先查過去的失敗 / 成功案例

    💡 關鍵: 對工具型 Agent 來說,持續累積「決策與結果」記憶,可以大幅降低重複犯錯與無效操作。

    3. 遊戲 / 模擬:角色人格與世界觀持久化

    如果你在做:

    • 文字冒險遊戲中的 NPC
    • 模擬城市 / 社會裡的多 Agent 系統

    Hippo 可以:

    • 把 NPC 的「人生事件」「人際關係」「信念」拆成不同記憶
    • 讓同一個角色在不同局遊戲中保有成長、偏好

    具體做法:

    • 每次玩家與 NPC 互動後,將關鍵事件寫入該 NPC 的記憶庫
    • 下次載入遊戲時,先載入角色記憶,再生成回應

    怎麼開始:本機跑一個有長期記憶的 Agent

    下面示範:在本機用一個輕量開源 LLM + Hippo 跑出一個最小可用的長期記憶 Agent。

    1. 安裝依賴(Python)

    假設你有 Python 3.10+,先開一個虛擬環境:

    python -m venv venv
    source venv/bin/activate  # Windows 用 venv\Scripts\activate
    
    pip install hippo-memory
    pip install transformers accelerate sentence-transformers
    

    如果你想用 Ollama / 本機模型,也可以只要 HTTP API,把 llm_call() 改成呼叫本地端服務即可。

    2. 建一個最小記憶介面

    概念流程:

    1. 使用者說話
    2. Agent 回應(用 LLM)
    3. 用 LLM 檢查這輪對話有沒有值得記住的東西
    4. 需要記住的就丟給 Hippo
    5. 下一輪對話前,從 Hippo 取出相關記憶加進 prompt

    簡化版範例(偽代碼結構):

    from hippo_memory import HippoMemory
    
    memory = HippoMemory()
    
    def llm_call(prompt: str) -> str:
        # TODO: 換成你實際使用的本機 LLM(Ollama / vLLM / transformers)
        ...
    
    
    def summarize_for_memory(dialogue: str) -> list[dict]:
        """讓 LLM 決定要存哪些記憶,回傳 list[{"type":..., "content":..., "importance":...}]"""
        prompt = f"""
    你是記憶管理員。以下是剛剛的一段對話:
    {dialogue}
    
    請列出值得長期記住的事情(使用者偏好、長期目標、重要事件)。
    用 JSON 陣列輸出,每個元素包含 type, content, importance(1-5)。
    如果沒有,回傳 []。
    """
        import json
        res = llm_call(prompt)
        return json.loads(res)
    
    
    def add_dialogue_to_memory(history: list[tuple[str, str]]):
        # history = [(user_msg, assistant_msg), ...]
        text = "\n".join([f"User: {u}\nAssistant: {a}" for u, a in history[-3:]])
        items = summarize_for_memory(text)
        for item in items:
            memory.add_memory(
                mem_type=item["type"],
                content=item["content"],
                importance=item.get("importance", 3),
            )
    
    
    def chat_loop():
        history = []
        while True:
            user = input("你:")
            if user.strip().lower() in {"exit", "quit"}:
                break
    
            # 1) 先查記憶
            relevant = memory.retrieve_memories(query=user, top_k=5)
            memory_text = "\n".join([f"- {m.content}" for m in relevant])
    
            # 2) 組 prompt
            prompt = f"""你是一個會記住使用者的助理。
    以下是你對這位使用者的已知記憶:
    {memory_text or '(目前沒有特別記憶)'}
    
    現在的對話:
    使用者:{user}
    請根據記憶與對話回應。
    """
            assistant = llm_call(prompt)
            print("Agent:", assistant)
    
            history.append((user, assistant))
            add_dialogue_to_memory(history)
    
    
    if __name__ == "__main__":
        chat_loop()
    

    你可以採取的行動

    • 把上面程式框架複製到自己的專案
    • llm_call() 替換成你現用的 LLM(如 Ollama 的 /api/chat
    • 用幾輪「自我介紹 → 問之前說過什麼」來測試記憶效果

    3. 接到 LangChain / LangGraph 的 memory 模組

    如果你已經在用這些框架,可以這樣思考:

    • LangChain:
    • 寫一個 HippoMemoryWrapper,實作 load_memory_variables + save_context
    • 內部直接呼叫 HippoMemory.add_memory() / retrieve_memories()
    • LangGraph:
    • 把 Hippo 抽成一個 node:「更新記憶」與「擷取記憶」
    • 在主對話 graph 中,讓每輪都經過這兩個 node

    這樣你不用推翻原有設計,只是把記憶 backend 換成更聰明的 Hippo。


    小結:什麼時候值得上 Hippo?

    你可以用一個簡單判斷:

    • 只做「單次任務、一次對話就結束」的 Agent → 一般向量資料庫就夠
    • 需要「跨天、跨專案、角色長期成長」的 Agent → 值得導入 Hippo 記憶

    先從一個很小的場景開始:例如讓你的本機助理 記住你的個人偏好。當你發現它真的記得你說過的事,再把同樣的記憶結構,複製到客服、專案管理或遊戲 NPC 上。

    專案原始碼與設計細節: https://github.com/kitfunso/hippo-memory

    🚀 你現在可以做的事

    • 打開專案頁面,閱讀 Hippo 的 README 與範例程式碼:https://github.com/kitfunso/hippo-memory
    • 在本機建立一個小腳本,實作文中 llm_call() 並跑起示範的記憶型 Agent
    • 將 Hippo 接入你現有的 LangChain / LangGraph 專案,先讓一個特定 user 或 NPC 擁有長期記憶