“Skills 不就是腳本套個殼嗎?我十幾年前就玩 AutoIt 了”
整理版優先睇
Agent Skills 唔係單純腳本,而係用自然語言指令俾 AI Agent 自主執行,降低自動化門檻,但需要正視安全風險。
呢篇文章出自一位有經驗嘅程序員,佢想回應成日聽到嘅質疑:「Skills 唔係腳本換個殼咋?」作者先用自身經驗講明,自己都覺得 Skills 好似用 Python 半個鐘就寫到嘅 script,但深入比較後發現本質唔同。
腳本係固定動作,遇錯就停,等你手動處理。Agent Skills 係一個技能包,核心係 SKILL.md 說明文檔,AI Agent 會自己判斷幾時用、點樣用,出錯時仲會自己裝依賴、改 code、重跑,好似有個 AI 程序員跟你部機。Skills 用自然語言編排工作流,唔需要 if-else 呢啲 code,大大降低門檻,連非技術人都可以寫自動化。
作者引用 Rich Sutton《苦澀的教訓》,指出通用方法最終贏過專家硬編碼。Skills 嘅流行係因為分享成本低,Agent 自己識處理兼容問題,而且反饋循環短,可以一路用一路改。最後提醒,Skills 係新嘅攻擊面,一定要審計來源先好裝。
- Skills 同腳本最大分別係 Agent 可以自主除錯同適應,唔似腳本一錯就停喺度。
- Skills 用自然語言寫說明,唔使寫 code,產品經理、設計師都做到自動化。
- 確定性步驟用腳本,模糊任務用 Skills,兩者互補,唔係取代。
- Skills 分享門檻低,Agent 會自動修復兼容問題,社羣貢獻 PR 令技能進化更快。
- 安全係硬傷,Skills 引入新攻擊面,要審計內容先好用,唔好亂裝來源不明嘅技能。
程序員嘅第一反應:咪又係腳本
成日聽到程序員話:「Skills 咪又係腳本,我做 AutoIt 嗰陣你都未出世。」作者都試過用 Python 半個鐘手搓一個 Claude Code 嘅 script,覺得仲穩定啲,點解要搞咁多花臣?
但佢深入比較之後發現,Skills 同腳本好似智能手機同計數機,打電話都得,但本質完全唔同。
三個關鍵差異
腳本固定行 A→B→C,Agent Skills 係一個 SKILL.md 說明文檔加上可能嘅 script,Agent 自己決定幾時用、點樣執行。
- 1 腳本對 Skills 唔係必須:例如「寶玉寫作風格」嘅 Skill 得一個說明檔,冇 script,腳本做唔到呢種語意任務。
- 2 Skill 嘅腳本由 Agent 調度:傳統腳本出錯就停,Agent 會自己裝依賴、轉換方式、改 code 重跑,好似有 AI 程序員跟你部機。
- 3 Skill 用自然語言編排工作流:唔使寫 if-else,直接講「用流程圖定係概念圖」,Agent 自己理解執行,門檻降到非程序員都得。
確定性 vs 不確定性:點樣揀
作者提出一個實用原則:確定嘅事交俾 code,唔確定嘅交俾 Agent。例如佢寫作工作流入面,引號轉全形、中英文加空格呢啲步驟就用 script,因為規則明確又穩定。
用銀行櫃枱同項目經理做比喻:櫃枱要標準動作,項目經理要處理模糊需求,Skills 適合後者。
點解 Skills 突然 hit 咗?
- 寫腳本成本高:就算係專業程序員,都唔會頻密寫自動化,因為將諗法變 code 好煩瑣。而家藉助 Agent,幾句自然語言就得,非程序員好似麻瓜突然有魔法。
- 分享腳本成本更高:以前幾乎唔會公開 script,因為得自己用到。Skills 嘅 Agent 自動修復兼容問題,仲有網友開 PR 改善,知識傳遞變得好簡單。
- 反饋循環短:Skills 可以一邊用一邊改,Agent 知道全盤 context,即時根據反饋調整,唔似傳統軟件要等好耐先更新。
唔好忘記安全
Skills 本質係腳本加說明書打包分發,成為新嘅攻擊面。惡意 Skills 可能引漏洞、外聯、甚至洩漏資料。
一定要裝可靠來源嘅 Skills,安裝之前審計文件同腳本內容,呢個係基本底線。

程序員見到 Agent Skills,好多人第一個反應就係:“呢個咪即系腳本換個殼啫?我用 Python 半個鍾就寫得出,仲更加穩定。”
比如:
我點解覺得而家 Skills 曬命嘅功能,基本上我好快就可以用 Claude Code 手搓一個 Python 程序搞掂,仲更加穩定、更快、隨時可以調整訂製。當然 Skills 簡化咗同 AI 嘅互動,不過我覺得佢增加咗嘅不確定性、控制力弱、延遲等問題,大過佢帶來嘅好處。
仲有更加直接嘅:
就佢老母一堆自動化嘅 bat shell 腳本,JB 吹到上天。嘔咗。我十幾年前就玩 AutoIt 喇。
攞部分場景嚟比功能,的確冇錯。但系將 Skills 等同於腳本,就好似將智能手機等同於打得電話嘅計算器,功能有重疊,本質變咗。

腳本同 Skills 到底爭啲乜?
先講定義。
腳本呢個系:你寫一段代碼,叫電腦先做 A,再做 B,最後做 C。固定動作,逐步執行,遇到錯誤停低等你。
Agent Skills即系畀 AI Agent 嘅技能包。核心系一個 SKILL.md 說明文檔,寫清楚咩情況應該用、點樣做更專業、邊啲步驟要調代碼。仲可能會引用其他文檔或者腳本。Agent 讀懂之後,自己決定應唔應該用、點樣用。
三個關鍵差異:
1. 腳本對 Skills 唔系必須嘅。 比如我整咗一個“寶玉寫作風格”嘅 Skill,只有一個 SKILL.md寫清楚風格要求,冇任何腳本。呢樣嘢你叫腳本做,真系做唔到。
2. Skill 裏面嘅腳本系 Agent 在調度。 傳統腳本:你寫代碼 → 你調用 → 遇到問題停低等你。Agent + Skills:你講目標 → Agent 理解 → Agent 調用 → 遇到問題 Agent 自己解決。
攞處理 PDF 做例子。冇 pdfplumber 庫?腳本報錯退出,Agent 自己裝一個。PDF 格式有問題?腳本報錯退出,Agent 換個解析方式。代碼有 bug?腳本報錯退出,Agent 讀報錯信息,改代碼重新跑。
相當於你電腦上配咗一個 AI 程序員,睇得明報錯、裝依賴、改代碼、調試。

3. Skills 用自然語言編排工作流。 腳本用 if-else、for 循環、try-catch 編排,你要將諗法翻譯成代碼。Skills 用自然語言:咩情況下用、注意啲乜、出錯點算。
呢個降低咗門檻。以前得程序員可以寫自動化,而家產品經理、運營、設計師,需求講得清楚就做得。
亦提高咗靈活性。比如我寫咗個“文章配圖”嘅 Skill,唔使用代碼判斷文章類型,淨系喺 SKILL.md 裏寫:配圖服務於內容理解,技術內容優先流程圖,觀點內容優先概念圖。Agent 自己判斷當前文章應該用邊種。

確定性嘅嘢交畀代碼
Skills 同腳本唔系二揀一。確定嘅嘢讓代碼做,唔確定嘅讓 Agent 做。
我嘅寫作工作流裏面有個格式化步驟:中文引號換全角、中英文之間加空格。規則明確,我寫咗個腳本。AI 潤色完文章之後自動調用,比讓 AI 做更加穩定,成本亦更低。
點樣判斷應該用邊個?諗下銀行櫃枱和項目經理嘅區別。
銀行櫃枱:每一步有標準動作,合規嚴格,輸出必須可預測。呢種場景用腳本,Agent 反而搞亂檔。
項目經理:需求模糊,步驟隨時調整,中間冒出各種意外。呢個先系 Agent 嘅舞台。

點解 Skills 突然之間咁流行?
喺 Agent Skills 之前,我本身就係腳本自動化愛好者,寫咗唔少小工具。但繫有兩個問題一直未解決。
寫腳本嘅成本唔低。 我係專業程序員,都冇寫太多自動化腳本,因為將諗法變成代碼太繁瑣。而家藉助 Agent,幾句話就自動搞掂。非程序員更加直接受益,就好似《哈利波特》裏面麻瓜突然之間得到咗魔法。以前自動化系少數“魔法師”嘅專利,而家人人都做到。

分享腳本嘅成本更加高。 我嘅腳本好少分享,因為基本得自己用到。寫兼容代碼同文檔嘅成本太高,唔值得。
而家唔同喇。我嘅 baoyu-skills 啱發佈嗰陣好多喺 Windows 下運行得唔順,但網友運行時 Agent 會主動修復兼容問題。熱心網友仲將修改提成 PR,幫到更多人。
Skills 嘅進化都好快。 一方面背後嘅 Agent 模型在不斷變強。另一方面,Skills 嘅反饋循環短得多。傳統軟件要行產品經理 → 開發 → 測試嘅長鏈條,用戶拿到可能唔系想要嘅。Skills 系每個人量身訂製,一邊用一邊改,Agent 知道全部上下文,遇到問題即刻定位,根據反饋實時調整。

“苦澀嘅教訓”
強化學習之父 Rich Sutton 喺 2019 年寫過一篇著名文章《The Bitter Lesson》。核心觀點:70 年人工智能研究證明,通用方法最終總是贏。
佢回顧咗國際象棋、圍棋、語音識別、計算機視覺嘅歷史,發現一個規律:研究者試圖將專家知識硬編碼入系統,短期有效,長期卻停滯甚至阻礙進步。真正嘅突破嚟自讓機器自己搜索同學習。
腳本系“將你嘅思考過程固化成代碼”,Skills 系“話畀 AI 目標同約束,等佢自己諗辦法”。前者系 hard-coded,後者系 learned。

“我十幾年前就玩 AutoIt 喇”,冇錯。但系今日變咗:AI 理解得自然語言、可以動態規劃、可以從錯誤中學習。
唔好唔記得安全
Skills 將腳本加說明書打包分發,本質上系新嘅依賴生態,新嘅攻擊面惡意 Skills 可能引入漏洞、誘導外聯,甚至數據外泄。只裝可信來源嘅 Skills,裝之前審計文件同腳本內容。
真正嘅分野
“我用 Python 半個鍾就寫得出”,冇錯。但系寫完之後得你自己用到,你願意花時間寫文檔、做兼容、處理邊界情況嗎?大概率唔願意。
“十幾年前就玩 AutoIt 喇”,都冇錯。但系十幾年過去咗,AutoIt 仲系嗰批人喺度用。
Skills 嘅意義唔系在於做到啲乜新嘢,而系在於邊個可以做呢啲嘢。以前自動化系程序員嘅特權,而家系每個人嘅工具。以前寫腳本要考慮十幾種邊界情況,而家 Agent 幫你兜底。以前分享腳本系技術輸出,而家分享 Skills 系知識傳遞。
程序員睇 Skills 覺得冇技術含量,就好似廚師睇預製菜覺得冇靈魂。但系餐飲業嘅變革唔系讓每個人都變成廚師,而系讓唔識煮飯嘅人都可以食到還可以嘅餸。

Sutton 嗰篇文章叫做“苦澀嘅教訓”。苦澀喺邊?研究者花幾十年精心設計嘅專家系統,被暴力計算加通用學習碾壓咗。嗰啲精巧嘅領域知識、引以為傲嘅工程技巧,喺算力同數據面前不值一提。
你花十年練成嘅腳本技巧,可能正在俾一種你唔繫好睇得起嘅新範式取代。承認呢一點的確苦澀,但系早啲睇清楚,總好過後知後覺。

程序員看到 Agent Skills,很多人第一反應是:“這不就是腳本換個殼嗎?我用 Python 半小時就能寫出來,還更穩定。”
比如:
我怎麼覺得現在 skills 炫耀的功能,基本上我很快就可以用 Claude Code 手搓一個 Python 程序完成了,而且更穩定、更快、隨時可調整訂製。當然 Skills 把和 AI 的互動簡化了,不過我覺得它增加的不確定性、控制力弱、延遲等問題,超越了它帶來的好處。
還有更直接的:
就他媽一堆自動化的 bat shell 腳本,JB 吹上天。吐了。我十幾年前就玩 AutoIt 了。
拿部分場景來比功能,確實不算錯。但把 Skills 等同於腳本,就像把智能手機等同於能打電話的計算器,功能有重疊,本質變了。

腳本和 Skills 到底差在哪?
先說定義。
腳本:你寫一段代碼,告訴電腦先做 A,再做 B,最後做 C。固定動作,按步執行,遇錯停下等你。
Agent Skills:給 AI Agent 的技能包。核心是一個 SKILL.md 說明文檔,寫清楚什麼情況該用、怎麼做更專業、哪些步驟要調代碼。還可能引用其他文檔或腳本。Agent 讀懂之後,自己決定該不該用、怎麼用。
三個關鍵差異:
1. 腳本對 Skills 不是必須的。 比如我做了一個“寶玉寫作風格”的 Skill,只有一個 SKILL.md,寫清楚風格要求,沒有任何腳本。這活你讓腳本做,還真做不了。
2. Skill 裏的腳本是 Agent 在調度。 傳統腳本:你寫代碼 → 你調用 → 遇到問題停下來等你。Agent + Skills:你說目標 → Agent 理解 → Agent 調用 → 遇到問題 Agent 自己解決。
拿處理 PDF 舉例。缺 pdfplumber 庫?腳本報錯退出,Agent 自己裝一個。PDF 格式有問題?腳本報錯退出,Agent 換個解析方式。代碼有 bug?腳本報錯退出,Agent 讀報錯信息,改代碼重跑。
相當於你電腦上配了一個 AI 程序員,能看懂報錯、裝依賴、改代碼、調試。

3. Skills 用自然語言編排工作流。 腳本用 if-else、for 循環、try-catch 編排,你得把思路翻譯成代碼。Skills 用自然語言:什麼情況下用、注意什麼、出錯怎麼辦。
這降低了門檻。以前只有程序員能寫自動化,現在產品經理、運營、設計師,需求說得清楚就能做。
也提高了靈活性。比如我寫了個“文章配圖”的 Skill,不用代碼判斷文章類型,只在 SKILL.md 裏寫:配圖服務於內容理解,技術內容優先流程圖,觀點內容優先概念圖。Agent 自己判斷當前文章該用哪種。

確定性的事交給代碼
Skills 和腳本不是二選一。確定的事讓代碼做,不確定的讓 Agent 做。
我的寫作工作流裏有個格式化步驟:中文引號換全角、中英文之間加空格。規則明確,我寫了個腳本。AI 潤色完文章後自動調用,比讓 AI 做更穩定,成本也更低。
怎麼判斷該用哪個?想想銀行櫃枱和項目經理的區別。
銀行櫃枱:每一步有標準動作,合規嚴格,輸出必須可預測。這種場景用腳本,Agent 反而添亂。
項目經理:需求模糊,步驟隨時調整,中間冒出各種意外。這才是 Agent 的舞台。

為什麼 Skills 突然火了?
在 Agent Skills 之前,我就是腳本自動化愛好者,寫了不少小工具。但有兩個問題一直沒解決。
寫腳本的成本不低。 我是專業程序員,也沒寫太多自動化腳本,因為把想法變成代碼太繁瑣。現在藉助 Agent,幾句話就自動搞定了。非程序員更是直接受益,就好比《哈利波特》裏麻瓜突然獲得了魔法。以前自動化是少數“魔法師”的專利,現在人人都能做。

分享腳本的成本更高。 我的腳本很少分享,因為基本只有自己能用。寫兼容代碼和文檔的成本太高,不值得。
現在不一樣了。我的 baoyu-skills 剛發佈時很多在 Windows 下跑不順,但網友運行時 Agent 會主動修復兼容問題。熱心網友還把修改提成 PR,幫到了更多人。
Skills 的進化也快。 一方面背後的 Agent 模型在不斷變強。另一方面,Skills 的反饋循環短得多。傳統軟件要走產品經理 → 開發 → 測試的長鏈條,用戶拿到可能不是想要的。Skills 是每個人量身定製,一邊用一邊改,Agent 知道全部上下文,遇到問題馬上定位,根據反饋實時調整。

“苦澀的教訓”
強化學習之父 Rich Sutton 在 2019 年寫過一篇著名文章《The Bitter Lesson》。核心觀點:70 年人工智能研究證明,通用方法最終總是贏。
他回顧了國際象棋、圍棋、語音識別、計算機視覺的歷史,發現一個規律:研究者試圖把專家知識硬編碼進系統,短期有效,長期卻停滯甚至阻礙進步。真正的突破來自讓機器自己搜索和學習。
腳本是“把你的思考過程固化成代碼”,Skills 是“告訴 AI 目標和約束,讓它自己想辦法”。前者是 hard-coded,後者是 learned。

“我十幾年前就玩 AutoIt 了”,沒錯。但今天變了:AI 能理解自然語言、能動態規劃、能從錯誤中學習。
別忘了安全
Skills 把腳本加說明書打包分發,本質上是新的依賴生態,新的攻擊面。惡意 Skills 可能引入漏洞、誘導外聯,甚至數據外泄。只裝可信來源的 Skills,裝之前審計文件和腳本內容。
真正的分野
“我用 Python 半小時就能寫出來”,沒錯。但寫完只有你能用,你願意花時間寫文檔、做兼容、處理邊界情況嗎?大概率不願意。
“十幾年前就玩 AutoIt 了”,也沒錯。但十幾年過去了,AutoIt 還是那批人在用。
Skills 的意義不在於能做什麼新事情,而在於誰能做這些事情。以前自動化是程序員的特權,現在是每個人的工具。以前寫腳本要考慮十幾種邊界情況,現在 Agent 幫你兜底。以前分享腳本是技術輸出,現在分享 Skills 是知識傳遞。
程序員看 Skills 覺得沒技術含量,就像廚師看預製菜覺得沒靈魂。但餐飲業的變革不是讓每個人都變成廚師,而是讓不會做飯的人也能吃上還不錯的菜。

Sutton 那篇文章叫“苦澀的教訓”。苦澀在哪?研究者花幾十年精心設計的專家系統,被暴力計算加通用學習碾壓了。那些精巧的領域知識、引以為傲的工程技巧,在算力和數據面前不值一提。
你花十年練就的腳本技巧,可能正在被一種你不太看得上的新範式取代。承認這一點確實苦澀,但早點看清楚,總比後知後覺強。