![]()
前幾天OpenAI推出了拖拽式構(gòu)建Agent方案,感覺大家普遍不是很看好,今天Anthropic也推出了一項名為Agent Skills(智能體技能)的重磅新功能,可以快速構(gòu)建專屬領(lǐng)域的Agent,這個方案概念非常清晰簡單,可執(zhí)行性又強,分享給大家看看
這段時間我寫文章介紹了對構(gòu)建Agent至關(guān)重要的的上下文工程,這篇文章和這篇目前都受到了大家的強烈關(guān)注,今天Anthropic這套方法可以說是契合了這兩篇文章的最佳實踐
簡單來說,Agent Skills一個全新的、使用文件和文件夾來構(gòu)建專業(yè)智能體的方法。
盡管Claude模型本身已經(jīng)很強大,但要完成真實世界的工作,還需要程序化知識和組織背景。Agent Skills的出現(xiàn),正是為了解決這一問題
現(xiàn)在,任何人都可以像為新員工準備“入職指南”一樣,將自己的專業(yè)知識、操作流程和資源打包成可組合的“技能”,動態(tài)地加載給Claude,從而將一個通用的AI智能體,轉(zhuǎn)變?yōu)闈M足特定需求的專屬專家。
這項新功能的核心是什么?它具體如何運作?官方給出了詳細解讀
![]()
什么是Agent Skills?
一個Agent Skill,本質(zhì)上是一個包含SKILL.md文件的目錄。這個目錄里可以整理指令、腳本和各類資源,為智能體賦予額外的能力。
開發(fā)者不再需要為每個應(yīng)用場景構(gòu)建碎片化、一次性的定制智能體。通過Agent Skills,他們可以捕捉和共享程序化知識,用可組合的能力來讓通用智能體變得專業(yè)化
激活技能非常簡單:只需編寫一個包含自定義指導的SKILL.md文件
技能的三個層次:漸進式披露是核心
官方通過一個為Claude增強PDF編輯能力的真實案例,展示了Agent Skills的內(nèi)部構(gòu)造
第一層:元數(shù)據(jù)(Metadata)
一個技能的核心是SKILL.md文件。該文件必須以YAML Frontmatter開頭,包含兩個必需的元數(shù)據(jù):name(名稱)和description(描述)
![]()
在啟動時,智能體會預加載所有已安裝技能的名稱和描述到其系統(tǒng)提示(system prompt)中
這便是“漸進式披露”的第一層:它只提供足夠的信息,讓Claude知道在什么情況下該使用哪個技能,而無需將所有技能的詳細內(nèi)容全部加載到上下文中
第二層:核心指令(SKILL.md主體內(nèi)容)
當Claude根據(jù)當前任務(wù),判斷某個技能是相關(guān)的,它就會讀取該技能的SKILL.md文件的完整內(nèi)容,并將其加載到上下文中。這是披露的第二個層次
第三層:外部引用文件
當技能變得復雜,單一的SKILL.md文件可能不足以容納所有內(nèi)容,或者某些內(nèi)容僅在特定場景下才需要。這時,開發(fā)者可以在技能目錄中捆綁其他文件,并在SKILL.md中通過文件名引用它們。
這些被引用的文件構(gòu)成了第三層(及更深層)的細節(jié)。Claude可以根據(jù)需要自主導航和發(fā)現(xiàn)這些信息。
在官方的PDF技能示例中,SKILL.md文件引用了reference.md和forms.md兩個附加文件。將PDF表單填寫的具體指令移入了forms.md,保持了核心技能文件的精簡,并相信Claude只在需要填寫表單時才會去讀取它
![]()
漸進式披露(Progressive disclosure)是Agent Skills設(shè)計的核心原則。它就像一本組織良好的手冊,從目錄(元數(shù)據(jù)),到具體章節(jié)(SKILL.md主體),再到詳細附錄(引用的文件),讓Claude只在需要時加載必要信息
![]()
官方強調(diào),對于擁有文件系統(tǒng)和代碼執(zhí)行工具的智能體來說,它們無需在處理任務(wù)時將技能的全部內(nèi)容讀入上下文窗口。這意味著,一個技能可以捆綁的上下文數(shù)量實際上是無限的
技能如何被觸發(fā)和執(zhí)行?
用一張圖清晰展示技能在上下文窗口中的觸發(fā)流程:
![]()
1.初始狀態(tài):上下文窗口包含核心系統(tǒng)提示、所有已安裝技能的元數(shù)據(jù),以及用戶的初始消息
2.觸發(fā)技能:Claude認為PDF技能相關(guān),于是調(diào)用Bash工具讀取pdf/SKILL.md文件的內(nèi)容
3.讀取附加文件:在處理任務(wù)過程中,Claude決定進一步讀取該技能捆綁的forms.md文件
4.執(zhí)行任務(wù):在加載了PDF技能的相關(guān)指令后,Claude繼續(xù)處理用戶的任務(wù)
技能與代碼執(zhí)行
除了文本指令,Skills還可以包含代碼,供Claude在適當時作為工具來執(zhí)行
雖然大語言模型擅長許多任務(wù),但某些操作(如對列表進行排序)使用傳統(tǒng)代碼執(zhí)行會更高效、成本更低。此外,許多應(yīng)用需要代碼才能提供的確定性可靠性。
在PDF技能的例子中,技能包里包含一個預先編寫好的Python腳本,用于讀取PDF并提取所有表單字段。Claude可以直接運行這個腳本,而無需將腳本或PDF文件本身加載到上下文窗口中。由于代碼是確定性的,這個工作流保證了一致性和可重復性
![]()
如何開發(fā)和評估自己的技能?
Anthropic官方給出了四條實踐指南:
1.從評估開始:在代表性任務(wù)上運行你的智能體,觀察它在哪些地方遇到困難或需要額外上下文,以此確定其能力差距。然后,逐步構(gòu)建技能來彌補這些不足
2.為規(guī)模化而設(shè)計:當SKILL.md文件變得臃腫時,將其內(nèi)容拆分到不同文件中并進行引用。如果某些上下文是互斥或很少一起使用,保持路徑分離可以減少Token消耗。代碼既可以作為可執(zhí)行工具,也可以作為文檔。要明確Claude應(yīng)該直接運行腳本,還是將其作為參考讀入上下文
3.從Claude的視角思考:監(jiān)控Claude在真實場景中如何使用你的技能,并根據(jù)觀察進行迭代。注意技能的name和description,這是Claude決定是否觸發(fā)該技能的關(guān)鍵
4.與Claude一起迭代:在與Claude合作完成任務(wù)時,可以要求它將成功的方法和常見的錯誤總結(jié)成可重用的上下文和代碼,并固化到一個技能中。如果它在使用技能時偏離了軌道,讓它自我反思,這能幫助你發(fā)現(xiàn)它真正需要的上下文。
安全注意事項
由于Skills通過指令和代碼為Claude提供新能力,惡意的技能可能會在使用環(huán)境中引入漏洞,或引導Claude泄露數(shù)據(jù)、執(zhí)行意外操作。
官方建議:
只從受信任的來源安裝技能
在使用來自不太可信來源的技能前,進行徹底審計。檢查文件內(nèi)容、代碼依賴項以及圖像或腳本等捆綁資源
特別注意技能中指示Claude連接到潛在不受信任的外部網(wǎng)絡(luò)源的指令或代碼。
目前,Agent Skills已在Claude.ai、Claude Code、Claude Agent SDK和Claude開發(fā)者平臺全面支持。
Anthropic表示,未來幾周將繼續(xù)增加新功能,支持技能的創(chuàng)建、編輯、發(fā)現(xiàn)、共享和使用的完整生命周期
更長遠地,Anthropic希望智能體能夠自主創(chuàng)建、編輯和評估技能,將自己的行為模式固化為可重用的能力。
總而言之,Agent Skills是一個概念簡單、格式也簡單的功能,這種簡單性使得組織、開發(fā)者和最終用戶都能更容易地構(gòu)建定制化的智能體,并賦予它們新的能力
Skill文檔:
https://docs.claude.com/en/docs/agents-and-tools/agent-skills/overview
使用指南:
https://github.com/anthropics/claude-cookbooks/tree/main/skills
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.