dsh-error-improvement:將用戶確認的經驗轉化爲持久化智能體記憶

前言

在 DeepSeek Harness (DSH) 的開發中,避免智能體重複犯錯並複用成功的經驗是提升魯棒性的關鍵。傳統的記憶機制往往依賴外部服務或缺乏明確的確認流程。dsh-error-improvement 插件直接解決了這一痛點:它將智能體運行中產生的結果轉化爲持久化記憶,要求用戶確認後才生效,從而將“錯誤”轉化爲預防規則,將“驗證過的修復”轉化爲配方,並最終將經過實戰檢驗的條目升格爲獨立技能。

插件定位

這是一個 DeepSeek Harness 插件(所有者:wbushihenshuai-design)。它是一個獨立於 EverOS、內存服務、數據庫、瀏覽器和網絡 API 的純文件存儲系統。所有持久化狀態都保存在 $DSH_HOME/error-improvement/ 目錄下的純 Markdown 文件中。插件採用“安全協議”,只有當 confirmed: true 時才注入記憶,確保智能體不會靜默寫入未經授權的輸出。

核心功能

下面介紹插件的核心工作流程和機制。

1. 捕獲與確認

  • 零 LLM 捕獲:插件監聽工具執行結果,將錯誤和結果直接隊列化到 candidates.jsonl,不經過 LLM 隊列。
  • 受控蒸餾:當隊列達到 capture.minQueueSize 且間隔滿足 capture.minIntervalMs 時,LLM 被激活用於生成草稿,草稿存放在 drafts/ 目錄。
  • 用戶確認:草稿不會靜默寫入記憶。它們首先出現在 Settings → 錯誤改進 → 待確認草稿 中。用戶可以批准或拒絕。
  • 例外工具:智能體可以通過調用 improve_record_recipe 工具來持久化一個已經驗證過的解決方案,這屬於例外情況。

2. 注入與記憶

  • 三種模式:
    • assist(默認):注入與當前上下文相關的經驗作爲建議。
    • strict:注入所有已確認的經驗作爲規則。
    • off:僅捕獲,不注入。
  • 渲染規則:注入的文本經過控制字符清理和角色標籤編碼(轉義 < 和 >),並以原子方式渲染(整個塊若超出字符預算則完全省略,不截斷)。
  • 來源標識:注入的內容使用插件來源(form: instructions),並包含遞歸保護(<SUBAGENT-STOP>)。

3. 錯誤預防(強制規則)

  • 重複錯誤檢測:插件監聽 tools/post-execute,統計相同的失敗模式(工具名+歸一化錯誤簽名)。
  • 升格爲規則:當失敗次數超過 enforcement.threshold(默認 3)時,該錯誤被提升爲運行時規則。
  • 攔截機制:在 tools/pre-execute 階段攔截匹配的調用:
    • warn(默認):在冷卻期內攔截,顯示原因並允許重試。
    • deny:直接阻斷調用。
  • 失敗開放:每個鉤子和文件/LLM 操作都設計爲“失敗開放”,插件錯誤不會阻塞工具管線或智能體循環。

4. 配方與技能升格

  • 配方:通過 improve_record_recipe 工具保存的驗證解會進入 recipes.md,與經驗共享相關性引擎。
  • 技能升格:獲得 hit(命中次數)的條目會成熟。達到 graduation.minHits(默認 3)的條目會被提議爲技能。批准後,它們會作爲 $DSH_HOME/skills/<slug>/SKILL.md 文件寫入磁盤。

安裝與啓用

插件目標版本爲 DSH 2.0.15+(需要 Node 22.19+ 或 24+)。它通過 profile 的配置文件啓用,而非傳統的 npm 安裝命令(事實中未提供具體安裝命令,需通過目錄或包管理器部署後配置)。

配置文件位於 ~/.dsh/profiles/<profile>/cordis.patch.yml。通過聲明 Schemastery schema 來啓用插件。

典型用法

  • 查看草稿:進入 Settings → 錯誤改進 → 待確認草稿,查看並處理待確認的條目。
  • 工具操作:在智能體會話中調用 improve_review_drafts 工具來列出和操作草稿。
  • 記錄配方:在解決問題後,調用 improve_record_recipe 工具將解決方案持久化爲配方。
  • 候選隊列:結果會自動轉化爲 candidates.jsonl 中的條目。

適用場景與注意

  • 適用場景:需要長期記憶、防止智能體重複犯錯、希望將驗證過的流程固化爲技能的場景。
  • 注意:
    • 權限:插件以當前 DSH 進程權限運行,安裝前應檢查源碼和許可證。
    • 數據遷移:舊版本(0.2.x)的設置不會自動遷移到新的 cordis.patch.yml,需要手動配置。
    • 數據存儲:所有數據存儲在本地文件系統,不依賴 EverOS 或其他服務。
    • 清理:存儲的文本會進行控制字符清理,文件寫入採用原子操作(先寫臨時文件再重命名)。

總結

dsh-error-improvement 提供了一套從“錯誤捕獲”到“用戶確認”,再到“注入預防”和“技能升格”的完整閉環。它通過強制確認機制保證了記憶的質量,通過文件存儲保證了獨立性,適合追求高可靠性、可複用性的 DSH 智能體開發。

GitHub 倉庫

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜