---
# System prepended metadata

title: 'AI常見技術比較(Rules, Commands, MCP 與 Skills)'
tags: [AI_Agent]

---

# Lecture 1 - AI 編程核心概念解析：Rules, Commands, MCP 與 Skills

在本堂課程中，講師深入剖析了 AI 編程工具（如 Cursor、Windsurf 等）中的核心配置概念。目標是幫助開發者釐清 **Rules (規則)**、**Commands (命令)**、**MCP**、**Agent (代理)**、**Hooks (鉤子)**、**Skills (技能)** 與 **Modes (模式)** 之間的區別與應用場景。課程重點在於如何透過理解「上下文 (Context)」與「外部連接能力」，來優化 AI 的配置，實現自動化編程的高效流程。

---

## 1. 🧠 核心基礎：上下文與外部連接

在深入具體功能之前，必須先理解影響 AI 表現的兩個底層邏輯：

### 1.1 上下文 (Context)

* **定義**：即 AI 的「記憶」。包含對話歷史、系統預設提示詞 (System Prompt) 等。
* **限制**：上下文視窗 (Context Window) 是有限的（如 200k, 1M token）。
* **壓縮機制**：當對話超過上限，系統會進行壓縮，導致歷史訊息丟失（例如：AI 忘記了你的名字或之前的設定）。

> **核心目標**：所有後續的功能優化（如 Skills），很大程度上都是為了節省上下文空間，避免無效資訊佔用記憶體。

### 1.2 外部連接能力 (External Connection)

* **現狀**：大模型本質上是封閉的沙盒，無法直接存取你的本地檔案（如 Feishu 文檔）或執行外部操作。
* **解決方案**：**MCP (Model Context Protocol)**。它作為一種標準協議（或是「鑰匙」），賦予大模型連接外部資源或工具的能力。

### 1.3 理解 AI 配置的萬能公式

我們可以將與 AI 的交互抽象為三個維度：

1. **提示詞加載方式**：這段內容何時、如何進入 AI 的上下文？
2. **觸發標準**：什麼條件下會啟用這個功能？
3. **外部連接能力**：是否具備操作外部資源的權限？

---

## 2. 🛠️ AI 編程工具的核心功能詳解

本節將依據上述公式，解析各個功能的特性與差異。

### 2.1 Rules (規則 / 規範)

* **定義**：用於約束大模型產生代碼的風格或行為，類似於靜態的規範文檔（如 `.cursorrules`）。
* **提示詞加載方式**：
* **全局加載**：啟動對話時直接載入。
* **文件路徑加載**：當編輯特定文件（如 `*.java`）時觸發。
* **觸發方式**：**被動/自動**。無需用戶手動輸入，它是靜態存在的上下文。
* **外部連接**：無。僅作為靜態文本約束。
* **適用場景**：定義代碼風格、項目結構規範。
![截圖 2026-01-24 03.19.40](https://hackmd.io/_uploads/B1FAFHZUZx.png)

### 2.2 Commands (命令 / 快捷鍵)

* **定義**：類似於 IDE 的快捷鍵或自定義指令。
* **提示詞加載方式**：**指定時加載**。
* **觸發方式**：**主動觸發**。用戶需輸入特定符號（如 `/fix`, `/doc`）或點擊按鈕。
* **外部連接**：無（通常）。
* **適用場景**：執行頻率高、邏輯固定的任務（如「生成文檔」、「修復 Bug」）。

### 2.3 MCP (Model Context Protocol)

* **定義**：連接外部資源的橋樑。
* **提示詞加載方式**：**一次性加載所有方法描述**。
* *缺點*：若 MCP 工具過多，光是功能描述就會佔用大量上下文（可能高達 20-30%）。
* **觸發方式**：**按需觸發**。AI 根據用戶需求，匹配方法描述後調用。
* **外部連接**：**強**。專門用於調取外部數據或操作。

### 2.4 Sub-Agents (子代理 / 獨立上下文)

* **定義**：主對話之外的獨立執行單元。
* **核心特性**：**異步調用 (Async)** 與 **獨立上下文**。

> **重點區別**：Sub-Agent 的執行過程與產生的中間資訊，**不會污染**主對話的上下文。僅返回最終結果。

* **適用場景**：**Code Review (代碼審查)**。你寫完代碼，讓 Agent 去背景執行審查，不佔用當前對話記憶。

### 2.5 Hooks (鉤子)

* **定義**：綁定在生命週期 (Lifecycle) 中的觸發器。
* **觸發方式**：**事件驅動 (Event-driven)**。例如：會話啟動 (Start)、會話結束、上下文壓縮時。
* **適用場景**：自動加載記憶、寫入日誌、自動壓縮上下文。

### 2.6 Skills (技能)

* **定義**：將重複性流程封裝成函數或功能模組。
* **提示詞加載方式**：**按需加載 (Lazy Loading)**。

> **關鍵優勢**：Skills 的具體腳本代碼（Script）**不會**被加載到上下文中，只有當被調用時才執行。AI 只需要知道「技能名稱」與「描述」。這極大地節省了上下文空間。

* **組成結構**：
1. **腳本 (Script)**：實際執行的代碼（不進上下文）。
2. **文檔 (Reference)**：操作指南或評分標準（需要時才載入）。


* **適用場景**：複雜的自動化任務（如：抓取 B 站評論並進行情感分析）。
詳細內容可以看此篇 [Agent Skill 概念](/kvKlpnP2SA2N9zRajmHd2g) 介紹

### 2.7 Modes (模式)

* **定義**：AI 編輯器內置的特定工作流（如 Chat Mode, Agent Mode）。
* **優先級**：**最高**。一旦選擇特定模式，AI 必須遵循該模式定義的交互邏輯。
* **限制**：通常由工具廠商定義，用戶擴展性較低。

---

## 3. 📊 總結與比較

| 功能 | 觸發方式 | 上下文佔用 | 外部連接 | 核心關鍵字 |
| --- | --- | --- | --- | --- |
| **Rules** | 自動 (全局/文件) | 靜態常駐 | 無 | **規範、約束** |
| **Commands** | 手動 (指定) | 用時加載 | 無 | **快捷操作** |
| **MCP** | 按需 (AI 判斷) | 高 (載入所有描述) | **有** | **外部資源橋樑** |
| **Agent** | 異步調用 | **獨立 (不佔用主窗口)** | - | **異步、不污染** |
| **Skills** | 按需 (手動/自動) | **極低 (代碼不進上下文)** | 可有 | **封裝、按需加載** |

### 💡 專家建議：如何起步

講師提供了開源的 **腳手架 (Scaffolding)** 配置，包含常用的 Rules、Skills 和 Hooks。建議開發者：

1. 參考現有的開源配置（如講師提供的或網上熱門的 cursor-rules）。
2. **Copy & Modify**：先複製別人的配置，再根據自己的項目需求進行修改。
3. **目標導向**：AI 編程的終極目標是 **自動化 (Automation)** —— 提需求 -> 拆解 -> 編碼 -> 測試 -> 部署。所有的配置都是為了讓 AI 更能獨立完成這一流程。

---