人類技能如何改變代理工具 - 以及如何為 Milvus 建立自訂技能以快速升級 RAG
工具使用是使代理工作的重要部分。代理需要選擇正確的工具、決定何時呼叫它,並正確格式化輸入。從紙上看來,這聽起來很簡單,但是一旦您開始建置真實的系統,您就會發現很多邊緣案例和失敗模式。
許多團隊使用 MCP 式的工具定義來組織這些,但 MCP 有一些粗糙的邊緣。這個模型必須同時對所有工具進行推理,而且沒有太多結構來引導其決策。除此之外,每個工具定義都必須放在上下文視窗中。其中有些工具非常龐大,GitHub 的 MCP 就有約 26K 個字元,這會在代理程式開始執行實際工作之前就吃掉上下文。
Anthropic 引入了Skills來改善這種情況。Skills 更小、更集中,而且更容易按需載入。您可以將網域邏輯、工作流程或腳本包裝成精簡的單元,讓代理程式只在需要時才拉入,而不是將所有東西都倒入上下文。
在這篇文章中,我會說明 Anthropic Skills 如何運作,然後在 Claude Code 中建立一個簡單的 Skill,將自然語言轉換成Milvus 支援的知識庫 - RAG 的快速設定,不需要額外的佈線。
什麼是人類技能?
Anthropic Skills(或稱為 Agent Skills)是一個資料夾,內含 Agent 處理特定任務所需的指令、腳本和參考檔。將它們視為小型、自足的能力包。一個技能可以定義如何產生報告、執行分析或遵循特定的工作流程或規則集。
關鍵在於 Skills 是模組化的,可以依需求載入。與其將大量的工具定義塞入上下文視窗,代理程式只會拉入所需的 Skill。這可以降低上下文的使用率,同時讓模型清楚知道有哪些工具、何時呼叫這些工具,以及如何執行每個步驟。
這個格式刻意設計得很簡單,正因為如此,它已經被許多開發人員工具支援或輕鬆適應 - Claude Code、Cursor、VS Code 擴充、GitHub 整合、Codex 式的設定等等。
一個 Skill 遵循一致的資料夾結構:
skill-name/
├── SKILL.md # Required: Skill instructions and metadata
├── scripts/ # Optional: helper scripts
├── templates/ # Optional: document templates
└── resources/ # Optional: reference materials
1. SKILL.md (核心檔案)
這是代理程式的執行指南 - 告知代理程式該如何執行任務的文件。它定義了 Skill 的元資料(如名稱、描述和觸發關鍵字)、執行流程和預設設定。在此檔案中,您應該清楚說明
技能應在何時執行:例如,當使用者輸入包含 「使用 Python 處理 CSV 檔案」 之類的短語時,觸發 Skill。
任務應該如何執行:按順序列出執行步驟,例如:解釋使用者的請求 → 從
scripts/目錄中呼叫預處理腳本 → 產生所需的程式碼 → 使用templates/中的範本格式化輸出。規則和約束:指定細節,例如編碼慣例、輸出格式以及應如何處理錯誤。
2. scripts/ (執行腳本)
此目錄包含以 Python、Shell 或 Node.js 等語言預先寫好的指令碼。代理可以直接呼叫這些腳本,而不是在執行時重複產生相同的程式碼。典型的例子包括create_collection.py 和check_env.py 。
3. templates/ (文件範本)
可重複使用的範本檔案,代理可以使用這些檔案來產生自訂內容。常見的範例包括報告範本或組態範本。
4. resources/ (參考資料)
代理在執行過程中可以參考的參考文件,例如 API 文件、技術規格或最佳實務指南。
總體而言,此架構反映了如何將工作交給新隊友:SKILL.md 解釋工作、scripts/ 提供即時可用的工具、templates/ 定義標準格式,以及resources/ 提供背景資訊。有了這一切,代理就能可靠地執行任務,並將猜測減到最低。
實作教學:為 Milvus 驅動的 RAG 系統建立自訂技能
在本節中,我們將逐步建立一個自訂的 Skill,它可以設定一個 Milvus 套件,並透過簡單的自然語言指令組裝一個完整的 RAG 管線。我們的目標是跳過所有常見的設定工作 - 不需要手動模式設計、不需要索引設定、不需要模板程式碼。您只需告訴代理您想要什麼,Skill 就會為您處理 Milvus 的元件。
設計概述
先決條件
| 元件 | 需求 |
|---|---|
| CLI | claude-code |
| 機型 | GLM 4.7、OpenAI |
| 容器 | 停車場 |
| 虛擬化 | 2.6.8 |
| 模型組態平台 | CC-Switch |
| 套件管理員 | npm |
| 開發語言 | Python |
步驟 1:環境設定
安裝 claude-code
npm install -g @anthropic-ai/claude-code
安裝 CC-Switch
注意:CC-Switch 是一個模型切換工具,當本機執行 AI 模型時,可以輕鬆切換不同的模型 API。
專案儲存庫:https://github.com/farion1231/cc-switch
選擇 Claude 並新增 API 金鑰
檢查目前狀態
部署並啟動 Milvus-Standalone
# Download docker-compose.yml
wget https://github.com/milvus-io/milvus/releases/download/v2.6.8/milvus-standalone-docker-compose.yml -O docker-compose.yml
# Start Milvus (check port mapping: 19530:19530)
docker-compose up -d
# Verify that the services are running
docker ps | grep milvus
# You should see three containers: milvus-standalone, milvus-etcd, milvus-minio
設定 OpenAI API 金鑰
# Add this to ~/.bashrc or ~/.zshrc
OPENAI_API_KEY=your_openai_api_key_here
步驟 2:為 Milvus 建立自訂技能
建立目錄結構
cd ~/.claude/skills/
mkdir -p milvus-skills/example milvus-skills/scripts
初始化 SKILL.md
注意:SKILL.md 是代理的執行指南。它定義了 Skill 的作用以及觸發方式。
name: milvus-collection-builder
description: Create Milvus collections using natural language, supporting both RAG and text search scenarios
撰寫核心腳本
| 腳本類型 | 檔案名稱 | 目的 |
|---|---|---|
| 環境檢查 | check_env.py | 檢查 Python 版本、所需的相依性和 Milvus 連線。 |
| 意向解析 | intent_parser.py | 將類似「建立 RAG 資料庫」的請求轉換成結構化的意向,例如scene=rag |
| 建立資料庫 | milvus_builder.py | 產生集合模式和索引配置的核心建立器 |
| 資料擷取 | insert_milvus_data.py | 載入文件、將文件分塊、產生嵌入並將資料寫入 Milvus。 |
| 範例一 | basic_text_search.py | 示範如何建立文件搜尋系統 |
| 範例二 | rag_knowledge_base.py | 示範如何建立一個完整的 RAG 知識庫 |
這些腳本展示了如何將以 Milvus 為重點的 Skill 轉化為實用的東西:一個可運作的文件搜索系統和一個智能問答 (RAG) 設置。
步驟 3:啟用技能並執行測試
用自然語言描述請求
"I want to build an RAG system."
建立 RAG 系統
插入樣本資料
執行查詢
總結
在本教程中,我們使用自定義 Skill 建立了一個由 Milvus 驅動的 RAG 系統。我們的目標不只是展示另一種呼叫 Milvus 的方式,而是展示 Skills 如何將通常需要多個步驟、繁重配置的設定,轉變為可以重複使用和迭代的東西。與其手動定義模式、調整索引或拼接工作流程程式碼,Skill 可以處理大部分的模板,讓您可以專注於 RAG 中真正重要的部分。
這只是個開始。完整的 RAG 管線有許多移動部件:預處理、分塊、混合搜尋設定、重排、評估等等。所有這些都可以打包成獨立的 Skills,並依據您的使用情況進行組合。如果您的團隊對向量尺寸、索引參數、提示範本或擷取邏輯有內部標準,Skills 是將該知識編碼並使其可重複的簡易方式。
對於新的開發人員,這降低了入門門檻-在開始運行之前不需要學習 Milvus 的每個細節。對於有經驗的團隊來說,這可以減少重複設定的次數,並有助於保持專案在不同環境下的一致性。技能無法取代深思熟慮的系統設計,但卻能消除許多不必要的摩擦。
👉完整的實作可在開放原始碼倉庫中取得,您也可以在Skill 市集探索更多社群建置的範例。
敬請期待!
我們也在努力推出官方的 Milvus 和 Zilliz Cloud Skills,涵蓋常見的 RAG 模式和生產最佳實務。如果您有想要支援的想法或特定工作流程,請加入我們的Slack 頻道,與我們的工程師交談。如果您想要獲得自己設定的指導,您可以隨時預約Milvus Office Hours 課程。
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word



