前言¶
在 DeepSeek Harness (DSH) 的工作流中,直接询问智能体“你的看法”通常只能得到单一维度的结论。由于缺乏外部压力,智能体往往会倾向于寻找支持其初始观点的论据,导致结论缺乏对抗性。
dsh-debate 通过引入正式的辩论机制来解决这一问题。它将一个问题拆解为“正方”与“反方”两个对抗性子智能体,两者分别进行独立研究并辩论,最后由主智能体根据辩论记录进行裁决。
插件定位¶
dsh-debate 是 DeepSeek Harness 的工作流插件。其核心价值在于让智能体从“自我陈述”转变为“对抗性论证”。
- 维护者:shlouai
- 许可证:MIT
- 定位:通过对抗性子智能体解决智能体回答问题的单一视角问题。
核心功能¶
该插件提供三个核心工具来控制辩论流程,并将辩论结果封装在 Web UI 卡片中展示。
- debate_open:启动辩论。它固定议题(motion)和轮数(round count),并返回一个
debate_id。 - debate_round:执行一轮辩论。顺序执行:先由一个全新的 FOR 子智能体发言,随后由一个针对前文进行反驳的 AGAINST 子智能体发言。
- debate_verdict:给出裁决。主智能体进行逐轮复盘,给出最终胜负(pro/con/draw)及理由,并关闭辩论。
关键特性¶
- 对抗性子智能体:正反双方是独立的子智能体,互不可见,专注于赢得辩论。
- 研究能力:默认工具集包含
read、glob、grep、web_search、web_fetch,支持对代码库或网络信息进行核查。 - 只读机制:由设计决定,辩论过程中任何工具均无法写入文件或执行命令。
- 优雅降级:如果部署环境中缺少某些工具(如未配置 Web 搜索凭证),工具会从列表中移除并记录日志,而不是导致辩论崩溃。
- 零 footprint:作为 bundle 安装,不会修改 DeepSeek Harness 的源码或安装目录。
- Web UI 卡片:支持在 Web UI 中以折叠卡片形式展示,且刷新页面后卡片状态会恢复。
安装与启用¶
插件可以通过官方命令直接安装到 web profile。
dsh plugin --profile web add @shlouai/dsh-debate
前置条件:
* Node.js 版本需为 ^22.19 或 >=24。
* 安装 pnpm。
典型用法¶
安装完成后,启动 profile 并输入自然语言指令即可触发辩论。
dsh --profile web
在交互中输入:
Debate whether we should replace our REST API with gRPC. Two rounds.
插件会自动拆分为两个子智能体进行两轮辩论,最后由主智能体给出裁决。
设计与限制¶
- 依赖环境:插件依赖 DeepSeek Harness 的源码 checkout(除非该插件位于 harness 的兄弟目录中)。
- 工具依赖:辩论工具依赖于
read,glob,grep,web_search,web_fetch等基础工具。 - UI 限制:卡片仅在 Web UI 中可用,但在 Headless 模式下工具本身仍可正常工作。
参考资料¶
- GitHub 仓库:https://github.com/shlouai/dsh-debate
- 插件目录:https://www.skillhub.cn/plugins/shlouai/dsh-debate