前言¶
在 DeepSeek Harness (DSH) 的插件生態中,智能體的記憶與技能管理是提升複用效率的關鍵。開發者通常需要從大量執行軌跡中手動提煉可複用的技能,這不僅耗時,還容易遺漏。dsh-skill-evolution 插件旨在解決這一問題,它通過事件驅動的機制,自動監控並結晶智能體在成功回合中的經驗。
插件簡介¶
dsh-skill-evolution 是一個 DeepSeek Harness (DSH) 插件,由維護者 VanadisGithub 開發。它的核心邏輯是:在智能體成功執行一個回合後,根據特定信號觸發 LLM 審查,將可重用的工作流結晶爲獨立的技能。
核心能力¶
-
事件驅動結晶
插件監聽turn/end事件,而非基於簡單的頻率計數。當滿足條件時,觸發 LLM 審查。 -
LLM 審查門控
審查 LLM 會判斷是結晶新技能、合併到現有技能還是跳過。配合硬性不捕獲列表,防止結晶環境依賴、臨時錯誤等垃圾內容。 -
技能持續進化
新的經驗會被合併進現有技能,版本號會更新。支持語義去重 (FOLD_INTO),即使通過不同工具序列重現了相同的經驗,也能合併。 -
管理與持久化
插件在設置面板提供完整的管理 UI,可查看技能卡片、版本、調用次數等。技能持久存儲在generated/目錄下,重啓後自動註冊。
安裝與配置¶
官方安裝(推薦)¶
如果插件已發佈至 npm,可使用 CLI 安裝:
dsh plugin --profile web add dsh-skill-evolution
本地開發安裝¶
- 克隆倉庫:
git clone https://github.com/VanadisGithub/dsh-skill-evolution.git ~/Code/dsh-skill-evolution
- 修改
~/.dsh/profiles/web/package.json,添加依賴:
"dsh-skill-evolution": "link:/Users/<you>/Code/dsh-skill-evolution"
- 在
~/.dsh/profiles/web目錄下運行pnpm install。
手動掛載(調試用)¶
將插件文件放入指定目錄,並修改 ~/.dsh/cordis.patch.yml:
- insert:
- id: 'skill-evolution'
name: file:///Users/<you>/.dsh/plugins/skill-evolution/plugin.mjs?v=1
config:
minToolCalls: 5
minPatternOccurrences: 3
autoRegister: true
llmProvider: deepseek
llmModel: deepseek-chat
注意:以上三種方式請選擇其一,重複掛載會導致雙重實例。
工作原理¶
信號檢測¶
插件在回合結束時檢查三種信號:
* complex:成功回合且工具調用次數 ≥ minToolCalls(默認 5)。
* recovered:回合成功,但包含失敗步驟後恢復。
* repeated:相同的工具序列重複出現 ≥ minPatternOccurrences(默認 3)次,且成功率 ≥ minSuccessRate(默認 0.7)。
* 佐證門控:默認情況下,單一的 complex 信號會被攔截,直到出現 recovered 或 repeated 佐證。
審查與決策¶
審查 LLM 接收信號、意圖和工具序列等信息,返回以下之一:
* SAVE:結晶新技能。
* FOLD_INTO:合併到現有技能(語義去重)。
* NOTHING_TO_SAVE:不保存(如環境依賴失敗)。
輸出格式¶
結晶的技能以 SKILL.md 格式存儲,包含標題、使用場景、步驟、陷阱和驗證方法。
設置與使用¶
安裝後,在 DSH 的設置面板中會出現 “Skill Evolution” 部分。這裏可以:
* 查看已結晶的技能卡片(包含價值評級、版本、調用次數)。
* 調整結晶和改進的系統提示詞。
* 直接修改配置參數(如 minToolCalls、skillLanguage 等),設置中的修改會持久化並覆蓋掛載配置。
注意事項¶
- 硬性不捕獲列表:插件內置了不捕獲列表,防止結晶如“工具 X 已損壞”等負面聲明或環境依賴錯誤。
- 依賴限制:插件主機端僅依賴 Node.js 內置模塊 (
node:),不引入外部依賴。 - 許可證:插件採用 MIT 許可證。
總結¶
dsh-skill-evolution 通過信號機制和 LLM 審查,實現了智能體技能的自動化提取與持續進化。它適合希望減少重複勞動、提升智能體複用率的開發者。完整文檔與源碼可參考 GitHub 倉庫。