繁體中文
← 返回首頁

MCP / Agent / Skill / Harness

一份關於代理應用相關概念的編輯圖譜

MCP、Agent、Skill 與 Harness 分別描述代理應用中的上下文交換、任務執行、可重用指令和宿主執行環境。這個四分框架是 Aphrodite 的編輯模型,並非業界通用架構,也不表示每個產品都實作了四者。

最近審查:目前 MCP 架構(2026-07-28)

MCP 架構圖
  1. Claude Code
    1. Harness
      1. Skill
      2. Agent
      3. Tool
      1. MCP
        1. 外部工具/資料來源
🔗

MCP - Model Context Protocol

連接層協議

MCP 是 AI 應用與外部系統交換上下文的開放用戶端—伺服器協定。宿主協調一個或多個用戶端,伺服器提供經過授權的工具、資源與提示等能力。MCP 不定義模型訓練、推論或 Agent 的內部推理迴圈。

MCP 是什麼?

MCP 是一個通訊協議,規定了 AI 如何:

  • 請求執行某個操作
  • 獲取外部資料
  • 與本地應用程式互動

工作原理

  1. MCP 用戶端連接本機行程或遠端服務
  2. 用戶端與伺服器透過 JSON-RPC 交換請求、回應與通知
  3. 伺服器存取已獲授權的工具、資源或提示
  4. 用戶端將標準化結果提供給模型或宿主介面

設定範例

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/you/Projects"]
    },
    "git": {
      "command": "uvx",
      "args": ["mcp-server-git", "--repository", "/Users/you/Projects/example"]
    }
  }
}

Windows 可能需要透過 cmd /c 呼叫 npx。Claude Desktop、Claude Code、Codex 與 Cursor 的設定路徑不同。已於 2026-07-29 對照 MCP 官方儲存庫核驗。

官方參考伺服器

指導委員會參考伺服器官方儲存庫):

  • Everything
  • Fetch
  • Filesystem
  • Git
  • Memory
  • Sequential Thinking
  • Time

這些專案用於教學與參考,並不代表可直接用於正式環境。可在 MCP Registry 中尋找第三方伺服器;採用前應評估發布者身分、權限、安全性與維護狀態。封存伺服器以及廠商或社群伺服器屬於不同類別。

🤖

Agent - AI 代理

任務執行層

Agent 是能夠自主規劃和執行複雜任務的 AI 系統。與簡單的問答不同,Agent 可以:理解目標 → 制定計劃 → 執行行動 → 評估結果 → 調整策略。

核心能力

  • 理解複雜指令
  • 分解大任務為小步驟
  • 自主決策下一步做什麼
  • 使用工具完成具體操作
  • 從執行結果中學習

使用範例

與 Claude Agent 對話範例

使用者:幫我重構這個專案的錯誤處理

Claude Agent:

我會幫你重構錯誤處理。讓我先分析現有的程式碼結構……

  1. 掃描專案中的錯誤處理程式碼
  2. 識別重複模式
  3. 設計統一的錯誤處理方案
  4. 逐個模組實施重構
  5. 執行測試確保沒有破壞現有功能

[Agent 自主執行上述所有步驟]

對比 GitHub Copilot

Claude Code 與 GitHub Copilot 都提供終端機或 IDE 中的代理式程式設計與程式碼審查能力,但支援範圍、權限確認、沙箱、模型選擇、雲端非同步任務及 MCP 連線會隨產品、用戶端與版本而變動。比較時應區分本機審查與拉取請求審查,並以目前產品文件為準。

最近審查:。來源:Claude Code 文件 · GitHub Copilot 功能文件

🛠️

Skill - 技能擴充

能力增強層

Skill 是一組按需載入的指令、腳本與資源,供智慧體完成某一類專門任務。SKILL.md 格式是公開的,並不依附於某一個產品,Claude Code 只是載入它的宿主之一。透過 Skill,你可以:定義常用命令、封裝複雜工作流、新增領域知識。

Skill 類型

  • 個人 Skill:存放於 ~/.claude/skills/,供個人專案重用
  • 專案 Skill:存放於 .claude/skills/,隨倉庫共享
  • 外掛 Skill:由已安裝外掛提供
  • 內建能力:會隨版本變動,請用 /help 查看目前命令

定義範例

---
name: component-docs
description: Generate documentation for Vue components. Use when the user asks to document a component or component library.
---

Component documentation

  1. Inspect component props, emits, slots, and dependencies.
  2. Generate a usage example.
  3. Document accessibility and edge cases.
  4. Link to related components.

Path: ~/.claude/skills/component-docs/SKILL.md

使用方法

  1. ~/.claude/skills/<name>/.claude/skills/<name>/ 下建立包含完整 SKILL.md 的資料夾
  2. 寫入上例所示的 YAML namedescription 欄位
  3. 描述任務或直接提及 Skill 名稱;不要假設存在未記錄的內建命令
  4. 執行 /help,並查閱目前文件確認特定版本的命令

內建命令

Claude Code 的內建能力名稱可能隨版本變動。請執行 /help,或查閱目前命令參考。個人、專案與外掛 Skill 也可能提供 /skill-name 命令。

🧩

Harness - 代理腳手架

執行時承載層

本頁以 Harness 指模型或 Agent 周圍的宿主執行環境。它可以組合系統指令、工具迴圈、工作階段狀態、記憶、權限與整合,但不同產品對此邊界的劃分不同,也不要求具備本頁展示的全部元件。

核心能力

  • 裝配 system prompt 與工具迴圈
  • 維護會話上下文與長期記憶
  • 載入並排程 Skill 與 MCP 伺服器
  • 提供權限控制、沙箱與日誌
  • 跨形態託管(CLI、IDE 外掛、守護行程、Serverless)

Harness 結構解剖

一個最小 Harness 的結構(以 Claude Code 為例)

  1. system prompt → CLAUDE.md / 倉庫說明
  2. tool loop → Read/Edit/Bash/Grep(內建工具集)
  3. MCP clients → 透過 mcpServers 設定連線外部伺服器
  4. skills → ~/.claude/skills/*.md(按需載入)
  5. runtime → 終端機 REPL / VS Code 外掛 / 閘道守護行程

其他 Harness 實作:

  • Codex CLI (openai/codex) — Rust 寫的終端機 Harness
  • OpenClaw — 跨平台多渠道閘道 Harness
  • Hermes Agent — 自帶學習迴圈的 Harness
  • Cursor Agent — 嵌入 IDE 的 Harness

四者的關係

MCP + Agent

MCP + Agent:Agent 透過 MCP 協議調用外部工具。例如:當 Agent 需要讀寫檔案時,透過 MCP 檔案系統伺服器完成。

Agent + Skill

Agent + Skill:Skill 是 Agent 的技能包。當使用者調用特定 Skill 時,Agent 會使用相應的提示範本和工作流。

Skill + MCP

Skill + MCP:Skill 可以封裝複雜的 MCP 調用。例如:一個部署 Skill可能調用 MCP 的 Git + Docker + CLI 工具。

Harness + 三者

Harness + 三者:Harness 是宿主,把 MCP/Agent/Skill 裝配起來。改 Harness 設定檔(如 claudedesktopconfig.json)相當於重新接線;寫一個新 Skill 相當於給宿主裝新工具。Claude Code、Codex CLI、Cursor Agent 都是這種宿主 + 三件套的實例。

MCP 是底層協議,讓 Agent 能與外部世界通訊

Agent 是執行主體,根據使用者需求規劃並執行任務

Skill 是能力擴充,讓特定任務更高效專業

Harness 是執行時承載層,把三者黏合成一個真正能跑起來的代理

這些概念經常協同運作,但並非必須同時存在的技術堆疊,也不是嚴格的依賴層級;不同產品的邊界與實作會有所不同。