Skills 系統:教你的 Agent 你的規範和偏好

Skills 系統:教你的 Agent 你的規範和偏好

6 min read

你有沒有遇過這種情況:每次用代理人做事,都要在 prompt 裡重複說一遍「我的專案是 TypeScript、不要用 class component、輸出一定要有 error handling」——然後下次又要說一遍,因為它不記得。

長期記憶可以幫忙記住這些偏好,但對於比較固定的「行為規範」,還有一個更結構化的做法:Skills。

Skills 是什麼

Skills 是 Deep Agents 的一套客製化機制,讓你可以用文件的形式定義代理人的行為規範——不是靠反覆說 prompt,而是把規範寫成一份「代理人應該遵守的指南」,載入後就一直生效。

一個 skill 通常包含:

  • 觸發情境:什麼時候這個 skill 應該被套用
  • 行為規範:要怎麼做、不要怎麼做
  • 範例:好的輸出和不好的輸出各長什麼樣子
  • 工具清單:這個 skill 可能會用到哪些工具

你可以把 Skills 想成是替代「每次對話都要重新解釋一遍的 prompt」——把你的偏好和規範固化下來,讓代理人像有了「工作守則」一樣運作。

Skill 的基本結構

一個 skill 是一份 Markdown 文件,格式大致長這樣:

# Python 開發規範
 
## 觸發時機
用戶要求撰寫或修改 Python 程式碼時套用此規範。
 
## 核心規範
 
**程式碼風格:**
- 使用 type hints,不省略型別標注
- 函式長度不超過 30 行,超過請拆分
- 使用 f-string,不用 % 或 .format()
 
**錯誤處理:**
- 所有 I/O 操作必須有 try/except
- 錯誤訊息要具體,不用 "Something went wrong"
 
**測試:**
- 每個 public function 都要有對應的 unit test
- 測試函式命名:test_{被測函式名}_{測試情境}
 
## 輸出格式
回傳程式碼時,同時提供對應的測試程式碼。
 
## 不要做的事
- 不要使用 global 變數
- 不要在 main 邏輯裡直接 print 調試資訊

這份 skill 載入後,代理人在寫 Python 相關任務時就會自動遵循這些規範,不需要每次在對話裡重複說明。

在 Deep Agents CLI 載入 Skills

如果你是用 Deep Agents CLI,在設定檔裡指定 skills 目錄:

# ~/.deepagents/config.yaml
skills_dir: ~/.deepagents/skills/
 
skills:
  - python-dev-standards
  - code-review-checklist
  - documentation-style

每個 skill 對應 skills_dir 下的一個 Markdown 檔案。CLI 啟動時自動載入,後續對話都會套用。

用 SDK 動態載入 Skills

如果你是用 SDK 建立代理人,可以在建立時把 skills 的內容加進 system_prompt,或透過 context 參數傳入:

from deepagents import create_deep_agent
from pathlib import Path
 
def load_skill(skill_name: str) -> str:
    skill_path = Path(f"./skills/{skill_name}.md")
    return skill_path.read_text()
 
# 把 skills 內容加入 system_prompt
python_skill = load_skill("python-dev-standards")
review_skill = load_skill("code-review-checklist")
 
agent = create_deep_agent(
    tools=[...],
    system_prompt=f"""你是一個資深 Python 工程師。
 
    遵循以下規範:
 
    {python_skill}
 
    {review_skill}
    """,
)

什麼情境值得建立 Skills

高度值得投資的場景:

  • 你有一套固定的程式碼風格或架構規範,每個任務都要套用
  • 你的代理人需要熟悉特定的技術棧或業務邏輯
  • 你會重複使用同一個代理人在多個相似的任務上

可能不值得的場景:

  • 只是偶爾用一下代理人,任務多樣且不重複
  • 規範還很流動、常常在改——每次改 skill 也要改代理人
  • 規範很簡單,一兩行 prompt 就說清楚了,不需要獨立成一份文件

Skills 和長期記憶的分工

這兩個機制解決的是不同的問題:

Skills 長期記憶
內容性質 固定的規範和偏好 動態積累的知識
更新方式 手動編輯文件 代理人自動更新
適合儲存 開發規範、風格指南、業務規則 用戶偏好、專案狀態、對話歷史
載入時機 代理人初始化時固定載入 對話過程中按需檢索

最好的做法是兩者搭配——Skills 管「規範」(你希望代理人永遠遵守的事),Memory Store 管「記憶」(代理人在使用過程中學到的關於你的事)。

一個常被忽略的 Skills 用途:讓代理人教別人

Skills 機制不只是給你自己用——如果你在建一個 AI 助理產品,可以把不同用戶的規範和偏好做成 skills,讓代理人「了解」不同用戶的需求,而不是依賴每次對話的 prompt 工程。

這把「客製化代理人行為」從一個運維問題,變成一個可以系統化管理的設定問題。


上一篇:長期記憶:讓 Agent 跨對話記住重要資訊 下一篇:Deep Agents CLI:終端機裡的 Coding 代理人