# 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`)時觸發。 * **觸發方式**:**被動/自動**。無需用戶手動輸入,它是靜態存在的上下文。 * **外部連接**:無。僅作為靜態文本約束。 * **適用場景**:定義代碼風格、項目結構規範。  ### 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 更能獨立完成這一流程。 ---
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up