KeyFrame內部研究專用

5 Best Practices for Building AI Agent Skills

IBM Technology and IBM Developer·8月10日週一·13 min英文

三句話摘要

建立 AI 智能體技能的五項最佳實踐——從描述、專業知識、上下文管理、確定性腳本到安全審查。 好的技能應兼具實務經驗、簡潔設計、確定性邏輯與安全保障,才是代理真正會安全使用的技能。 描述是觸發器:名稱(64 字符上限)和描述(1024 字符上限)決定代理是否調用該技能。大型部署中代理無法一次加載所有技能內容,只會先讀取名稱和描述,因此描述應略顯誇大才能確保被正確觸發。

重點整理

重點
  • 1

    描述是觸發器:名稱(64 字符上限)和描述(1024 字符上限)決定代理是否調用該技能。大型部署中代理無法一次加載所有技能內容,只會先讀取名稱和描述,因此描述應略顯誇大才能確保被正確觸發。

  • 2

    從真正專業知識出發:技能的核心價值是你完成特定工作的獨特方法。內容應來自真實工作經驗(手動完成任務並記錄實際有效方法)或綜合現有數據(舊報告、日誌、回饋等),而非讓 AI 生成通用廢話。寫下每次修正代理錯誤的經驗就是記錄陷阱。

  • 3

    明智利用上下文:skill.md 主體應控制在 500 行或 5000 字符內。當代理選擇技能時才會完整加載內容,與其他信息共享有限的上下文窗口。超大技能應拆分,並用 `references` 子資料夾存放輔助文件,只在代理需要時才加載。

  • 4

    確定性腳本替代推理:鬆散步驟可寫指令讓模型發揮,但對於必須每次都完全正確的步驟,應用 `scripts` 資料夾存放可執行腳本。讓代理呼叫腳本執行,避免每次都讓模型重新即興推理造成不一致結果。

實用技巧與重點

乾貨
  • 技能名稱上限:64 字符
  • 技能描述上限:1024 字符
  • skill.md 主體建議上限:500 行 / ~5000 字符
  • 技能資料夾結構:主 skill.md + scripts/ 子資料夾 + references/ 子資料夾
  • 公開技能安全調查結果:近 4000 個技能中,35% 存在某種漏洞、13% 存在嚴重問題(提示注入、惡意軟體)
  • 兩種內容來源:①手動完成任務並記錄、②從現有數據綜合分析(舊報告、運行日誌、評論、PR 回饋等)
  • 領域專業知識原則(Simon Willison 引述):「保留領域專業知識,讓代理處理日常事務」

結論

結論

好的技能應兼具實務經驗、簡潔設計、確定性邏輯與安全保障,才是代理真正會安全使用的技能。

完整解析

詳細

AI 智能體技能看似簡單——本質上就是放在資料夾裡的 Markdown 文件——但因為簡單,所以容易出錯。講者分享了建立可靠技能的五個核心實踐。

首先是描述的重要性。每個 skill.md 都以 YAML 頭部開始,定義名稱和描述。在大規模部署中(如安裝 100 項技能),代理無法同時載入所有技能內容,否則會充滿上下文窗口。因此代理啟動時只讀取每項技能的名稱和描述,這決定了技能是否會被調用。比如將合規技能簡單描述為「產生報告」太籠統,應改為「根據內部數據產生月度合規報告,當有人要求合規報告或月度申報時執行」。講者強調描述應稍微誇大一點,因為模型往往觸發不足,小看一點反而更安全。

其次,技能內容必須來自真正的領域專業知識。很多人會直接讓 AI 生成技能描述,結果是空泛廢話。正確做法是手動完成一遍任務並記錄實際有效的方法,或從現有數據綜合分析(舊報告、運行記錄、PR 回饋等)。講者引述英國同行 Simon Willison 的觀點:「保留領域專業知識,讓代理處理日常事務」。每次手動修正代理錯誤,那次修正都該被記下來,否則下週還得重複同樣的修正。講者舉例,某份月度合規報告在首次運行時出現行總數不符的問題,這類錯誤正是為什麼需要記錄陷阱和邊界情況。

第三個實踐是明智地利用上下文。當代理選擇一項技能時,才會真正讀取其主體內容,此時該技能的每一行都在與上下文窗口中其他信息爭奪模型注意力。建議將 skill.md 主體控制在 500 行或約 5000 字符內——只寫代理自己無法知道的信息,即模型訓練數據中尚未包含的內容。超大技能應拆分,將輔助信息放在 `references` 子資料夾,代理只在實際需要時才打開這些文件。

第四個實踐是使用確定性腳本。對於鬆散的步驟,寫說明讓模型發揮沒問題,因為通往正確答案的路有很多。但對於每次都必須完全正確的步驟,不要讓模型動態重新生成邏輯。此時應在技能資料夾中建立 `scripts` 目錄,放入腳本(如 script1),技能主體只需告訴代理「執行這個腳本」。腳本不會載入上下文,既節省令牌又更可靠。講者的例子中,合規報告原本用模型計算數字,後來改用確定性數學腳本,這類計算漏洞完全消失了。答案不是寫更多測試——測試只能發現已知要檢查的東西——而是對必須正確的部分,直接用邏輯替代猜測。

最後是安全審查。技能可以執行代碼、存取本地文件系統甚至 API 金鑰,這正是它們強大的原因,但也帶來風險。一份審計報告掃描近 4000 個公開技能,發現超過 35% 存在某種安全漏洞,13% 存在嚴重問題如提示注入或惡意軟體。必須像對待其他軟體依賴一樣審查代理技能——在使用前閱讀功能、檢查調用了哪些資源。開放標準無法保證個別技能安全。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「AI 技術」的內容

Between Two Nerds: Attribution is dead, long live attribution
32 min
AI 技術英文PODCAST8月25日

Between Two Nerds: Attribution is dead, long live attribution

Risky Business

  • 工具成本的破壞性下降 — 傳統上,攻擊者必須重複使用昂貴自製的惡意軟體或工具組,因為開發和維護成本極高。這種成本結構使得安全研究人員可以通過工具特徵和程式碼簽名來追蹤攻擊者。LLM 自動化了代碼生成與維護工作流,使得攻擊者可以輕易為每個目標生成新工具,或改用通用系統工具,導致傳統的工具特徵分析失效。
  • 所有取證證據都在攻擊者掌控之中 — 無論是使用的 IP 位址、惡意軟體類型或戰術流程,這些都是攻擊者的主動選擇。即使看似是隨機巧合,攻擊者仍有能力在事前決定留下什麼痕跡。因此,所有可恢復的取證證據本質上都是攻擊者願意暴露的信息。
  • LLM 削弱工具簽名但保留高階行為特徵 — LLM 經過公開駭客技術訓練,使不同使用者產生相似的攻擊模式。然而,勒索軟體集團、國家級行為者的受害者選擇、贖金要求方式或目標模式等高階特徵仍具有識別價值。例如,鎖定加密交易所的攻擊幾乎只能指向朝鮮。
Everything Goldman Sachs Taught Me About AI (In 10 minutes)
AI 技術英文8月24日

Everything Goldman Sachs Taught Me About AI (In 10 minutes)

Nate Herk

  • 驗證優於相信:看起來完整的AI輸出不等於正確答案,需在提示中要求模型重新檢查數字、引用來源,並對無把握的部分標記。
  • 區分AI與自動化:確定步驟且答案已知的任務用傳統自動化更便宜快速;只在需要判斷力、靈活性或處理複雜資訊時才用AI,兩者結合效果最佳。
  • 以問題驅動選型:先寫清楚「要解決的問題是什麼、成功的樣子是什麼」,再決定用什麼工具,許多失敗項目是從技術而非問題出發。
Mu: a self-hosted personal agent where the interface is an email address you can write to
AI 技術英文8月23日

Mu: a self-hosted personal agent where the interface is an email address you can write to

GitHub Awesome

  • Mu 是自主代理人系統,具有實際網址與獨立伺服器,用戶可透過多種方式與其互動——網頁應用、電子郵件或程式化介面。
  • 架構完整覆蓋日常工作流程的多個層面,整合郵件收發(SMTP/IMAP)、檔案管理、行事曆、新聞聚合、市場數據與搜尋功能於一個 Go 伺服器內。
  • 支援自帶模型與多種通訊協定,用戶可選擇不同的 AI 模型,並透過 MCP、HTTP API 或命令列工具整合到其他系統。