夜鶯 v9 Skill 管理:把領域知識/操作經驗封裝成 Markdown 提示詞包,讓 AI Agent 在合適場景自動呼叫,輸出更穩定專業的回答。

概述

Skill = 一份帶描述的「提示詞指令包」。每個 Skill 是一段 Markdown 寫的「領域知識 + 操作指引」,AI Agent 在執行任務時自動判斷目前上下文是否匹配某個 Skill 的描述,匹配上就把這份提示詞載入進上下文,讓模型按 Skill 裡寫的方法行事。

側欄路徑:AI 設定 → Skill 管理,URL /ai-config/skills

形象類比:

  • LLM 設定 = 給 AI 一個大腦(大模型本身)
  • Skill = 給這個大腦一本「操作手冊」或「專家備忘錄」

舉例:

  • 你寫一個 linux-troubleshoot Skill,描述寫「Linux 主機故障排查方法論」,正文裡列舉常見的 CPU/記憶體/磁碟/網路問題的排查命令。下次有人問 AI 助手「我這台機器為什麼慢」,系統自動把這份 Skill 餵給模型,回答就會按你的方法論展開。

關鍵點:啟用 Skill ≠ 每次回答都會用。 是否呼叫取決於模型對「使用者問題 + Skill 描述」的匹配判斷。所以描述(description)欄位要寫好 — 它就是 Skill 的「檢索關鍵字」。

頁面佈局

Skill 詳情頁

  • 左側:Skill 列表 + 搜尋框 + + 新建按鈕(點開有「線上建立」和「本機上傳」兩種模式)
  • 右側:選中 Skill 的詳情
    • 頭部:Skill 名稱 + 啟用 開關 + 三點選單(替換 / 下載 / 刪除)
    • 元資訊:作者使用者名稱、最近更新時間、描述
    • 提示詞指令:核心內容;右上角 👁️ / </> 切換「渲染檢視(formatted)」和「原文檢視(code)」

建立 Skill 的兩種方式

方式一:線上建立(適合簡單 Skill)

+線上建立 Skill,彈出表單:

線上建立 Skill 表單

欄位 必填 說明
名稱 用作 Skill 的唯一識別;建議用 kebab-case 英文,如 linux-troubleshootpromql-helperincident-runbook
啟用 預設開 關掉後 Skill 不會被任何 AI 呼叫考慮
描述 否(但強烈建議填 AI 用來匹配上下文的依據 — 越具體、越多關鍵字越好,比如「Linux 主機 CPU / 記憶體 / 磁碟 / 網路故障排查方法論,常見命令如 top, free, iostat, ss 等」
提示詞指令 Skill 的核心內容;寫 Markdown,可以用標題、列表、程式碼區塊組織

方式二:本機上傳(適合帶資源檔案的複雜 Skill)

+本機上傳 Skill,上傳一個 .zip.tar.gz 壓縮包:

  • 壓縮包根目錄必須有一個 SKILL.md,包含 YAML frontmatter + Markdown 正文。
  • 同目錄可以放任意輔助檔案(指令稿、參考資料、子文件),Skill 可以在 prompt 裡透過相對路徑引用。

SKILL.md 的範本:

---
name: linux-troubleshoot
description: Linux 主機 CPU / 記憶體 / 磁碟 / 網路故障排查方法論,附帶常見排查命令
license: Apache-2.0
compatibility: 需要 shell 存取權限
allowed-tools: Bash(top:*) Bash(free:*) Bash(iostat:*) Read
---

# Linux 故障排查

## CPU 高
1. `top -c` 看 CPU 用得最多的程序
2. `pidstat -u 1 5` 看每秒 CPU 分佈
...

## 記憶體爆
...

frontmatter 裡的欄位就是後面「進階設定」裡的欄位(授權條款、相容性、預先授權工具等)。

已經寫好的 Skill 可以從詳情頁下載為壓縮包,作為團隊內共享或者跨實例遷移的載體。Anthropic 的 Agent Skills 也是同一套結構,社群裡很多 Skill 庫可以直接拿來用。

進階設定

新建 / 編輯表單的「進階設定」裡可配:

欄位 作用
授權條款 例如 MITApache-2.0,Skill 分享出去時讓使用者明白合規邊界
相容性 描述這個 Skill 對環境的依賴,例如「需要 git、docker」、「需要聯網」。AI 在沒有相應能力時會跳過
預先授權工具 空格分隔的工具呼叫白名單,例如 Bash(git:*) Bash(docker:*) Read只有列在這裡的工具呼叫才不會再二次跟使用者確認,否則 Agent 每用一次工具都會讓使用者點同意
元資料 自訂 key-value,給 Skill 打標籤 / 寫版本號 / 關聯 owner 等

操作

  • 啟用 / 停用:開關一撥即可生效,無需儲存。
  • 替換:在三點選單選「替換」上傳新的 .zip/.tar.gz,會完全覆蓋目前 Skill 的所有內容(包括資源檔案)。
  • 下載:把目前 Skill 匯出成壓縮包,方便備份、版本管理、分享。
  • 刪除:會有二次確認,刪除後無法復原(已下載的備份還能再次上傳復原)。

寫好提示詞指令的建議

Skill 的提示詞指令本質上是給模型讀的「標準作業書」,寫得好不好直接決定輸出品質。

  1. 開頭一句話點題:用最簡潔的語言說清楚這個 Skill 是幹啥的、什麼時候該用。
  2. 結構化:用 ## 子任務 把大任務拆開,每個子任務下再用列表/程式碼區塊寫步驟。Markdown 結構越清晰,模型越容易穩定執行。
  3. 少用「我建議」、多用祈使句:模型會模仿你的語氣。寫「請執行 top -c 並截圖前 10 行」比「建議你可以試試 top」更確定。
  4. 明確邊界:寫清楚「不要做什麼」 — 例如「不要主動修改生產環境設定,只輸出建議命令」。
  5. 配範例:給一個具體的「輸入 → 輸出」例子,比千言萬語都管用。
  6. 測試一遍:寫完後開個智慧問答會話試一下,看 AI 是不是按你期望的路徑回答;不對就回來改描述(提升匹配率)和指令(提升執行準確度)。

常見問題

Q1:我新建了一個 Skill 並啟用了,但 AI 助手回答時沒用上,怎麼辦?

A:90% 是描述(description)寫得太泛。AI 是先看描述決定呼不呼叫你的 Skill。把描述改得更具體、塞入使用者可能提到的關鍵字,比如把「故障處理」改成「Linux 主機 CPU / 記憶體 / 磁碟 / 網路故障排查,含 top、free、iostat、ss 等常用排查命令」。改完再問就會優先命中。

Q2:多個 Skill 描述都很像,會同時被用上嗎?

A:會。模型會把多個匹配的 Skill 一起注入上下文,但會占用上下文視窗。建議:

  • 同一主題的 Skill 合併成一個,用 ## 子章節 分隔;
  • 用「相容性」欄位寫明先決條件,讓 AI 在條件不滿足時跳過;
  • 關掉長期不用的 Skill(啟用開關)。

Q3:本機上傳的 Skill 包能用 Anthropic 官方 Skills 庫的嗎?

A:可以。夜鶯的 Skill 包格式與 Anthropic Agent Skills 規範相容 — 根目錄的 SKILL.md + frontmatter 完全一致。社群裡 anthropics/skills 這種開源 Skill 庫的內容可以直接打包上傳。

參考資料

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云