前言¶
在 DeepSeek Harness (DSH) 开发中,智能体常因输入信息不足而自信地构建错误的东西。如果没有 Ask First 插件,智能体会凭运气选择用户、信息层级、权限和成功标准。Ask First 使用 DSH 的原生问题对话框,通过自适应产品发现循环来解决这个问题。它检查现有仓库和产品状态,仅在证据无法解决的决策上采访用户,并在实质性工作开始前显示简明的需求摘要以供确认。
它是什么¶
dsh-ask-first 是一个客户端插件,维护者为 1052326311。它解决的是智能体在没有明确需求细节时盲目执行的问题。它通过使用 DSH 原生对话框进行面试、仅在实质性歧义时提问、显示简明需求摘要以及支持低风险请求直接运行,来防止智能体构建错误的东西。
核心功能¶
- 使用 DSH 的原生问题对话框 (
ask_user_question)。 - 自适应产品发现,仅在实质性歧义时提问。
- 在实质性工作开始前显示简明的需求摘要以供确认。
- 低风险请求直接运行,无需面试。
- 通过
exit_plan_mode与 DSH 计划模式集成。
安装与配置¶
安装插件:
dsh plugin --profile default add dsh-ask-first@0.1.1
配置项(需覆盖时需重新声明):
| 设置 | 默认值 | 含义 |
|---|---|---|
mode |
adaptive |
adaptive 仅在实质性歧义时提问;thorough 对所有实质性工作进行面试;on-demand 仅在请求时激活。 |
maxQuestionsPerRound |
3 |
每轮原生对话框的最大问题数(1 到 3)。 |
confirmBrief |
true |
在实质性执行前显示最终摘要供批准。 |
briefMaxChars |
12000 |
确认工具接受的最大摘要大小(1000 到 30000 字符)。 |
典型用法¶
安装后,智能体会自动在 adaptive 模式下运行。
- 正常请求:
Make a lightweight CRM for my sales team.
- 显式请求面试:
Interview me before you design this. Do not assume the workflow.
- 显式跳过面试:
This is a tiny reversible change. Proceed without an interview.
适用场景与注意¶
- 需要一个具有活动
UserQuestionProvider的 DSH 界面(Web 应用提供)。 - 运行时拥有的子智能体无法直接向人类提问(必须返回给根智能体)。
- 待处理的原生问题会阻塞其工具调用,直到回答或取消。
- 自适应面试策略是模型引导的指导,不是硬突变守卫。
- 最小预设不包含
ask_user_question。
结语¶
dsh-ask-first 通过引入自适应的面试机制和需求确认,帮助开发者控制智能体的执行路径。更多细节可查看社区目录或 GitHub 仓库。