开源dsh-jev:Jev为DeepSeek Harness提供决策层的插件

开源dsh-jev:Jev为DeepSeek Harness提供决策层的插件

💡 原文中文,约4200字,阅读约需10分钟。
📝

内容提要

TypeSafe AI 推出 Jev 模型,不生成文字,仅做结构化判断,输出 Choice、Score、Noul 三类带概率答案以避免幻觉。插件 dsh-jev 将其接入 DeepSeek Harness 的 tools/pre-execute 等扩展点,在智能体调用危险工具前自动决策,按 deny>hold>ask>allow 单调顺序拦截。测试中 31 次删除尝试全被阻止,但每轮增加约 4.6 秒延迟,且无缓存、无记忆,阈值边界仍存风险。

🔎

延伸解读

概率与置信度:别把权重当频率

Jev 返回的 Choice 结果包含概率分布和置信度两个数字,它们不是一回事。概率是模型在所有选项中对某个标签的权重分配,置信度是模型对该判断的确定程度。开发者容易将“删除概率 0.06”误解为现实世界中删除行为发生的频率,但实际只是模型内部的权重。这种误读可能导致错误的阈值设定,进而影响决策安全。

无缓存设计:安全与延迟的权衡

dsh-jev 坚持每次工具调用都重新评估,不缓存审批结果。这消除了“一次批准,永久通行”的风险,也防止智能体利用缓存窗口执行参数篡改后的恶意调用。但代价是每轮增加约 4.6 秒延迟,且无记忆能力,智能体无法从连续拒绝中学习。在 DSH 允许动态挂载插件的架构下,不缓存封死了通过插件绕过检查的路径。

拦截成功背后的盲区

测试中 Jev 拦截了全部 31 次删除尝试,但智能体并未“学会”放弃,只是反复撞墙。更关键的是,这些拦截全部发生在 tools/pre-execute 钩子上。如果智能体通过插件间接调用文件系统,或在 agent/pre-step 阶段将删除逻辑写入请求上下文,该钩子能否拦截,文档没有数据。这个空白比拦截成功本身更值得关注。

❓

Q&A

dsh-jev 插件是什么?它如何为 DeepSeek Harness 提供决策层?

dsh-jev 是一个为 DeepSeek Harness (DSH) 智能体框架提供决策层的插件。它把 TypeSafe Jev 模型绑定到 DSH 的扩展点(如 tools/pre-execute、agent/pre-step 等),在智能体调用危险工具前自动让 Jev 做出结构化判断(Choice、Score、Noul),并根据概率和预设阈值决定是否拦截。

Jev 模型和普通大模型有什么不同?为什么它不会产生幻觉?

Jev 模型不生成任何文字,只接收状态描述和预定义问题,返回带概率的结构化答案,格式只有三种:Choice(从选项中选择)、Score(等级打分)、Noul(是/否判断的概率)。因为输出空间被提前锁死,它不可能产生幻觉,只会给出概率分布,具体含义由代码解释。

dsh-jev 在拦截危险工具调用时的决策顺序是怎样的?

dsh-jev 采用单调顺序:deny > hold > ask > allow。所有监听器先调用 next(),然后按此顺序组合,后续策略永远不会被跳过。代码永远不能从 Jev 获得比现有权限更大的许可,Jev 只能收窄权限,不能放宽。

dsh-jev 的测试效果如何?拦截率有多高?

在 Kubernetes 网络支持场景的对比测试中,无 Jev 介入时智能体在 10 次运行中有 4 次成功执行删除受保护审计跟踪的命令;有 Jev 介入时,智能体在 10/10 次运行中都试图删除,Jev 拦截了全部 31 次尝试,零执行。

使用 dsh-jev 会带来哪些性能开销?

Jev 的介入带来约 +4.6 秒/轮的额外开销,针对 3 个决策。该数据来自 mock 模式基准测试,真实 API 调用延迟更高。TypeSafe 官方给出的 Jev 延迟范围为 70–500 毫秒,可能导致原本 30 秒完成的任务延长至 45 秒。

dsh-jev 为什么不对审批结果进行缓存?

dsh-jev 刻意不缓存审批结果,每次调用都重新评估。这是为了避免智能体利用缓存窗口执行参数被篡改的恶意调用,也防止智能体先申请无害插件批准后修改其行为。代价是延迟和 API 成本增加,收益是没有任何调用能绕过完整检查。

Jev 返回的概率和置信度有什么区别?为什么容易误读?

概率是模型在所有选项中对某个标签分配的权重,置信度是模型对该判断的确定程度。例如 Jev 选择“攻击”的概率为 95%,置信度为 93%。开发者容易将“删除概率 0.06”误解为现实世界中删除行为发生的频率,实际上它只是模型分配给“删除”标签的权重。

dsh-jev 存在哪些局限性或潜在风险?

dsh-jev 没有缓存和记忆,每次调用都重新评估,导致延迟和成本增加;阈值边界存在风险,如 0.79 和 0.81 的差别可能对应灾难与安全;测试中 31 次拦截全部发生在同一个 tools/pre-execute 钩子上,如果智能体通过插件间接调用文件系统或在 agent/pre-step 阶段写入删除逻辑,该钩子能否拦截尚无数据。

🏷️

标签

➡️

继续阅读