DeepSeek Harness Hub
← 返回列表

轨迹消融调试器Ardig24/dsh-trajectory-ablation

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
✓ 可直接安装

重建并消融上下文,定位 agent 失败的真实原因

自动检查通过:npm 包已发布且 engines 声明满足基线;该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/8/26 · 已提供中文文档

通过重建、对比和消融其上下文来找出智能体故障的真正原因——一个 DeepSeek Harness 插件。

综合分
33.6
GitHub 分
33.6
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-trajectory-ablation
npm 包 dsh-trajectory-ablation 已校验归属本仓库,走 npm 安装最省事
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包dsh-trajectory-ablation @ 0.2.0
Node 引擎未声明 engines.node
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 07:10:04

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-commands@deepseek-ai/dsh-llm@deepseek-ai/dsh-session
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-trajectory-ablation

一个调试器,用于找出 agent 失败的实际原因,而不是靠猜测。

这是一个 DeepSeek Harness 插件,它能精确重建你的 agent 在给定步骤之前所看到的内容,将其与另一步骤进行 diff,并且——最重要的是——通过移除某段上下文并真实地重放同一个模型调用来证明究竟是哪段上下文实际导致了某个决策。

完整的设计理由见 trajectory-ablation.md。

为什么

当 agent 做错事时,大多数工具会给你看一份对话记录让你猜,或者让 agent 自我解释——而这不过是同一个模型在对自己过去的决策编造一个听起来合理的故事,并非经过验证的事实。本插件用可核查的东西取代了这两种做法:

1. 重建(Reconstruct)——模型在某一步之前所看到的全部内容的精确、完整列表,按来源分组。不调用模型,只是读取日志。
2. Diff——两个步骤之间发生了什么变化:新增、移除、压缩或重排。不调用模型。
3. 消融(Ablate)——一次移除一段上下文,并真实地重放模型调用,每段执行 k 次。如果移除某段内容改变了决策,那它就是原因。如果没有改变,那它就是无关的旁观上下文。
4. 交互筛查(Interaction screen)——针对单块消融无法发现的情况:两块内容各自单独都无影响,但共同导致了该决策。测试每一对是二次复杂度的,因此这里改为随机采样若干子集,当某个子集翻转了决策时,再通过增量调试(delta-debugging)缩小到最小的责任组。它不会找出所有这类配对,但成本保持线性而非二次。

安装

在你的 DeepSeek Harness profile($DSH_HOME/cordis.patch.yml)中挂载它:

- insert:
- id: trajectory-ablation
name: 'dsh-trajectory-ablation'

然后在你的 profile 目录中运行 pnpm install 并重启。更完整的操作说明见 cordis.patch.yml.example。

用法

挂载后,任意会话中都有四个命令可用:

/context-reconstruct                            — 模型在这一步之前看到了什么?
/context-diff                   — 两个步骤之间发生了什么变化?
/ablate   [k] [maxCalls|inf]                     — 究竟是哪一块内容实际导致了这一决策?
/ablate-interactions   [trials] [maxCalls|inf]  — 当 /ablate 找不到原因时运行:它是一对内容吗?

/ablate 和 /ablate-interactions 在预计超过 50 次真实模型调用时都会拒绝运行,除非你提高 maxCalls(或传入 inf 来禁用上限)——每次调用都是真实的、计费的请求,因此成本绝不应成为意外。

或者以编程方式使用——reconstructContext 和 diffContext 只需要一个会话的事件日志(无需实时模型连接);ablateStep 和 screenForInteractions 则需要实时的 ctx.llm:

markdown
import { reconstructContext, diffContext, ablateStep, screenForInteractions } from 'dsh-trajectory-ablation'

无需实时会话即可试用
bash
npm install
npm run demo

针对一个脚本化示例(一个过时的 README 误导 agent 编辑了错误的文件)运行完整流水线,无需 API 密钥。

开发
bash
npm install
npm run build       # 编译
npm run typecheck   # 仅类型检查
npm test            # 运行测试套件

许可证

MIT — 参见 LICENSE。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群