跳至主要内容

如何養成一個 AI Agent

「養成 Agent」並不是訓練模型,而是設計 Agent 的能力組合:給它正確的 Skills、合適的 Tools、必要的外部連線(MCP),讓它能在你的工作流中可靠地完成任務。

本文說明:

  • Skills 是什麼?什麼時候用?
  • Tools 是什麼?與 Skills 的差別?
  • Local MCP vs Remote MCP 的差異與選擇

一、養成 Agent 的三個層次

┌─────────────────────────────────────────┐
│ Agent(行為主體) │
│ │
│ ┌────────────┐ ┌─────────────┐ │
│ │ Skills │ │ Tools │ │
│ │ (做事的方法) │ │ (做事的工具) │ │
│ └────────────┘ └─────────────┘ │
│ ↓ ↓ │
│ ┌─────────────────────────────┐ │
│ │ MCP(外部能力連線) │ │
│ │ Local MCP | Remote MCP │ │
│ └─────────────────────────────┘ │
└─────────────────────────────────────────┘
層次比喻載入時機
Skills工作 SOP / 專業知識按需載入(觸發時)
Tools手上的工具箱啟動時載入
MCP外接設備 / 雲端服務啟動時連線

二、什麼是 Skills?

Skills 是 Agent 在特定場景下的「做事方法」與「領域知識」

它本質上是一個 Markdown 檔案(含 YAML frontmatter),描述:

  • 什麼時候該使用這個 Skill(trigger)
  • 該怎麼一步步完成這項工作
  • 涉及的注意事項、最佳實踐

Skill 結構範例

---
name: ui-ux-pro-max
description: UI/UX 設計指引,涵蓋色彩、字型、佈局與元件
trigger: 當使用者要求設計 UI、調整樣式、選擇配色時
---

# UI/UX 設計守則

## 色彩選擇原則
1. 主色與輔色比例維持在 60:30:10
2. 對比度需達 WCAG AA 標準
...

## 字型搭配
- 標題:Inter / Noto Sans TC
- 內文:System UI fallback
...

Skills 的特性

  • 按需觸發:不在每次對話都載入,符合條件時才注入 context
  • 可組合:一個 Agent 可掛多個 Skills,互不衝突
  • 領域導向:適合包裝「特定情境下要怎麼做」的知識
  • 使用者可自訂:透過 /skill-name 觸發,或讓 Agent 自動判斷

適合做成 Skill 的內容

類型範例
工作 SOPCode review 流程、Release 檢查表
專業領域知識UI/UX 設計原則、安全審查項目
專案規範該如何寫 commit message、PR 模板
多步驟任務部署、初始化、Migration

三、什麼是 Tools?

Tools 是 Agent 「執行動作」的能力:讀檔、寫檔、執行 shell 指令、發送 HTTP 請求等。

Tools 的特性

  • 啟動時注入:Agent 啟動就知道有哪些 Tools 可用
  • 強型別介面:每個 Tool 都有明確的輸入 schema 與輸出格式
  • 單一職責:一個 Tool 通常只做一件事(如 ReadWriteBash
  • 權限可控:可在 settings 中設定哪些 Tools 需要使用者確認

Tools 與 Skills 的差別

面向SkillsTools
本質知識 / SOP執行能力
形式Markdown 文件程式介面 / API
載入時機按需觸發啟動時注入
範例「怎麼做 code review」「執行 git diff
比喻食譜鍋鏟

Skill 告訴 Agent 「該做什麼」;Tool 讓 Agent 「能做到」。 一個完整的能力 = 知道方法(Skill)+ 有工具(Tool)。

內建 Tools 範例

Tool用途
Read讀取檔案
Write / Edit寫入 / 修改檔案
Bash執行 shell 指令
Grep / Glob搜尋程式碼
WebFetch抓取網頁內容

四、什麼是 MCP?

MCP(Model Context Protocol)是 Anthropic 推出的開放協定,讓 Agent 能連接外部系統取得資料、呼叫服務。

可以把 MCP 想像成 「Agent 的 USB 介面」:只要對方實作 MCP server,Agent 就能即插即用,不需重寫整合程式。

MCP 提供什麼?

  • Tools:讓 Agent 呼叫外部函式(例如:查 Jira ticket、發 Slack 訊息)
  • Resources:讓 Agent 讀取外部資源(例如:Google Drive 檔案、DB schema)
  • Prompts:可重用的 prompt 模板

五、Local MCP vs Remote MCP

MCP server 依執行位置分兩類:

Local MCP

Server 與 Agent 在同一台機器上執行,透過 stdio 通訊。

┌────────────────────────┐
│ 你的電腦 │
│ ┌──────┐ ┌──────┐ │
│ │Agent │←──→│ MCP │ │ stdio
│ └──────┘ │Server│ │
│ └──────┘ │
└────────────────────────┘

特性

面向說明
通訊方式stdio(標準輸入輸出)
啟動方式Agent 啟動時 spawn 一個 process
驗證方式通常依賴本機環境(已登入的 CLI、檔案系統權限)
延遲極低(process 內通訊)
可用性僅本機可用,無法跨裝置共享

適合場景

  • 操作本機檔案系統 / Git repository
  • 使用本機已安裝的 CLI 工具(例如 gh, kubectl
  • 個人開發環境的客製化整合

設定範例(Claude Code settings.json

{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
}
}
}

Remote MCP

Server 部署在遠端,透過 HTTP / SSE 通訊。

┌──────────┐ ┌─────────────────┐
│ Agent │ HTTP │ Remote MCP │
│ │←───────→│ Server │
│ (本機) │ SSE │ (雲端 / 公司內網) │
└──────────┘ └─────────────────┘

┌──────────┐
│ External │
│ Services │
│ (Jira, │
│ GitHub, │
│ DB...) │
└──────────┘

特性

面向說明
通訊方式HTTP + SSE(Server-Sent Events)
啟動方式Server 預先部署,Agent 啟動時建立連線
驗證方式API Key、OAuth、JWT 等標準 Web 認證
延遲視網路而定(一般可接受)
可用性多人 / 多裝置共享同一個 server

適合場景

  • 團隊共用的整合(例如:公司內的 Jira / Confluence)
  • 需要中央化管理的權限控制
  • 跨裝置一致的能力(手機、IDE、CLI 共用同一套工具)
  • 商業雲端 SaaS(Linear、Notion、Slack 等)

設定範例(Claude Code settings.json

{
"mcpServers": {
"studio_mcp": {
"type": "http",
"url": "https://metamcp.example.com/metamcp/studio_mcp/mcp",
"headers": {
"X-API-Key": "your-api-key"
}
}
}
}

Local vs Remote MCP 對照表

比較項目Local MCPRemote MCP
執行位置使用者本機遠端 server
通訊協定stdioHTTP / SSE
驗證本機環境 / 檔案權限API Key / OAuth
延遲極低網路延遲
多人共用
權限管理分散,各人自管集中,一處設定
適合個人本機操作團隊共用、SaaS 整合

六、養成 Agent 的實務建議

1. 從最小可行開始

先給 Agent 內建 Tools(Read / Write / Bash)就能解決多數任務。Skills 與 MCP 是遇到瓶頸再加

2. Skills 寫給「未來的自己」看

把每次對話中你重複糾正 Agent 的內容,整理成 Skill。例如:

  • 「Commit message 要用正體中文,禁止簡體用語」
  • 「PR 描述要包含 Test plan」

3. Tools 講求穩定,MCP 講求生態

  • 如果某個整合是「核心、穩定、長期使用」,做成 Tool 或 Local MCP
  • 如果是「跨團隊、跨裝置、需中央管理」,部署 Remote MCP
  • 如果只是試水溫,先用 Bash + 既有 CLI

4. 權限設計:最小授權原則

  • Tools / MCP 都要評估「最壞情況下會發生什麼」
  • 對寫入性、不可逆操作,預設要求使用者確認
  • Remote MCP 的 API Key 要妥善管理,定期輪換

5. 觀察與迭代

  • 觀察 Agent 在哪些任務上反覆失敗 → 補 Skill
  • 觀察 Agent 在哪些操作上手段笨拙 → 補 Tool 或 MCP
  • 觀察 Agent 在哪些情境下亂用工具 → 強化 Skill 中的觸發條件

七、進一步閱讀