block-quote On this pagechevron-down
copy Copy chevron-down
進階生成式 AI 技術 Skill 技能模組 Skill(技能)是 MaiAgent 平台中用於封裝 AI 助理專業能力的模組化機制。與 Function Calling 讓 LLM 能呼叫單一工具不同,Skill 將一組指令(Instructions) 、**工具(Tools)與 資源檔案(Resources)**封裝為一個可重複使用的能力單元,使 AI 助理能夠在對話過程中動態展開完整的任務執行流程。
簡而言之:
Function Calling / 工具 :LLM 呼叫單一 API 或函式
Skill :LLM 展開一整套 SOP 指令,並在流程中按需調用多個工具
技能(Skill)= 指令(Instructions)+ 工具(Tools)+ 資源(Resources) 1. 技能展開(Skill Expansion)
當 AI 助理判斷使用者的問題應由某個技能處理時,系統會呼叫 SkillExpandTool:
處理 :根據名稱查詢技能,取得完整指令內容與附加工具列表
輸出 :Markdown 格式的指令內容 + 可用工具清單
技能展開後,LLM 在執行指令過程中若需要調用工具,會透過 LoadSkillTool 動態載入:
處理 :查詢工具(支援 MCP 工具與 API 工具,名稱不區分大小寫)
這種動態載入機制讓技能的工具不需要預先全部載入對話上下文,降低 Token 消耗。
Skill 的核心定義檔案為 SKILL.md,使用 YAML Frontmatter + Markdown 內容格式:
觸發條件明確 :在描述和指令中清楚定義「何時觸發」與「何時不觸發」
步驟結構化 :使用編號步驟(Step 1, Step 2...)讓 LLM 能循序執行
工具呼叫指引 :在步驟中明確指出應使用哪個工具與查詢策略
回覆格式定義 :用模板或表格定義最終回覆的格式,確保輸出一致性
防錯清單 :在指令末尾加入檢查清單,讓 LLM 自我驗證結果
技能包(Skill Package)
上傳的 .skill 或 .zip 檔案應包含以下結構:
系統在解析技能包時會進行以下安全檢查:
壓縮比檢查 :最大 100:1,防止 ZIP 炸彈攻擊
檔案大小限制 :依組織設定的上傳限制(預設 100 MB)
SKILL.md 驗證 :必須存在且包含有效的 name 和 description
/api/v1/skills/{id}/reupload/
/api/v1/skills/{id}/export/
/api/v1/skills/{id}/package-structure/
/api/v1/skills/{id}/resources/
/api/v1/skills/{id}/resources/
/api/v1/skills/{id}/resources/{rid}/
/api/v1/skills/{id}/resources/{rid}/download/
手動建立:
上傳技能包:
技能透過 ChatbotSkill 中介模型與 AI 助理建立多對多關聯:
綁定/解綁操作會記錄在 ChatbotSkillEvent 歷史追蹤表中
MaiAgent Skill 的獨特優勢
技能的指令內容和附加工具是獨立管理的,可以隨時調整指令邏輯而不影響工具設定,反之亦然。這使得技能的維護和迭代更加靈活。
技能指令不會預先載入對話上下文,而是在 LLM 判斷需要時才動態展開。這大幅減少每次對話的 Token 消耗,尤其適用於綁定大量技能的 AI 助理。
透過 .skill 檔案格式,技能可以在不同組織間分享與匯入。企業可以建立內部技能庫,或將最佳實踐封裝為技能包分發給合作夥伴。
上傳方式建立的技能支援重新上傳(Reupload),可在不刪除原有技能的情況下更新技能包內容。系統會完整替換技能包與資源檔案,確保版本一致性。
技能的存取受 chatbot_skill_access 權限控制,組織管理員可透過角色權限系統精細管理誰能建立、編輯和刪除技能。
Last updated 27 minutes ago