詳解 Agent Skills, Rules, Subagents

作者:知識藥丸
日期:2026年1月16日 上午3:43
來源:WeChat 原文

整理版優先睇

速讀 5 個重點 高亮

AI編程助手配置項嘅演進邏輯:從Rules到Skills,最終收斂成靜態上下文同動態能力兩個核心概念。

整理版摘要

呢篇文章出自「知識藥丸」付費合集《賈傑的AI編程秘籍》,作者係AI編程專家賈傑。佢見到好多開發者面對Cursor等AI助手嘅Rules、Commands、MCP Servers、Subagents、Modes、Hooks、Tools等配置項一頭霧水,覺得「我只係想AI幫我寫啲碼,點解好似喺度搓火箭?」為咗幫大家釐清呢啲概念,作者從技術演進角度拆解每個配置項嘅出場原因同定位,最終指出呢啲野會收斂成一個優雅嘅解決方案:Agent Skills。

文章首先指出早期AI模型有幻覺問題,開發者用Rules文件畀AI一個「備忘錄」,每次對話都塞畀佢。但隨住項目變大,Rules膨脹,於是拆分多個文件,但本質都係靜態上下文。之後出現Commands,將重複工作流打包成斜槓命令,按需加載。再嚟就係MCP Servers,俾AI連接外部系統(數據庫、Slack等),但會引致上下文膨脹。第四階段係Modes同Subagents,改變AI行為模式,提高可靠性。第五階段係Hooks,提供確定性執行點。最終,呢啲概念統一成Skills——一個開放標準,打包可複用知識同腳本。

整體結論係:用戶唔需要理會所有配置項,只需關注Rules(靜態上下文)同Skills(動態能力),其他由工具自動優化。作者建議從建立精簡Rules開始,每次AI犯錯就記錄一條規則,慢慢積累。

  • AI編程助手嘅配置項演進有清晰邏輯:從Rules到Skills,最終收斂成靜態上下文(Rules)同動態能力(Skills)兩個核心概念。
  • Rules係每次對話都塞畀AI嘅備忘錄,解決幻覺問題;Commands係打包成斜槓命令嘅可複用工作流,按需加載。
  • MCP Servers俾AI連接外部系統(數據庫、Slack等),但會引致上下文膨脹;SubagentsModes改變AI行為模式,提升可靠性。
  • Hooks係確定性執行點(例如Before/After Hook),用於安全審計;Skills融合所有概念,輕量易分發,同MCP互補。
  • 用戶最佳實踐:只關注Rules(保持精簡,隨項目演進更新)同Skills(未來生態會似npm一樣),其他由工具自行優化。
結構示例

結構示例

結構示例 text
# .cursorrules 示例- 我們的代碼庫使用 TypeScript- 所有組件必須使用函數式組件,不要用 class- API 調用統一使用 axios,基礎 URL 是 /api/v2- 記住:我們沒有用戶認證系統!別給我生成登錄頁面!
整理重點

點解AI編程助手咁多配置項?

早期AI模型有致命問題:幻覺,即係一本正經地胡說八道。為咗解決呢個問題,開發者諗出一個簡單粗暴嘅方法:將「AI每次都會搞錯嘅嘢」寫成一份文檔,每次對話都塞畀AI睇。呢個就係Rules文件嘅由來。

之後開發者開始拆分Rules,變成多個文件,例如coding-style.md、api-conventions.md等。但本質上呢啲Rules最終都係合併成一份靜態上下文,每次對話開始時一股腦塞畀AI。咁樣做嘅問題係:唔係所有Rules都需要每次出現,例如寫前端時數據庫Schema規則其實冇必要出現。

整理重點

從Commands到MCP:能力升級但代價係上下文膨脹

當你用AI編程助手用得熟練,就會發現有啲操作係重複嘅,例如每次提交前都要生成commit message、執行git commit、創建PR。於是就有咗Slash Commands(斜槓命令),例如/commit-and-pr,一條命令搞掂成個流程。呢個本質上係可複用嘅工作流,按需加載。

但開發者唔滿足於只係寫Prompt,佢哋想AI執行真正嘅代碼。於是出現咗MCPModel Context Protocol),可以理解成AI嘅「USB-C接口」,用嚟連接外部系統,例如讀取Google Drive、查詢PostgreSQL、操作GitHub等。MCP Server讓AI擁有用具,好似裝咗義肢咁。

舉個例:你叫AI「喺數據庫揾最新銷售報告,然後發電郵畀經理」,AI會透過MCP客戶端發現database_query同email_sender工具,依次調用完成任務。

整理重點

Modes、Subagents同Hooks:提升可靠性

有時你想改變AI嘅行為模式,例如「規劃模式」下只做架構設計唔寫代碼,「調試模式」聚焦錯誤排查。呢個就係Subagent嘅概念:為AI設定一個臨時人格,限制工具範圍同調整Prompt,令佢更專注可靠。而Mode更進一步,可以修改系統提示詞、提供特定UI元素、加入記憶提醒。

但呢啲都係「軟約束」,AI仍然可能出錯。於是就有咗Hooks——確定性嘅、100%可靠嘅執行點。例如Before Hook自動注入項目配置,After Hook記錄對話日誌。Hooks讓你可以喺AI工作流中插入可控邏輯,對安全審計好有用。

整理重點

終極形態:Skills化繁為簡

到目前為止,我哋有RulesCommandsMCP ServersSubagents、Modes、Hooks……咁多概念,對用戶嚟講太混亂。好消息係呢啲嘢正在收斂到一個優雅嘅解決方案:Agent Skills。Skills係一個開放標準,用於打包可複用嘅知識同腳本,擴展AI Agent嘅專業能力。

Skills有兩種形態:基礎形態似Commands,封裝一個工作流,例如git-pr-flow.skill.md;高級形態可以包含腳本、可執行文件、資源文件,例如一個my-skill/目錄。Skills嘅好處係唔會膨脹上下文(需要時先加載),易於分發(一條命令安裝畀成個團隊),而且係開放標準。

作者建議:作為普通用戶,你只需要關注兩樣嘢:Rules(靜態上下文)同Skills(動態能力),其他由工具自行優化。Rules要保持精簡高質,只寫「AI經常搞錯」嘅核心規則,而且係「活嘅文檔」,隨項目演進更新。

整理重點

總結:從一團亂麻到優雅清晰

回顧呢段演進史Rules(靜態上下文)→ Commands(可複用Prompt)→ MCP Servers(連接外部系統)→ Modes & Subagents(調整行為模式)→ Hooks(確定性執行點)→ Skills(統一解決方案)。最終收斂到兩個核心概念:靜態上下文(Rules)同動態能力(Skills)。

而家當你再見到RulesMCP、Skills呢啲概念時,應該清楚曬啦!建議你而家就開始建立自己嘅Rules文件,每次AI犯錯就記錄一條規則,慢慢積累,AI嘅表現會越來越符合你嘅預期。

👀 最新、最有用嘅AI編程姿勢,都係嚟自「知識藥丸」

Rules、Commands、MCP Servers、Subagents、Modes、Hooks、Tools……用AI寫code咁多配置項,邊個睇邊個一頭霧水

呢啲都係啲咩嚟㗎?點解要搞到咁複雜?我只係想叫AI幫我寫啲code,點解感覺好似喺度整火箭咁?

好啦,睇完呢篇文章之後,我突然醍醐灌頂——原來呢啲嘢背後有一條清晰嘅演進邏輯,而且最終佢哋會收斂到一個優雅嘅解決方案。我哋一齊從技術演進嘅角度理清楚呢啲嘢。

《賈傑嘅AI編程秘籍》付費合集,共10篇,而家已經完結。30蚊交個朋友,學唔到真嘢可以揾我退錢;)

仲有我嘅墨問合集《100個思維碎片》,1蚊100篇,同你一齊探討一啲有意思嘅話題(文末有訂閲方式)



 

起點:Rules — 俾健忘嘅AI一份備忘錄

問題從邊度嚟?

早期嘅AI模型有個致命問題:幻覺(Hallucination)。

咩係幻覺?就係AI會一本正經咁胡說八道。你叫佢寫code,佢可能會作一個根本唔存在嘅API;你叫佢遵守某個編碼規範,佢轉頭就唔記得咗。

咁要點樣解決呢?

Rules登場

開發者們諗到一個簡單粗暴嘅方法:將嗰啲「AI每次都搞錯嘅嘢」寫成一份文檔,然後喺每次對話中都塞俾AI睇

這就是 Rules文件嘅由來。

# .cursorrules 示例
-
 我們的代碼庫使用 TypeScript
-
 所有組件必須使用函數式組件,不要用 class
-
 API 調用統一使用 axios,基礎 URL 是 /api/v2
-
 記住:我們沒有用戶認證系統!別給我生成登錄頁面!

Rules就好似係俾AI準備嘅「備忘錄」,同佢講:「喂,千祈唔好唔記得呢啲重要嘅嘢!」

冇錯,呢個方案確實有用。但隨住項目變大,Rules文件都開始膨脹……

進化:多個Rules文件

當一個Rules文件寫到幾千行嗰陣,維護起嚟就好痛苦。於是大家開始拆分Rules:

.cursor/
  ├── rules/
  │   ├── coding-style.md
  │   ├── api-conventions.md
  │   └── database-schema.md

不過本質上,呢啲Rules最終都係會合併成一份靜態上下文(Static Context),喺每次對話開始時一次過塞俾AI。

呢度有個問題:唔係所有Rules都需要喺每次對話中出現

例如我喺寫前端code嗰陣,數據庫嘅Schema規則其實冇必要出現喺上下文入面,係咪?但喺嗰個時候,AI模型嘅工具調用能力仲未夠成熟,做唔到「按需加載」,只能暫時咁樣湊合用住先。

我哋記住呢個痛點,後面會講到佢嘅解決方案。

第二階段:Commands — 將工作流打包帶走

新嘅需求出現咗

當你用AI編程助手用得越嚟越熟練,你會發現:有啲操作係重複嘅

例如我每次提交code之前都要做呢幾步:

  1. 1. 叫AI生成一個規範嘅commit message
  2. 2. 執行 git commit
  3. 3. 自動創建PR並填寫描述

如果每次都要手動輸入呢一串提示詞,咁都太麻煩掛?

Slash Commands 閃亮登場

於是就有咗 Slash Commands(斜槓命令)嘅概念。

/commit-and-pr

一個命令,搞掂成個流程!

你可以將常用嘅Prompt打包成一個命令,甚至可以分享俾團隊成員,或者放入Git倉庫做版本管理。呢個本質上就係可複用嘅工作流

P.S. 我個人最鍾意嘅命令係 /commit-and-pr,真係超級省事!

本質係咩?

Commands其實都係文本(Prompt嘅封裝),只不過佢係「按需加載」嘅——只有當你主動調用嗰陣,佢先會被添加到上下文入面。

但好快,開發者們就唔滿足於「淨係寫Prompt」喇。佢哋想要:叫AI執行真正嘅code

第三階段:MCP Servers — 俾AI裝上「義肢」

AI嘅侷限性

AI模型雖然好聰明,但佢有個硬傷:佢只能生成文本

佢唔可以:

  • • 訪問你嘅數據庫
  • • 讀取Slack消息
  • • 喺Linear入面創建Issue
  • • 連接外部API

呢個就好似一個聰明嘅大腦,但缺少手腳。

MCP係咩?

MCP(Model Context Protocol,模型上下文協議)係一個開源標準,用嚟連接AI應用同外部系統。你可以將佢理解成 AI嘅「USB-C接口」——就好似USB-C為電子設備提供咗標準化嘅連接方式,MCP為AI提供咗標準化嘅「插件系統」。

通過MCP Server,AI可以:

  • • 讀取Google Drive入面嘅文檔
  • • 喺Slack入面發送消息
  • • 查詢PostgreSQL數據庫
  • • 操作GitHub倉庫
  • • ……甚至控制瀏覽器(Puppeteer)

呢個簡直係俾AI裝上咗義肢!

一個具體例子

假設你叫AI幫你:「喺數據庫入面揾最新嘅銷售報告,然後發電郵俾我嘅經理。」

AI會通過MCP客戶端發現可用嘅工具,例如 database_query 和 email_sender,然後依次調用呢啲工具完成任務。

成個過程係咁樣嘅:

  1. 1. 工具發現:AI發現有數據庫查詢工具同郵件發送工具
  2. 2. 第一次調用:查詢數據庫,獲取報告數據
  3. 3. 第二次調用:發送郵件,附上報告內容
  4. 4. 返回結果:「我已經找到最新報告並發俾你嘅經理喇」

係咪好型?

但都有代價

MCP Servers帶嚟咗強大嘅能力,但都有個問題:上下文膨脹

如果你安裝咗10個MCP Server,每個暴露10個工具,咁就係100個工具嘅說明文檔要塞入上下文入面。呢個會嚴重影響性能同準確性。

唔使急,後面會講到解決方案。

第四階段:Modes & Subagents — 俾AI換上唔同嘅「人格面具」

更複雜嘅需求

有時候,你唔止想俾AI加能力,仲想改變佢嘅行為模式

比如:

  • • 我希望AI喺「規劃模式」下只做架構設計,唔寫具體code
  • • 我希望AI喺「調試模式」下聚焦於錯誤排查
  • • 我希望AI喺處理某個子任務嗰陣,只能訪問特定嘅工具

呢個就催生咗 Modes(模式)同 Subagents(子代理)嘅概念。

Subagent係咩?

Subagent就好似係俾AI設定一個臨時人格:

# Subagent: 前端開發專家
你是一個前端開發專家,專注於 React 和 TypeScript。
你只能使用以下工具:
-
 文件編輯
-
 npm 命令
-
 ESLint 檢查

通過限制工具範圍同調整Prompt,Subagent可以令AI更專注、更可靠。

Mode更進一步

Mode唔止改變指令,仲可以:

  • • 修改系統提示詞
  • • 提供特定嘅UI元素(例如「計劃視圖」)
  • • 喺提示中添加「記憶提醒」(令AI記住當前模式)

其實Mode同Subagent嘅核心目標都係:提高可靠性同可發現性

但呢啲都仲係「軟約束」——AI仍然可能會出錯。咁有冇硬約束呢?

第五階段:Hooks — 俾AI加上「強制檢查點」

咩係Hook?

Hook係確定性嘅、100%可靠嘅執行點

同前面嗰啲「AI可能會聽你講,亦可能唔聽」嘅機制唔同,Hook係必定會執行嘅腳本。

典型用法:

Before Hook(每次對話開始前):

// 自動注入當前項目配置
injectProjectConfig
();

After Hook(對話結束後):

// 記錄日誌
logConversation
();
// 自動保存到數據庫

saveToDatabase
();

Hook令你可以喺AI嘅工作流入面插入可控嘅邏輯,呢個對於安全、審計、集成外部系統都非常有用。

終極形態:Skills — 化繁為簡

混亂嘅現狀

到呢度,我哋已經有咗:

  • • Rules(靜態上下文)
  • • Commands(可複用提示詞)
  • • MCP Servers(外部工具集成)
  • • Subagents(子任務代理)
  • • Modes(行為模式)
  • • Hooks(確定性腳本)

呢個都太亂掛!

作為用戶,我只係想叫AI幫我寫code,點解要理解咁多概念?

Skills:統一嘅答案

好消息係,呢啲概念正在收斂到一個優雅嘅解決方案:Agent Skills

Skills係一個開放標準,用嚟打包可複用嘅知識同腳本,擴展AI Agent嘅專業能力。

Skills嘅兩種形態

基礎形態:就好似Commands,封裝一個工作流

# git-pr-flow.skill.md
自動生成 commit message、提交代碼並創建 PR

高級形態:可以包含腳本、可執行文件、資源文件——任何你想打包嘅嘢

my-skill/
  ├── SKILL.md        # 技能說明
  ├── scripts/        # 可執行腳本
  └── assets/         # 資源文件
點解Skills更好?
  1. 1. 唔會膨脹上下文:Skills只喺需要嗰陣先加載
  2. 2. 易於分發:一條命令就可以安裝俾成個團隊
  3. 3. 開放標準:任何AI Agent都可以支援
# 一鍵安裝技能
npx ai-agent-skills install frontend-design --agent cursor

與MCP嘅關係

你可能會問:咁MCP呢?仲用唔用?

梗係用啦!

Cursor對MCP進行咗優化,如果你安裝咗10個MCP Server,每個有10個工具,系統會按需加載工具,而唔係一次過塞入上下文。

Skills同MCP唔係競爭關係,而係互補嘅:

  • • Skills:更輕量,適合打包工作流同知識
  • • MCP:更強大,支援OAuth等高級功能

最佳實踐:我應該關注啲咩?

好啦,講咗咁多歷史,作為普通用戶,我到底應該點用?

核心原則:只關注兩個嘢

作為Coding Agent嘅用戶,你只需要關注:

  1. 1. Rules(靜態上下文)
  2. 2. Skills(動態能力)

其他嘅交俾工具自己優化就得。

Rules嘅最佳實踐

保持精簡、高質量

Rules會包含喺每次對話入面,所以唔好寫成一本書。只寫嗰啲「AI經常搞錯」嘅核心規則。

我嘅習慣係:

  • • 當AI犯錯嗰陣,喺PR上面@cursor,叫佢更新Rules
  • • Rules係「活嘅文檔」,隨住項目演進而更新
# 好的 Rules
-
 使用 TypeScript strict 模式
-
 組件文件命名:PascalCase.tsx
-
 API 基礎路徑:/api/v2

# 不好的 Rules(太囉嗦)

-
 TypeScript 是一種強類型的 JavaScript 超集……(省略 500 字)

Skills嘅未來

Skills仲好新,而家仲未有太多「最佳實踐」。

但我相信,喺未來6個月入面,隨住生態嘅建立,Skills會變得越嚟越重要。

就好似前端嘅npm包一樣,會有一個龐大嘅「Skills生態系統」俾你選擇同安裝。

總結

等我哋回顧一下呢段進化史:

  1. 1. Rules:靜態上下文,每次都加載
  2. 2. Commands:可複用嘅Prompt
  3. 3. MCP Servers:連接外部系統,俾AI賦予真實能力
  4. 4. Modes & Subagents:調整AI行為模式
  5. 5. Hooks:確定性嘅執行點
  6. 6. Skills:統一嘅解決方案,化繁為簡

最終,呢一切都收斂到兩個核心概念:

  • • 靜態上下文(Rules)
  • • 動態能力(Skills)

呢個演進過程唔係「瞎折騰」,而係AI編程助手喺不斷成熟嘅過程中,逐步揾到最優解嘅探索之路。

從一團亂麻,到優雅清晰——呢個就係技術進步嘅魅力。

而家,當你再見到 Rules、MCP、Skills 呢啲概念嗰陣,係咪清楚曬?

P.S. 如果你都有用Cursor或者其他AI編程助手,建議而家就開始建立你嘅Rules文件。由細微嘢做起,每次AI犯錯就記錄一條規則,慢慢累積,你會發現AI嘅表現越嚟越符合你嘅期待。

參考資料

  • • Model Context Protocol官方文檔
  • • Anthropic: Introducing the Model Context Protocol
  • • Cursor Agent Skills文檔
  • • Agent Skills開放標準


 



 堅持創作唔容易,求個一鍵三連,多謝你~❤️

圖片

以及「AI Coding技術交流羣」,聯絡ayqywx我拉你入羣,共同交流學習~


👀 最新、最有用的AI編程姿勢,總來自「知識藥丸」

Rules、Commands、MCP Servers、Subagents、Modes、Hooks、Tools……用AI寫個代碼這麼多配置項,誰看誰懵逼

這都是些啥玩意兒?為什麼要搞得這麼複雜?我就是想讓 AI 幫我寫點代碼,怎麼感覺像在搓火箭?

好吧,看完這篇文章後,我突然醍醐灌頂——原來這些東西背後有一條清晰的演進邏輯,而且最終它們會收斂到一個優雅的解決方案。我們來一起從技術演進的角度理清楚這些東西。

《賈傑的AI編程秘籍》付費合集,共10篇,現已完結。30元交個朋友,學不到真東西找我退錢;)

以及我的墨問合集《100個思維碎片》,1塊錢100篇,與你探討一些有意思的話題(文末有訂閲方式



 

起點:Rules — 給健忘的 AI 一份備忘錄

問題從哪來?

早期的 AI 模型有個致命問題:幻覺(Hallucination)。

什麼是幻覺?就是 AI 會一本正經地胡說八道。你讓它寫代碼,它可能會編造一個根本不存在的 API;你讓它遵守某個編碼規範,它轉頭就忘了。

那要怎麼解決呢?

Rules 登場

開發者們想出了一個簡單粗暴的辦法:把那些"AI 每次都會搞錯的東西"寫成一份文檔,然後在每次對話中都塞給 AI 看

這就是 Rules 文件的由來。

# .cursorrules 示例
-
 我們的代碼庫使用 TypeScript
-
 所有組件必須使用函數式組件,不要用 class
-
 API 調用統一使用 axios,基礎 URL 是 /api/v2
-
 記住:我們沒有用戶認證系統!別給我生成登錄頁面!

Rules 就像是給 AI 準備的"備忘錄",告訴它:"嘿,別忘了這些重要的事!"

沒錯,這個方案確實管用。但隨着項目變大,Rules 文件也開始膨脹……

進化:多個 Rules 文件

當一個 Rules 文件寫到幾千行時,維護起來就很痛苦了。於是大家開始拆分 Rules:

.cursor/
  ├── rules/
  │   ├── coding-style.md
  │   ├── api-conventions.md
  │   └── database-schema.md

不過本質上,這些 Rules 最終還是會合併成一份靜態上下文(Static Context),在每次對話開始時一股腦塞給 AI。

這裏有個問題:不是所有 Rules 都需要在每次對話中出現

比如我在寫前端代碼時,數據庫的 Schema 規則其實沒必要出現在上下文裏,對吧?但在當時,AI 模型的工具調用能力還不夠成熟,沒法做到"按需加載",只能先這麼湊合着用。

我們記住這個痛點,後面會講到它的解決方案。

第二階段:Commands — 把工作流打包帶走

新的需求出現了

當你用 AI 編程助手用得越來越熟練,你會發現:有些操作是重複的

比如我每次提交代碼前都要做這幾步:

  1. 1. 讓 AI 生成一個規範的 commit message
  2. 2. 執行 git commit
  3. 3. 自動創建 PR 並填寫描述

如果每次都要手動輸入這一串提示詞,那也太麻煩了吧?

Slash Commands 閃亮登場

於是就有了 Slash Commands(斜槓命令)的概念。

/commit-and-pr

一個命令,搞定整套流程!

你可以把常用的 Prompt 打包成一個命令,甚至可以分享給團隊成員,或者放進 Git 倉庫裏版本管理。這本質上就是可複用的工作流

P.S. 我個人最喜歡的命令是 /commit-and-pr,真的超級省事!

本質是什麼?

Commands 其實還是文本(Prompt 的封裝),只不過它是"按需加載"的——只有當你主動調用時,它才會被添加到上下文中。

但很快,開發者們就不滿足於"只能寫 Prompt"了。他們想要:讓 AI 執行真正的代碼

第三階段:MCP Servers — 給 AI 裝上"義肢"

AI 的侷限性

AI 模型雖然很聰明,但它有個硬傷:它只能生成文本

它不能:

  • • 訪問你的數據庫
  • • 讀取 Slack 消息
  • • 在 Linear 裏創建 Issue
  • • 連接外部 API

這就好比一個聰明的大腦,但缺少手腳。

MCP 是什麼?

MCP(Model Context Protocol,模型上下文協議)是一個開源標準,用於連接 AI 應用與外部系統。你可以把它理解成 AI 的"USB-C 接口"——就像 USB-C 為電子設備提供了標準化的連接方式,MCP 為 AI 提供了標準化的"插件系統"。

通過 MCP Server,AI 可以:

  • • 讀取 Google Drive 裏的文檔
  • • 在 Slack 裏發送消息
  • • 查詢 PostgreSQL 數據庫
  • • 操作 GitHub 倉庫
  • • ……甚至控制瀏覽器(Puppeteer)

這簡直是給 AI 裝上了義肢!

一個具體例子

假設你讓 AI 幫你:"在數據庫裏找到最新的銷售報告,然後發郵件給我的經理。"

AI 會通過 MCP 客戶端發現可用的工具,比如 database_query 和 email_sender,然後依次調用這些工具完成任務。

整個過程是這樣的:

  1. 1. 工具發現:AI 發現有數據庫查詢工具和郵件發送工具
  2. 2. 第一次調用:查詢數據庫,獲取報告數據
  3. 3. 第二次調用:發送郵件,附上報告內容
  4. 4. 返回結果:"我已經找到最新報告併發給你的經理了"

是不是很酷?

但也有代價

MCP Servers 帶來了強大的能力,但也有個問題:上下文膨脹

如果你安裝了 10 個 MCP Server,每個暴露 10 個工具,那就是 100 個工具的說明文檔要塞進上下文裏。這會嚴重影響性能和準確性。

別急,後面會講到解決方案。

第四階段:Modes & Subagents — 給 AI 換上不同的"人格面具"

更復雜的需求

有時候,你不只是想給 AI 加能力,你還想改變它的行為模式

比如:

  • • 我希望 AI 在"規劃模式"下只做架構設計,不寫具體代碼
  • • 我希望 AI 在"調試模式"下聚焦於錯誤排查
  • • 我希望 AI 在處理某個子任務時,只能訪問特定的工具

這就催生了 Modes(模式)和 Subagents(子代理)的概念。

Subagent 是什麼?

Subagent 就像是給 AI 設定一個臨時人格:

# Subagent: 前端開發專家
你是一個前端開發專家,專注於 React 和 TypeScript。
你只能使用以下工具:
-
 文件編輯
-
 npm 命令
-
 ESLint 檢查

通過限制工具範圍和調整 Prompt,Subagent 可以讓 AI 更專注、更可靠。

Mode 更進一步

Mode 不僅改變指令,還能:

  • • 修改系統提示詞
  • • 提供特定的 UI 元素(比如"計劃視圖")
  • • 在提示中添加"記憶提醒"(讓 AI 記住當前模式)

其實 Mode 和 Subagent 的核心目標都是:提高可靠性和可發現性

但這些還是"軟約束"——AI 仍然可能出錯。那有沒有硬約束呢?

第五階段:Hooks — 給 AI 加上"強制檢查點"

什麼是 Hook?

Hook 是確定性的、100% 可靠的執行點

和前面那些"AI 可能聽你的,也可能不聽"的機制不同,Hook 是必定會執行的腳本。

典型用法:

Before Hook(每次對話開始前):

// 自動注入當前項目配置
injectProjectConfig
();

After Hook(對話結束後):

// 記錄日誌
logConversation
();
// 自動保存到數據庫

saveToDatabase
();

Hook 讓你可以在 AI 的工作流中插入可控的邏輯,這對於安全、審計、集成外部系統都非常有用。

終極形態:Skills — 化繁為簡

混亂的現狀

到這裏,我們已經有了:

  • • Rules(靜態上下文)
  • • Commands(可複用提示詞)
  • • MCP Servers(外部工具集成)
  • • Subagents(子任務代理)
  • • Modes(行為模式)
  • • Hooks(確定性腳本)

這也太亂了吧!

作為用戶,我就是想讓 AI 幫我寫代碼,為什麼要理解這麼多概念?

Skills:統一的答案

好消息是,這些概念正在收斂到一個優雅的解決方案:Agent Skills

Skills 是一個開放標準,用於打包可複用的知識和腳本,擴展 AI Agent 的專業能力。

Skills 的兩種形態

基礎形態:就像 Commands,封裝一個工作流

# git-pr-flow.skill.md
自動生成 commit message、提交代碼並創建 PR

高級形態:可以包含腳本、可執行文件、資源文件——任何你想打包的東西

my-skill/
  ├── SKILL.md        # 技能說明
  ├── scripts/        # 可執行腳本
  └── assets/         # 資源文件
為什麼 Skills 更好?
  1. 1. 不會膨脹上下文:Skills 只在需要時才加載
  2. 2. 易於分發:一條命令就能安裝給整個團隊
  3. 3. 開放標準:任何 AI Agent 都可以支持
# 一鍵安裝技能
npx ai-agent-skills install frontend-design --agent cursor

與 MCP 的關係

你可能會問:那 MCP 呢?還用嗎?

當然用!

Cursor 對 MCP 進行了優化,如果你安裝了 10 個 MCP Server,每個有 10 個工具,系統會按需加載工具,而不是一次性塞進上下文。

Skills 和 MCP 不是競爭關係,而是互補的:

  • • Skills:更輕量,適合打包工作流和知識
  • • MCP:更強大,支持 OAuth 等高級功能

最佳實踐:我應該關注什麼?

好吧,講了這麼多歷史,作為普通用戶,我到底該怎麼用?

核心原則:只關注兩個東西

作為 Coding Agent 的用戶,你只需要關注:

  1. 1. Rules(靜態上下文)
  2. 2. Skills(動態能力)

其他的交給工具自己優化就行。

Rules 的最佳實踐

保持精簡、高質量

Rules 會包含在每次對話中,所以不要寫成一本書。只寫那些"AI 經常搞錯"的核心規則。

我的習慣是:

  • • 當 AI 犯錯時,在 PR 上 @cursor,讓它更新 Rules
  • • Rules 是"活的文檔",隨着項目演進而更新
# 好的 Rules
-
 使用 TypeScript strict 模式
-
 組件文件命名:PascalCase.tsx
-
 API 基礎路徑:/api/v2

# 不好的 Rules(太囉嗦)

-
 TypeScript 是一種強類型的 JavaScript 超集……(省略 500 字)

Skills 的未來

Skills 還很新,現在還沒有太多"最佳實踐"。

但我相信,在未來 6 個月裏,隨着生態的建立,Skills 會變得越來越重要。

就像前端的 npm 包一樣,會有一個龐大的"Skills 生態系統"供你選擇和安裝。

總結

讓我們回顧一下這段進化史:

  1. 1. Rules:靜態上下文,每次都加載
  2. 2. Commands:可複用的 Prompt
  3. 3. MCP Servers:連接外部系統,給 AI 賦予真實能力
  4. 4. Modes & Subagents:調整 AI 行為模式
  5. 5. Hooks:確定性的執行點
  6. 6. Skills:統一的解決方案,化繁為簡

最終,這一切都收斂到兩個核心概念:

  • • 靜態上下文(Rules)
  • • 動態能力(Skills)

這個演進過程並不是"瞎折騰",而是 AI 編程助手在不斷成熟的過程中,逐步找到最優解的探索之路。

從一團亂麻,到優雅清晰——這就是技術進步的魅力。

現在,當你再看到 Rules、MCP、Skills 這些概念時,是不是清楚多了?

P.S. 如果你也在用 Cursor 或其他 AI 編程助手,建議現在就開始建立你的 Rules 文件。從小事做起,每次 AI 犯錯就記錄一條規則,慢慢積累,你會發現 AI 的表現越來越符合你的期待。

參考資料

  • • Model Context Protocol 官方文檔
  • • Anthropic: Introducing the Model Context Protocol
  • • Cursor Agent Skills 文檔
  • • Agent Skills 開放標準


 



 堅持創作不易,求個一鍵三連,謝謝你~❤️

圖片

以及「AI Coding技術交流羣」,聯繫 ayqywx 我拉你進羣,共同交流學習~