標籤: 工作流程自動化

  • 不只是 Prompt!Agent Skills 正悄悄統一 AI 助理,成為跨平台的超能力標準

    不只是 Prompt!Agent Skills 正悄悄統一 AI 助理,成為跨平台的超能力標準

    來源:NotebookLM
    摘要影片:https://youtu.be/JzskVI-wsT4

    當我們談論客製化 AI 助理時,大多數人的第一反應可能是「調整 Prompt」。然而,這種方法往往感覺像是隔靴搔癢,難以建立可重複、結構化的複雜工作流程。現在,一個名為「Agent Skills」(代理人技能)的強大標準正在改變這一切。它不僅提供了一種更結構化的方式來擴展 AI 的能力,更令人驚訝的是,它正迅速成為一個跨越不同公司和產品的通用語言。

    1. 驚喜的跨平台開放標準:AI 界的「通用語言」

    最令人意外的發現是:Agent Skills 並非某家公司的專有技術,而是一個開放標準,正被多家相互競爭的 AI 開發工具所採納。有趣的是,「Skills」這個名稱最初由 Anthropic 的 Claude 推廣,但其核心理念——一個可移植、結構化的能力封裝——正被各家以不同名稱採納,例如 Google Gemini 的「Extensions」或 OpenAI Codex 的 AGENTS.md 文件,但都遵循著相同的開放標準原則。這在當前 AI 領域各自為政的環境中,顯得尤為難得且影響深遠。

    支持此標準的 AI 代理和工具橫跨了業界的主要參與者,包括:

    • GitHub Copilot (根據官方文件,支援其編碼代理、CLI 及 VS Code Insiders)
    • Anthropic 的 Claude (包含 Claude Code、Claude.ai 和 API)
    • Google 的 Gemini CLI (目前為實驗性功能)
    • Cursor
    • OpenAI Codex (作為早期支援該模式的工具之一)

    這個開放標準的官方文檔位於 agentskills.io。更重要的是,一個蓬勃發展的跨平台社群生態系正在形成。例如,Hugging Face 的 skills 程式碼倉庫就明確指出其技能可與主流編碼代理工具互通,而 GitHub 自己的 github/awesome-copilot 專案也收錄了大量社群創建的技能。這種跨公司的標準化意味著開發者可以「一次編寫,到處使用」,為特定任務封裝的專業知識和工作流程將具備前所未有的可移植性。

    2. 為你的 Context Window 減壓:高效的「漸進式揭露」

    Agent Skills 的核心運作機制是一種稱為「漸進式揭露」(progressive disclosure) 的高效模式,它極大地節省了寶貴的 Context Window 空間。

    其運作方式如下:當 AI 代理啟動時,它只會載入每個可用技能的輕量級元數據,也就是 name (名稱) 和 description (描述)。完整的技能指令集 (SKILL.md 的內容) 和相關資源並不會立即被載入。只有當用戶的請求與某個技能的描述相符,該技能被「啟動」時,其詳細內容才會被注入到當前的對話上下文中。

    這與將所有客製化指令都塞進一個龐大的系統提示 (system prompt) 中的低效做法形成鮮明對比。根據 awesome-claude-skills 倉庫的資料,一個技能在被啟動前可能只佔用 30-50 個 token,這充分展示了其在管理上下文時的卓越效率。

    3. 最關鍵的一行程式碼:description 欄位是你的魔法棒

    SKILL.md 檔案中,最重要的部分出乎意料地不是指令本身,而是 YAML frontmatter 中的 description 欄位。這一行文字是決定你的技能能否在正確時機被觸發的關鍵。

    AI 代理會自主分析用戶的請求,並將其與所有可用技能的 description 進行比對。如果匹配成功,代理就會決定使用該技能。這個過程在文檔中被稱為「隱式調用」(implicit invocation) 或「自動發現」(automatic discovery)。

    這意味著,一個寫得精準、具體、包含用戶常用關鍵字的描述,遠比指令內容本身更能確保技能的成功啟動。例如,一個模糊的描述如「幫助處理文件」,遠不如「從 PDF 文件中提取文字和表格,填充表單,合併文檔」來得有效。對於任何想要打造自己技能的開發者來說,這是一個至關重要的洞見。

    4. 各司其職:何時用 Skills,何時用自訂指令?

    Agent Skills 和其他客製化方法,如「自訂指令」(例如 CLAUDE.mdGEMINI.md),並非相互取代,而是各司其職。理解它們的區別是有效運用 AI 助理的關鍵。

    根據源文件的定義,它們的用途涇渭分明:

    • 自訂指令 (Custom Instructions): 用於設定持續性、全域性的規則和指導方針。這些指令在幾乎所有對話中都應該生效,例如整個專案的編碼標準、程式碼風格指南或固定的輸出格式。
    • Agent Skills: 用於提供特定任務、按需取用的專業知識和可重複的工作流程。這些技能只在處理特定任務時被觸發,例如一套標準化的除錯流程、一份 PR 審查清單,或一個資料庫遷移的工作流程。

    一個簡單的比喻是:自訂指令就像是公司的「員工手冊」,為所有員工提供通用的行為準則;而 Agent Skills 則像是為特定專案聘請的「外部專家顧問」,只在需要其專業領域知識時才會介入。

    5. 層層疊加的專業知識:強大的範圍與優先級系統

    Agent Skills 的設計中包含一個強大的分層結構,允許技能在不同的「範圍」(scope) 內生效,並定義了明確的優先級規則。

    技能可以被儲存在不同的位置,從而決定其適用範圍:

    • 專案/工作區 (Project/Workspace) 技能: 儲存在專案目錄下 (例如 GitHub Copilot 的 .github/skills、Gemini 的 .gemini/skills 或 Claude 的 .claude/skills),通常會納入版本控制,與團隊共享。
    • 使用者/個人 (User/Personal) 技能: 儲存在使用者的家目錄下 (例如 ~/.copilot/skills~/.claude/skills),適用於該使用者所有的專案。
    • 系統/擴充功能 (System/Extension) 技能: 由 AI 工具本身或其擴充功能捆綁提供,適用範圍最廣。

    當不同範圍中存在同名技能時,優先級規則確保了行為的可預測性:更具體的範圍會覆蓋更通用的範圍。例如,專案技能會覆蓋使用者技能,而使用者技能會覆蓋系統技能。

    這個分層系統極具威力,它讓團隊可以建立標準化的工作流程 (專案技能),同時又賦予個別開發者根據個人偏好進行客製化或擴展的靈活性 (使用者技能)。

    結論

    Agent Skills 代表了 AI 協作模式的一次重要演進,從簡單的提示工程邁向了一個更結構化、可重用且具備互通性的新範式。它不僅為開發者提供了前所未有的能力來「教導」AI 如何以標準化方式完成複雜任務,其跨平台的開放標準特性更有可能在未來催生出一個繁榮的技能生態系統。

    隨著這個開放標準的發展,您會想打造什麼樣的專業技能來為您的工作流程賦能?

    附上心智圖

    同場加映

    SKILL.md 的 YAML 前言(Frontmatter)中,雖然各工具都遵循基礎標準,但 Claude Code 提供最豐富的進階控制欄位。

    Claude Code YAML 欄位定義

    根據官方文件,Claude Code 的欄位配置如下:

    欄位名稱是否必填說明與使用方式範例
    name技能唯一標識符,僅限小寫字母、數字與連字號,上限 64 字元。name: pr-reviewer
    description描述功能與觸發時機,上限 1024 字元。代理據此決定何時激活技能。description: 審查 PR 並檢查代碼規範。
    allowed-tools限制代理在技能激活時可用的工具。若省略則不限制。allowed-tools: Read, Grep, Glob
    model指定執行該技能時使用的特定 AI 模型。model: claude-sonnet-4-20250514
    context設置為 fork 時,技能會在獨立的子代理上下文中執行,不影響主對話。context: fork
    agentcontext: fork 時,可指定子代理類型(如 Explore, Plan)。agent: Plan
    hooks定義技能生命週期中的自動化腳本(如 PreToolUse, PostToolUse)。見下文說明
    user-invocable是否在斜線命令選單中顯示。預設為 trueuser-invocable: false
    disable-model-invocation設置為 true 可阻止代理自動發現並觸發此技能。disable-model-invocation: true

    其他 AI 工具的欄位差異與額外欄位

    其他工具通常僅支援基礎欄位,但有少數獨特定義:

    • GitHub Copilot:
      • license (選填):用於描述該技能適用的授權條款。
    • OpenAI Codex:
      • metadata (選填):可在其下定義 short-description,作為面向使用者的簡短說明。
    • Cursor & Antigravity:
      • name (選填):這兩個工具中 name 並非必填。若省略,系統會自動使用父資料夾名稱作為技能名稱。
    • Gemini CLI:
      • 主要遵循基礎標準(namedescription),並無 Claude 特有的 hooksfork 欄位。

    共通的核心機制

    儘管欄位略有不同,所有工具皆採用**漸進式披露(Progressive Disclosure)**機制:啟動時僅讀取 namedescription 以節省 Token,只有當任務匹配時才會加載完整的指令與資源。

    在撰寫 SKILL.md 的 YAML 前言時,VS Code (GitHub Copilot)Claude Code 都遵循基礎標準,但 Claude Code 提供了更多進階的控制欄位。

    VS Code (GitHub Copilot) 的 YAML 欄位

    VS Code 的配置相對簡約,主要聚焦於識別與觸發:

    • name (必填):唯一標識符,限小寫、數字與連字號,上限 64 字元。
    • description (必填):定義技能功能與觸發時機(Copilot 據此決定何時加載),上限 1024 字元。
    • license (選填):描述該技能適用的授權條款。

    Claude Code 的進階 YAML 欄位

    Claude Code 除了支援上述基礎欄位外,還增加了許多功能性控制:

    • allowed-tools:限制代理在技能激活時可使用的工具(例如只允許 ReadGrep),增加安全性。
    • context: fork:將技能放在獨立的「子代理」中執行,避免污染主對話歷史。
    • agent:配合 fork 使用,指定子代理類型(如 ExplorePlan)。
    • hooks:定義自動化腳本的觸發事件(如 PreToolUseStop)。
    • user-invocable:控制該技能是否顯示在 / 斜線命令選單中(預設為 true)。
    • disable-model-invocation:若設為 true,可阻止 Claude 自動發現並觸發此技能。

    核心差異總結

    特性VS Code (Copilot)Claude Code
    主要定位任務導向的指令擴充高度自動化的工作流控制
    工具限制不支援限制工具可透過 allowed-tools 精確限制
    環境隔離始終在當前對話中加載可透過 fork 建立獨立執行環境
    生命週期無特定事件處理可透過 hooks 執行前後置腳本
  • 2025-07-12 N8N Workshop 筆記心得

    2025-07-12 N8N Workshop 筆記心得

    N8N Workshop 筆記心得

    主講:
    @ironv.careerlife@darrell_tw_

    久久上一次課,這次是嘗試透過線下課程了解 N8N 的特色、用法、優缺點和使用技巧。以下是我的主觀觀點與整理。

    先說結論:

    1. N8N 定義為 GUI 介面的自動化管理工具。有其便利性,也有門檻:在於介面詞彙和結構的熟悉掌握。
      需要熟悉個個節點如何操作,還有第三方服務如何操作。
    2. N8N 是由節點組成,以軟體工程來說,每個節點具備一個系統的基本結構,透過自動化需要的元素,組成成自動化工具的用途。
    3. N8N self-host 是社區版,自用以上,商用未滿。

    幾個自己私人小檢討:

    1. 英文聽寫要加強。
    2. 必須多與同一個領域的人聊天社交,自己一個人工作久了突然要講話,很多詞彙會卡住。

    課程內容部分,主要是先引言介紹了 N8N 的應用場景,介紹了一些工具,再來實作幾個 case ,可惜時間不夠,並沒有執行小組討論的環節。

    Outline

    1. 工具介紹
    2. 我對自動化的理解
    3. 我對 N8N 的理解
    4. 透過 Case 中學到 N8N 的部分眉角與注意方向

    工具介紹

    以下是課程中介紹到的工具或書籍

    《把時間買回來》

    DRIP 四個象限:委派、取代、投資和生產。簡單講就是時間應該花在對身心錢包健康的地方。

    BAR 原則。什麼東西該自動化:

    1. Bother – 麻煩與無聊的事情該自動化
    2. Added-value – 自動化應該降低成本、增加效率
    3. Repetitive – 重複性高的事項該自動化

    OWL (貓頭鷹大法) 自動化的規劃步驟:

    1. Objective:先確認目標
    2. Workflow:規劃流程
    3. Limit & Questions:確認限制與問題,處理 B Plan

    e.g.

    • 寫程式順便背英文單字 QAQ 所以用 n8n ,這就是 BAR 原則(誤)
    • 自動化是被規劃好的,掌握 OWL 實作避免過度設計或腦袋不清楚亂做。

    Datacamp

    https://www.datacamp.com

    資料學習的網站。透過互動課程、真實專案和業界認可的認證掌握 Python、ChatGPT、Power BI 等熱門技能。

    Apify

    https://docs.apify.com
    https://docs.apify.com/api/v2/

    爬蟲 API 付費市場。
    據課程介紹,我理解他的流程是:(手動或自動)執行爬蟲 -> 取得 dataset -> (webhook trigger)透過 API 取得 dataset 內的資料。屬於非同步的呼叫方式。

    Zeabur

    近年興起的台灣新創,我理解有點像是進化的 Cloudways 服務,老闆人很好,客服服務不錯,繁體中文友善。主打使用 AI 雲端部屬,請大家多多支持。

    我對自動化的理解

    通常的行為模式應該是:
    執行一個項目 -> 發現他會重複執行 -> 產生一套 SOP -> 覺得花時間(評估) -> 優化 SOP -> 想要降低成本/增加效率(評估) -> 尋找替代方案 -> 找到替代方法。

    在兩個評估點之間會不斷來回,這時應該考慮自動化的可行性。

    自動化的目的是為了把時間空出來,基於「把時間空出來」目的,我們會發現有幾個可行的方案:

    1. 外包做工具自動化
    2. 自己做工具自動化
    3. 招一個職缺/外包來作

    第三個方法往往都是傳產常常會做的事情,在數位化興起之後,開始有能力的人嘗試寫程式自動化,然而降低成本這件事情是人心所向,於是各種自動化工具面對不同需求產生。我認為,對於自動化的工具是可以依照需求導向與成本導向並行,而且有需求再研究就好,甚至說不定便宜人力比研究自動化工具還划算。然後重要的應該是需要保持對「自動化」這個需求的警覺,還有必須要想辦法創造餘裕來研究任何新事物,包括自動化工具的時間與能力。創造餘裕是一種富有的表現,所以也必須要小心落入時間的貧窮陷阱。

    我對 N8N 的理解

    自動化的工具不少,要考慮的點不外乎是時間成本和維護成本, N8N 的優點與缺點:

    優點

    1. 透過節點組成,如果是 z 世代小朋友,小時候有上過程式課應該有遇到像是樂高積木的那種程式工具,我理解兩者滿像的,會更豐富一些,如果有學過那類型的程式工具 N8N 應該會格外親切。
    2. 社區版原始碼免費,應該是同款自動化工具裡面架設成本最低的。而且其他第三方應用的費用,皆照官方計價,沒有二房東的費用。
    3. 基本自動化該有的節點(模組)都有了,對於個人使用很方便,甚至市面上已經有一套完整的教學產業,上手不是困難的事情。
    4. 第三方功能的節點豐富,舉凡 Google, Telegram, Line 等都能實現。
    5. GUI 介面好處是寫的好的話,看 Logs 或是看 status 都很方便,而且不用一直打字。 N8N 算是寫的好一款應用程式。

    缺點

    1. 商用的話需考慮授權,這塊要賣的時候要特別注意是否侵權。
    2. 計價和使用方式是雙面刃,便利性的同時代表設定要自己處理,同時價格也需要個別服務分開看好。
    3. 學習曲線較其他產品陡峭。這是高可塑性的代價,相對複雜許多。

    個人主觀抱怨

    1. 個人不是很習慣 N8N GUI 的樣子,誤會了兩三次,不過可能也是因為實作的項目領域不是很熟悉導致。
    2. 我討厭 Google API 設定也太阿雜還變來變去的,這是長年來的抱怨。還好有 Meta 坦著你又便宜,哼,真香。
    3. GUI 自動化最怕遇到有異常,不知道發生什麼事情的狀況,整堂課程遇到兩次,慶幸 N8N 給的資訊還算完整,還好最後能夠處理掉。
    4. 這類型自動化操作除非是以代辦作為職業,否則很難變得熟悉,一般應用都是設定一次完就不會想要花太多時間維護他了,所以萬一他不穩定,或是自己規劃錯誤,導致花了很多時間去摸索,變得很熟悉,這樣不是挺悲哀的嗎?

    一些相關的經驗

    其實也是寫程式的經驗,套用而已。

    1. 資安要處理好,安全這種東西沒有在含扣的。通常自稱程是小白的人 3C 或是軟體服務也是小白,建議跟官方客服問清楚或是找工程師好友諮詢清楚。比較怕的是不懂卻自認很會用服務的人,這種人達克效應高漲,不要靠近我。
    2. 「設定」的時候會被細節困住,建議遵循 OWL 原則,就像是辦一個活動或是拍攝一檔節目一樣,企劃流程分鏡先規劃好,活動預達目標與單項預達目標條列清楚,細節都是為了實現我們的每個小目標。花的時間和架設費用等都是成本,眼光應放遠。
    3. 不要過度設計,不要過度設計,不要過度設計。還有,適當的資安規劃不叫「過度設計」。 常見的、重要的資安態度是:不要給系統多餘的功能或能力、不要讓系統有多餘的輸入和輸出,以及不要給不需要的人看到和更動系統的權限。

    結論

    1. N8N 是給腦袋清楚的人用的。市面上有更多無腦工具,差別在你要付出的代價不一樣。
    2. 要搞清楚每個節點用途,使用方法。我建議先嘗試把目前「可行」的自動化功能建立起來,再慢慢擴展,如同上述自動化的行為模式一樣,先解決一部分問題,保持對效能的不滿意,有欲望有進步。

    透過 Case 中學到 N8N 的部分眉角與注意方向

    課程中實作了兩個案例,分別是透過 Gmail 匯入財政部發票資料儲存至 Google Sheet,利用 AI 整理摘要;透過 Apify 服務爬取 Linkedin 資料,並且利用 AI 產出客製化履歷。

    時間有限後面有些細節是口述方式帶過,而我的目標是了解 N8N 特色與需要熟悉的方向,足已。以下總結有記錄到的內容:

    N8N 是由節點,透過資料流(傳遞)達成目的

    大致上理解一個大系統裡面很多小系統,就是拼圖寫程式的意思。細節還是每個節點都是參數化操作,需要一定熟悉比較好操作,與理解如何使用第三方的應用。

    常見自動化實作:

    1. 個人工作流程、日常生活流程(發票、記帳)
    2. 求職與人資資料整理
    3. 行銷與社群回覆
    4. 大數據資料(e.g. 金融資料、股市分析)整理
    5. AI 語言教練

    N8N 操作節點,四大類節點

    1. Triggers – 觸發行為
    2. Order – 執行指令(Actions)
    3. Trans – 資料調整
    4. Logic – 條件

    我認為比較常用的有類似:

    1. 觸發節點 On… 動作或是 When… 什麼動作。
    2. Extract 相關節點 從上一個資料源取得。
    3. Edit Fields 整理資料用的。
    4. switch 這是邏輯節點之一。

    另外有些像是寄信、儲存至 sheet 等動作,需要實作串接第三方服務(e.g. Google Sheet),建議研究專門的節點來實現。如果你爽也可以使用支援 JavaScript 或 Python 實作。

    第三方服務舉例

    一、課程中使用到 Apify 服務是除了 Google 之外較為複雜的流程,他操作步驟如下(我理解的視野):

    1. 建立 Apify Webhook 取得 dataset
    2. 利用 dataset ID 取得 post API
    3. N8N 設定好 Webhook Trigger 與 post API 節點,取得資料繼續應用。
    4. 觸發 Apify 以後 N8N 依照 Webhook 觸發動作。

    同時我會比較,在理解運作流程的狀況下,如果我用 ts 或 py 撰寫會不會寫的比較快?同時也要考慮後續維護對象以及維護的時間成本。

    二、課程中使用了 Google 服務,我遇到一個很啊雜的問題,特別筆記起來作為怨念碑:

    1. 使用 Sheet API 要開 Drive API 要不然無法 list。
    2. Google 專案數量設定有上限。
    3. Google 帳戶角色切換爛透了。

    我還一直以為是不是前幾年用舊版 Project 抓 Youtube API 被官方降 limit 導致被懲罰。好啦,免費的講完就沒事了。Gemini 棒棒!

    其他有些串接的操作,像是 OpenAI 應用,我覺得操作不難,難點在 prompt 或是 system message 怎麼處理。

    想一些賺錢的 Idea

    這是我上課時候想到的,有興趣可以做做看:

    1. 低成本自動架設網站服務
    2. 新聞資料整理
    3. 搶票搶場地(by 刑法賺錢總綱
    4. KOL 輿情分析
    5. 優化/低成本智慧家電控制

    以上。