前言¶
DeepSeek Harness (DSH) 採用插件化架構,智能體的技能、工具封裝、提示詞和策略通常需要人工維護。dsh-auto-evolve 是一個自演化插件,它通過觀察運行時信號,利用 LLM 提出改進方案,在沙盒中驗證,最後僅應用通過驗證的版本化變更,並支持自動回滾。
核心功能¶
插件運行在 DSH 進程上下文中,主要包含以下環節:
- 觀察:監聽
tools/result和agent/request-error信號,記錄工具失敗、重複調用無進展、請求錯誤等數據,當閾值觸發時啓動演化流程。 - 提議:基於基因組(技能、後處理器、提示詞片段、策略)和觀察數據,通過 LLM 生成變更候選。變更內容受到嚴格的 Zod 模式驗證,拒絕不符合語法的生成。
- 驗證:在沙盒中復現失敗場景,對比基線和應用變更後的指標(完成率、工具調用成本等),只有表現出改進才允許通過。
- 應用與版本管理:驗證通過的變更註冊爲技能或策略。插件維護一個版本化賬本,記錄每次變更的前後狀態。
- 回滾:如果應用變更後出現迴歸,支持立即回滾到上一版本。回滾是第一級公民功能。
- 成本控制:限制單次循環和每日的預算上限,防止在驗證階段消耗過多 Token。
安裝與啓用¶
插件以 DSH Bundle 形式提供,無需手動編輯 cordis.yml。安裝命令如下:
# 安裝到 web 配置文件(默認 UI 配置)
dsh plugin --profile web add dsh-auto-evolve
# 安裝到 TUI 配置文件
dsh plugin --profile tui add dsh-auto-evolve
本地開發或源碼構建時:
git clone https://github.com/lispking/dsh-auto-evolve.git
cd dsh-auto-evolve
pnpm install
pnpm build
# 安裝本地構建產物
dsh plugin --profile web add /absolute/path/to/dsh-auto-evolve
配置與模式¶
安裝後,插件會自動加載默認配置。如需自定義,需覆蓋配置文件中的行。注意:Patch 模式會替換整行配置,因此需要指定所有保留的字段。
配置文件路徑示例:~/.dsh/profiles/web/cordis.patch.yml
- id: self-evolve
config:
mode: auto-apply # observe | propose | auto-apply
observation:
toolFailureThreshold: 3
repeatThreshold: 3
requestErrorThreshold: 3
windowMs: 300000
proposal:
maxProposalsPerTrigger: 1
maxEpisodesPerProposal: 5
maxPromptChars: 24000
maxTokens: 2000
budget:
maxCostPerCycle: 0 # 0 表示禁用單循環上限
dailyBudget: 0 # 0 表示禁用每日上限
validation:
maxTrialMs: 30000
maxToolCalls: 20
maxTrialSteps: 12
maxTrialTokens: 8000
演化模式¶
| 模式 | 行爲 |
|---|---|
observe |
僅收集信號並觸發閾值,不進行提議。默認模式。 |
propose |
達到閾值時生成候選變更並持久化,等待手動批准。 |
auto-apply |
運行完整閉環:觀察 -> 提議 -> 驗證 -> 應用。若出現迴歸會自動回滾。 |
操作工具¶
插件向智能體註冊了以下工具,可用於檢查狀態或手動干預:
evolve_status:查看健康摘要,包括模式、代數、資產狀態、賬本/觀察總數、收斂暫停狀態等。evolve_candidates:列出等待驗證或手動應用的候選變更。evolve_apply:手動批准並應用一個候選變更。evolve_rollback:回滾一個已應用的資產,將其恢復爲候選狀態。evolve_cycle:手動觸發一次演化循環。
安全與注意事項¶
- 執行驗證:變更是否生效取決於沙盒中的執行結果,而非 LLM 的自我聲明。
- 詞彙表限制:LLM 僅在預設的閉合詞彙表(如
add/patch/retire)內生成內容,不會創造新的資產類型。 - 運行權限:插件以當前 DSH 進程的權限運行。在安裝前,建議檢查源碼以確認其行爲符合預期。
- 許可證:MIT。
總結¶
dsh-auto-evolve 解決了智能體資產維護中的反覆調試問題,通過自動化閉環降低維護成本。它提供了從觀察到應用的全鏈路能力,並通過沙盒和成本控制保障了穩定性。