標籤: 自動化工作流程

  • 5 分鐘做出你的 Claude 專屬小 Agent

    5 分鐘做出你的 Claude 專屬小 Agent

    📌 本文重點

    • Claude Skills 是一包可重用的 Python 技能模組
    • 只要寫幾個函式就能讓 Claude 自動串起工作流
    • 10 分鐘內可跑起第一個實用小 Agent

    用一句話講清楚:Claude Skills 就是一包現成可重用的 Python「技能模組」,幫你把讀檔、叫 API、發 Slack 這種瑣事交給 AI 自動跑。

    下面的重點是:看完你應該要「馬上能照著做,跑起一個自己的小 Agent」。


    什麼是 Claude Skills?

    原始專案:https://github.com/anthropics/skills

    用人話解釋:

    • 每一個 Skill 就是一個 Python 函式,包住「一件具體可重複的任務」,例如:
    • 讀 / 寫某個資料夾的檔案
    • 呼叫外部 HTTP API
    • pandas 處理 CSV / JSON
    • 串起一小段工作流程(抓資料 → 清洗 → 寫檔 → 發通知)
    • 這些函式會被包裝成 工具(tools),讓 Claude 之類的模型「自動決定要不要呼叫、用哪個參數」。
    • 你的工作:
    • 選幾個 skills
    • 配好權限與 API key
    • 用一個簡單的 Agent shell 把它們掛上去

    結果就是:你不用自己手刻複雜 Agent 架構,只要寫幾個普通的 Python 函式,Claude 就能幫你組成自動化流程。


    核心功能:你可以拿來做什麼

    1. 內建技能類型:檔案、API、資料處理、簡單工作流

    anthropics/skills 裡,你可以看到各種已經寫好的 skills(名稱可能持續調整,但類型大致如下):

    • 檔案相關:
    • 讀寫本機檔案(通常限定在某個資料夾)
    • 列出目錄、建立新檔、更新內容
    • API 呼叫:
    • 通用 HTTP requestGET / POST
    • 幫你處理 headers、JSON encode / decode
    • 資料處理:
    • 讀寫 CSV / JSON
    • pandas 做簡單統計與篩選
    • 工作流協調:
    • 把多個 skills 串起來:例如「每天定時抓 API → 整理 → 寫報表 → 發通知」

    💡 關鍵: 多數常見「讀檔、叫 API、整理資料」的雜務,其實已經有現成 skill,可以直接拿來組合,而不用從零寫 Agent 架構。

    你可以立刻做的事:

    1. 打開 repo 的 skills/ 資料夾(或類似目錄),挑幾個你看得懂的 Python 檔。
    2. 看每個 skilldocstring,理解它預期的輸入、輸出是什麼。
    3. 想一件自己平常重複做的事,先用一個 skill 就好(例如:讀一個 CSV 幫你整理)。

    2. 如何跟你現有專案整合

    Skills 的設計很單純:

    • 你可以把整個 repo 當作 依賴套件 安裝,或直接把單一 skill 檔案 copy 進你專案。
    • 在你自己的 Agent 程式裡,把這些 functions 包成工具,丟給 Claude 使用。

    一個極簡示意(結構可能與實際 repo 有差異,但概念相似):

    from skills.files import read_file, write_file
    from anthropic import Anthropic
    
    client = Anthropic(api_key="YOUR_API_KEY")
    
    TOOLS = [read_file.tool_def, write_file.tool_def]
    
    resp = client.messages.create(
        model="claude-3-7-sonnet-20250219",
        max_tokens=1024,
        tools=TOOLS,
        messages=[{
            "role": "user",
            "content": "請幫我打開 data/report.csv,整理成重點摘要,回給我。"
        }]
    )
    

    Claude 看到 tools 後,會自己決定:

    • 要不要執行 read_file
    • 執行後用結果做後續推理

    你可以立刻做的事:

    • 如果你已經有在用 Claude API,先挑 1–2 個 skills 加進你的工具列表,看看 Claude 會怎樣使用它們。

    3. 搭配其他開源專案:拉出一條多代理 workflow

    有兩個常被一起提到的專案,很適合拿來串:

    名稱 核心功能 免費方案 適合誰
    Claude Skills 可重用的 Python 任務模組,給 Agent 當工具用 開源、自架 想快速做實用 Agent 的開發者、技術 PM
    scientific-agent-skills 研究、工程、金融、寫作等專業領域的技能集 開源、自架 科研團隊、量化分析、技術寫作者
    Personal_AI_Infrastructure 個人 AI 代理基礎架構、多代理協作 開源、自架 想打造個人 AI 工作桌面、內部 Agent 平台的人

    實際串法可以是:

    • Personal_AI_Infrastructure 當「總控台」與排程器
    • Claude Skills + scientific-agent-skills 當作不同專業領域的「工具箱」
    • 例如:
    • Agent A:每天抓研究資料(API + 檔案 download
    • Agent B:用 scientific-agent-skills 做統計分析
    • Agent C:把結果用 Claude Skills 寫成報告,發到 Slack

    你可以立刻做的事:

    • 先單純在本機跑 Claude Skills,確認流程順暢後,再考慮拉入 Personal_AI_Infrastructure 做多 Agent 編排。

    適合誰用:三種常見場景

    1. 個人開發者 side project:資料整理 bot、FAQ 助理

    具體可以做:

    • 資料整理 bot
    • 每天從某個 API 抓資料
    • 存成 CSV
    • 請 Claude 用 skills 幫你做摘要或簡單圖表
    • 客服 FAQ 助理
    • 讀本機的 FAQ 檔案 + 客戶紀錄
    • 自動整理常見問題、生成回覆模板

    行動建議:

    • 先挑「你每天重複做、但不用太精準」的任務,例如:整理 log、閱讀報表。

    2. 小團隊:內部自動化腳本

    適合處理:

    • 例行報表產出
    • 專案進度彙整
    • Jira / GitHub issue 摘要

    作法:

    1. 把資料源(API、CSV)包成 2–3 個自訂 skills
    2. 寫一個簡單 CLI 或 cron job,每天叫 Claude 跑一次。

    3. 結合其他開源專案:多步驟分析 + 報告

    對研究團隊、數據團隊特別實用:

    • scientific-agent-skills 做嚴謹分析
    • Claude Skills 負責「收資料 / 寫結果 / 發報告」

    行動建議:

    • 先把你現有的分析腳本包一層成 skill,讓 AI 能呼叫;不需要一開始就全部自動化。

    怎麼開始:10 分鐘跑起一個本地小 Agent

    以下示意流程假設你已經有 Claude API key,且會用基本的命令列。

    💡 關鍵: 只要準備 API key、安裝 repo,再加上兩三個簡單 skills,大約 5–10 分鐘內就能跑起第一個可用的本地 Agent。

    步驟 1:Clone 專案 + 安裝依賴

    git clone https://github.com/anthropics/skills.git
    cd skills
    
    # 依照專案說明,可能是
    pip install -e .
    # 或
    pip install -r requirements.txt
    

    行動:確認 python -m skills 或範例指令能跑起來(依官方 README 為準)。


    步驟 2:設定 API Key

    export ANTHROPIC_API_KEY="你的 Claude API key"
    

    Windows PowerShell:

    $env:ANTHROPIC_API_KEY="你的 Claude API key"
    

    行動:用 repo 提供的最小範例(例如 examples/basic_agent.py)跑一次,看 Claude 能不能成功呼叫某個內建 skill


    步驟 3:本機執行一個範例技能

    假設有一個簡單範例(名稱依實際 repo 為準):

    python examples/list_files_agent.py
    

    你可能會看到:

    • 問你「要在哪個資料夾工作」
    • Claude 自動呼叫 list_filesread_fileskills

    行動:換一個你自己的資料夾(例如放了一些 CSV 報表),觀察 Claude 如何使用 skills 幫你瀏覽、整理。


    步驟 4:改成自己的任務——每天抓一個 API、整理、丟 Slack

    目標:

    1. 每天叫一個公開 API(例如匯率、Crypto 價格)
    2. 整理成簡單文字報表
    3. 發成訊息到 Slack 頻道

    實作方向:

    1. 寫一個自訂 skill:
    # skills/custom/fetch_rates.py
    import requests
    
    from skills.core import skill  # 依實際框架命名
    
    @skill
    def fetch_rates(base: str = "USD"):
        """從匯率 API 取得最新匯率資料。"""
        url = f"https://api.exchangerate.host/latest?base={base}"
        r = requests.get(url, timeout=10)
        r.raise_for_status()
        return r.json()
    
    1. 再寫一個發 Slack 的 skill(用 webhook 即可):
    # skills/custom/post_to_slack.py
    import os
    import requests
    from skills.core import skill
    
    WEBHOOK = os.environ["SLACK_WEBHOOK_URL"]
    
    @skill
    def post_to_slack(text: str):
        """把文字訊息丟到預設 Slack 頻道。"""
        r = requests.post(WEBHOOK, json={"text": text}, timeout=10)
        r.raise_for_status()
        return {"status": "ok"}
    
    1. 寫一個小 Agent 腳本:
    from anthropic import Anthropic
    from skills.custom.fetch_rates import fetch_rates
    from skills.custom.post_to_slack import post_to_slack
    
    client = Anthropic()
    
    TOOLS = [fetch_rates.tool_def, post_to_slack.tool_def]
    
    prompt = """
    你是一個匯率小助理:
    1. 先用工具抓最新 USD 匯率
    2. 挑出 3 個對我們重要的幣別(EUR, JPY, TWD)
    3. 排版成一段適合 Slack 的中文簡報
    4. 用工具發到 Slack
    """
    
    resp = client.messages.create(
        model="claude-3-7-sonnet-20250219",
        max_tokens=1024,
        tools=TOOLS,
        messages=[{"role": "user", "content": prompt}]
    )
    
    1. 排程:

    2. Linux / macOS:用 cron 每天跑一次這個腳本

    3. Windows:用排程工作排每日執行

    到這裡,你就已經有一個「完全實用」的小 Agent,在幫你做每天的資訊整理與通知。


    最佳實踐:權限、安全與成本

    1. 限制權限:不要讓 Agent 隨便亂動

    • 檔案操作技能:
    • 設定 專用工作資料夾,例如 ./agent_workspace,只給這個路徑的讀寫權限。
    • API skills
    • 把 API key 存在環境變數或 secret manager,不要寫死在程式碼。

    2. 記錄 log:看得出 Agent 做了什麼

    • 為每個 skill 加上基本 logging
    • 呼叫時間
    • 參數(敏感資訊略過)
    • 成功 / 失敗
    • 方便之後調整 prompt 或參數,避免 Agent 做無用功。

    3. 控制成本:避免 runaway cost

    • 在建立 Claude 訊息時:
    • max_tokens 合理上限
    • 控制 context 長度(不要丟整個專案 repo,先丟必要檔案)
    • 如果是排程任務:
    • 從「每天一次」開始
    • 先跑一週看看用量,再決定要不要加頻率或多任務

    💡 關鍵: 先以低頻率、小 context、適中 max_tokens 測試一陣子,再逐步放大規模,可以有效避免成本爆衝。


    總結

    如果你:

    • 會一點 Python
    • 有一些重複的資訊工作
    • 不想研究整套 Agent 框架

    那以 Claude Skills 作為工具層,加上 Claude API 當腦,就足以在 5–10 分鐘內生出一個實用的小 Agent。先從一個最簡單、最無害的任務開始,把整個流程跑順,之後要擴充成多代理、多專案,只是多加幾個 skills 與排程而已。


    🚀 你現在可以做的事

    • 打開 anthropics/skills 並瀏覽 skills/ 目錄,挑 1–2 個看得懂的 skill 研究輸入輸出
    • 在本機依照文中步驟安裝 repo、設定 ANTHROPIC_API_KEY,跑一次官方範例 agent
    • 依照「匯率 + Slack」示例,改寫成你自己的每天例行任務(例如拉報表、整理 log、寄出摘要)
  • 用 goose AI Agent 開一隻全能小幫手

    用 goose AI Agent 開一隻全能小幫手

    📌 本文重點

    • goose 是用 Rust 寫的開源 AI Agent 框架
    • 讓 LLM 真的能跑指令、改檔案、寫測試而不只聊天
    • 可接任意 LLM,並透過 workflow 自動化多步驟任務
    • 很適合 DevOps / 開發者做日常開發與部署自動化

    用一句話說清楚:goose 是一個用 Rust 寫的開源 AI Agent 框架,可以讓 LLM 不只聊天,而是真的幫你在電腦上安裝套件、跑指令、改程式碼、寫測試,變成一個可以自動執行任務的「全能小幫手」。

    GitHub 專案:https://github.com/aaif-goose/goose


    goose 和一般聊天機器人有什麼不同?

    一般 ChatGPT / Claude 類工具,多半停在「給你建議」:

    • 產生程式碼片段
    • 幫你想測試案例
    • 告訴你下一步可以怎麼做

    goose 的差別在於:它可以自己動手做。

    透過 goose,你可以讓模型:

    • 在你的環境裡 執行殼層指令(shell commands)
    • 直接修改專案檔案、重構程式碼
    • 跑測試、根據結果再修正
    • 用 plugin / tool 的形式接上你自己的 API 或腳本

    換句話說,它比較像一個「可編程的 AI 工具人」,而不是純聊天機器人。

    💡 關鍵: goose 不只回覆文字,而是能在你的實際環境中「讀檔案、下指令、改程式」,真正把建議變成動作。


    核心功能:你可以拿 goose 來做什麼?

    1. 調用殼層指令:讓 LLM 幫你按命令行上的按鈕

    goose 內建「可以執行 shell 指令」的能力。

    你可以叫 agent 做這些事:

    • 安裝套件:apt-get, brew, pip, cargo
    • 拉專案:git clone、切分支、pull 最新版
    • 跑工具:npm testcargo testpytestmake build

    你要做的行動:

    • 想一件你平常常打的一串指令(例如部署前要跑的 3–5 個步驟)
    • 把它寫成一句自然語言任務,交給 goose,觀察它如何自己拆解並下指令

    2. 程式碼編輯與測試:真的會改你專案的那種

    goose 支援對檔案系統操作,讓 LLM 直接:

    • 開啟 / 讀取專案中的檔案
    • 修改檔案內容(插入、刪除、重構)
    • 新增測試檔、更新 README

    常見用法:

    • 讓 agent 自動幫你 加 log / exception handling
    • 要它針對某個 module 補齊單元測試
    • 改 config、更新版本號、調整 CI 設定檔

    你要做的行動:

    • 選一個「可以放心被 AI 改壞」的小 side project
    • 用 goose 給它一個任務,例如:「在這個 Rust 專案裡,新增一個 health check endpoint,並幫我補上測試」

    3. 自訂工具擴充:把你自己的腳本、API 變成 agent 的能力

    goose 的設計重點是 「可擴充的工具」。你可以:

    • 把現有的 Python / Bash 腳本包裝成一個 tool
    • 把團隊內部 API(如 issue tracker、部署服務)接進來
    • 讓 agent 用「呼叫工具」的方式,連續完成更複雜的流程

    實際效果:

    • LLM 不用自己「想像」怎麼部署,而是呼叫你提供的 deploy_api
    • 你可以限制它只能用你認可的工具,控制風險

    你要做的行動:

    • 列出你工作中最常手動跑的 2–3 個腳本
    • 想像它們如果變成一個 deploy_service / create_release 的工具,agent 可以怎麼自動串起來

    4. 接任意 LLM:OpenAI、DeepSeek、本地模型都行

    goose 標榜 「with any LLM」,實際上就是可以在設定中自由切換 backend:

    • OpenAI(如 gpt-4.1
    • DeepSeek API(如 deepseek-coder
    • 透過 OpenAI-compatible API 的本地模型(Ollama、LM Studio…)

    這讓你可以:

    • 開發時用免費 / 便宜模型測試流程
    • 上線到正式環境時再換成更穩定的雲端模型

    你要做的行動:

    • 先挑一個你現有就有 API Key 的 LLM(例如 OpenAI 或 DeepSeek)
    • 決定:
    • 「實驗階段」用哪個模型
    • 「正式跑自動化」時要不要升級到較貴的模型

    💡 關鍵: 透過切換 GOOSE_MODEL 等設定,你可以在成本(本地 / 便宜模型)與效果(雲端高階模型)之間彈性取捨。


    適合誰用?三種典型場景

    1. DevOps/SRE:日常腳本自動化

    例如:

    • 部署前:拉最新程式碼 → 跑測試 → build → health check
    • 緊急修補:切 branch → 套 patch → 跑 smoke test → 發一版 hotfix

    用 goose 的做法:

    • 把這些步驟包成一個「任務腳本」(workflow)
    • 讓 agent 自己決定下一步要跑哪個指令、根據輸出結果調整

    2. 開發者:專案 boilerplate 生成與重構

    適用情境:

    • 開一個新服務:想要快速產生「專案骨架 + 基本路由 + CI 檔案」
    • 老專案:想系統性把某種寫法換成新的 pattern

    用 goose 可以這樣玩:

    • 指定專案資料夾給 agent
    • 給一個任務:「初始化一個 NestJS API 專案,幫我加上 Dockerfile 和 GitHub Actions CI」

    3. 團隊工程流程:CI 前自動檢查與修修補補

    在 CI 跑之前,先讓 goose 幫你:

    • 檢查程式格式、lint 問題
    • 嘗試自動修正簡單的錯誤
    • 對 PR 產生簡短變更說明

    做法:

    • 在 CI pipeline 裡加入「goose agent 步驟」
    • 給它權限在 CI runner 上修改檔案並 push(或開新 PR)

    💡 關鍵: 把 goose 放進 CI / pre-commit,可以在錯誤進到主線分支之前,自動完成一輪整理與簡單修補。


    怎麼開始:最快速的上手路徑

    1. 用 Docker 跑起官方範例(最快測試)

    前提:

    • 已安裝 Docker
    • 手邊有一個 LLM API Key(例:OPENAI_API_KEY

    步驟:

    # 1. 拉專案
    git clone https://github.com/aaif-goose/goose.git
    cd goose
    
    # 2. 建一個 .env,放你的模型設定(簡化示意)
    cat << 'EOF' > .env
    OPENAI_API_KEY=your_key_here
    GOOSE_MODEL=openai/gpt-4.1
    EOF
    
    # 3. 用 docker compose 跑起來(實際以 repo 裡的 compose 指令為準)
    docker compose up --build
    

    跑起來後,通常會有:

    • 一個 CLI / HTTP 介面
    • 你可以丟:
    • 「在這個容器裡安裝 curl 並測試對 google.com 發送請求」

    行動建議:先在容器內做「無害」的事情,例如安裝一個套件、建立一個測試檔案,確認 goose 真的有在動你環境。


    2. 本機安裝(Rust 使用者)

    前提:

    • Rust toolchain(rustup

    步驟:

    # 1. 安裝依賴
    cargo install --path .  # 實際請以 README 為準
    
    # 2. 設定環境變數
    export OPENAI_API_KEY=your_key_here
    export GOOSE_MODEL=openai/gpt-4.1
    
    # 3. 跑 CLI
    goose run
    

    你可以在終端機裡對 agent 下指令,例如:

    • 「列出目前資料夾的檔案,幫我找出所有含有 TODO 的檔案並列出行號」

    3. 接上常見模型(OpenAI / DeepSeek / 本地 LLM)

    以下是假設性的設定方向(實際請對照 goose README):

    OpenAI

    export OPENAI_API_KEY=your_key
    export GOOSE_MODEL=openai/gpt-4.1
    

    DeepSeek

    通常會提供 OpenAI 相容 API:

    export OPENAI_BASE_URL=https://api.deepseek.com/v1
    export OPENAI_API_KEY=your_deepseek_key
    export GOOSE_MODEL=deepseek-chat
    

    本地 LLM(以 Ollama 為例)

    啟動 Ollama 後:

    export OPENAI_BASE_URL=http://127.0.0.1:11434/v1
    export OPENAI_API_KEY=dummy
    export GOOSE_MODEL=ollama/llama3.1
    

    行動建議:先用最簡單、你現在就有的 API Key 接上,確認 goose 的流程跑得通,再考慮搬到本地模型節省成本。


    寫一個自己的「任務腳本」:讓 agent 連續完成幾個步驟

    goose 的強項在於可以定義「多步驟任務」。概念上,你會有一個 workflow 設定(格式依官方為準,這裡用 pseudo-code 示意):

    # workflows/dev_check.toml
    name = "dev_precommit_check"
    
    [[steps]]
    type = "shell"
    command = "git status"
    
    [[steps]]
    type = "agent"
    prompt = "閱讀 git status,決定要先格式化哪一些檔案,並執行對應指令。"
    
    [[steps]]
    type = "shell"
    command = "cargo test"
    
    [[steps]]
    type = "agent"
    prompt = "根據測試結果,如果有簡單錯誤可以直接修,並再次執行對應測試。"
    

    用法:

    goose run-workflow workflows/dev_check.toml
    

    這樣,你可以一行命令啟動一個「會看情況調整動作」的前置檢查流程。

    你要做的行動:

    • 先定義一個超簡單的 workflow:
    • Step1:ls 專案
    • Step2:請 agent 根據專案結構生成一段簡短說明,寫入 PROJECT_SUMMARY.md

    實戰:從零做一個小型自動化 workflow

    目標:在一個現有專案裡,做「提交前自動整理 + 簡單修補」流程。

    我們要達成:

    1. 檢查目前分支變更檔案
    2. 對變更檔案跑 formatter / linter
    3. 如果有明顯錯誤,由 agent 嘗試自動修改
    4. 重新跑測試

    Step 1:準備專案與權限

    1. 找一個你熟悉、可以接受被改動的專案資料夾
    2. 新開一個分支,如 feat/goose-auto-fix
    3. 確保 goose 有權限:
    4. 讀寫這個資料夾
    5. 執行必要的指令(例:npm testcargo test

    Step 2:定義 workflow(示意)

    依 goose 支援的格式建立一個 workflow 檔(假設是 YAML):

    name: precommit-helper
    steps:
      - type: shell
        command: git diff --name-only
      - type: agent
        prompt: |
          你看到的是目前分支有變更的檔案清單。
          目標:
          1. 對這些檔案執行合適的 formatter / linter 指令(依照檔案類型判斷)。
          2. 若 formatter/linter 回報可自動修復的問題,請修改檔案並重新執行檢查。
      - type: shell
        command: npm test  # 或你專案的測試指令
      - type: agent
        prompt: |
          根據測試輸出,
          - 若是小型邏輯/型別錯誤,嘗試修改相關檔案後再次執行測試。
          - 若錯誤較複雜,請產生簡短說明寫入 precommit_report.md。
    

    Step 3:實際執行與調整

    1. 在專案根目錄跑:

    bash
    goose run-workflow precommit-helper.yaml

    1. 觀察它的行為:
    2. 有沒有亂跑你不想要的指令?
    3. 修改的檔案是否合理?

    4. 根據結果調整:

    5. 限制能用的指令範圍(例如只允許 npm test, npm run lint
    6. 在 prompt 裡多加一些「安全護欄」,例如「不要刪除檔案」。

    完成後,你就有了一個:

    • 可以在提交前幫你「整理 + 修補 + 產生報告」的小型 AI 助理
    • 海豚式改進:遇到痛點就稍微改一下 workflow / 工具清單,越用越貼近你團隊習慣

    小結:下一步可以怎麼玩?

    如果你看到這裡,建議接下來這樣走:

    1. 先跑官方範例容器一次,確認 goose 在你機器上可以正常跑指令。
    2. 選一個專案資料夾,做一個超小 workflow:只做檔案摘要或自動補 README。
    3. 把你現有的一個腳本包成 tool,讓 agent 可以呼叫(例如部署或打包腳本)。
    4. 等你有信心後,再把它接進 CI / pre-commit 流程。

    完整專案與最新用法請看:https://github.com/aaif-goose/goose

    把 goose 想成一個「可編程的 ChatGPT + 指令列機器人」,先從最小、風險最低的自動化開始,你會很快找到適合自己工作流的用法。

    🚀 你現在可以做的事

    • 打開 <https://github.com/aaif-goose/goose>,用 Docker 照著 README 跑一次官方範例
    • 選一個 side project,讓 goose 幫你完成「新增一個 endpoint + 補上測試」的小任務
    • 把日常最常用的一個部署或檢查腳本包成 tool,寫一個只包含 2–3 個步驟的簡單 workflow