内容提要
dsh-subagents是DeepSeek Harness的插件,通过Markdown文件定义子代理角色,支持模型或CLI驱动、热加载和管理界面。它委派任务给廉价模型,降低推理成本达72%,保持主模型上下文清晰,并集成外部CLI工具,提升效率。
延伸解读
成本节省的量化依据
文章引用了OpenRouter的定价对比和ICML论文的数据,指出动态路由可降低72%的推理成本,而任务完成率仅下降不到3%。这为使用子代理委派任务提供了量化支撑,但需注意这些数据来自特定场景,实际节省取决于任务类型和模型选择。
上下文管理的实际收益
子代理的核心优势之一是保持主模型上下文清晰。通过将测试、审查等杂务委派给子代理,主模型只需接收结果摘要,避免被大量中间输出淹没。这类似于清理办公桌,让主模型专注于核心推理,提升响应速度和准确性。
CLI驱动的生态整合
CLI驱动模式允许将外部命令行工具(如agy、claude)作为子代理,使DeepSeek Harness能间接调用Gemini、Claude等模型。这种设计不限制具体CLI,扩展了能力边界,但需注意CLI角色在前台运行,可能阻塞主对话。
质量与成本的权衡待验证
文章指出,廉价模型在子代理任务上的表现差异缺乏精确数据。虽然成本节省明显,但质量损失尚未量化。用户需根据实际任务评估是否值得,目前只能确定委派杂活至少能节省主模型处理这些任务的token消耗。
Q&A
dsh-subagents插件是什么?它有什么作用?
dsh-subagents是DeepSeek Harness的一个插件,允许用户用Markdown文件定义子代理角色(如代码审查员、测试编写员),这些角色会变成主模型可调用的工具,从而委派任务给专门的模型或CLI,节省成本并保持主模型上下文清晰。
dsh-subagents如何降低AI推理成本?
通过将简单任务委派给便宜的模型(如glm-5.3-flash),主模型只处理核心推理,避免为杂活支付高价token。文章引用AgentRouter论文称动态路由可降低72%成本,任务完成率仅下降不到3%。
dsh-subagents支持哪两种运行模式?它们有什么区别?
模型驱动(Model-backed)和CLI驱动(CLI-backed)。模型驱动通过DSH调用指定模型路由,可在后台运行;CLI驱动直接执行外部命令行工具(如claude、agy),始终在前台运行。
dsh-subagents与ZCode的主要区别是什么?
区别有三点:dsh-subagents支持将外部CLI作为子代理,而ZCode不支持;dsh-subagents支持热加载(修改定义后无需重启会话),ZCode需要;dsh-subagents以文件为配置源,ZCode有专门设置界面。
如何用dsh-subagents创建一个子代理角色?
在~/.dsh/agents/目录下创建Markdown文件,文件头部用frontmatter定义角色属性(如name、description、model、tools等),正文写系统提示词。保存后插件自动注册为agent_*工具,主模型即可调用。
dsh-subagents的热加载功能有什么好处?
修改角色定义文件后,无需重启会话或刷新页面,下一轮对话即可生效。这方便用户实时调整角色提示词,提高开发效率。
dsh-subagents的活动面板有什么作用?
活动面板实时显示子代理的运行状态,包括角色名、任务内容、耗时、阶段和结果预览。右下角有角标提示运行中的子代理数量,点击可打开面板。记录跨会话持久化,便于调试和复盘。
dsh-subagents如何集成外部CLI工具?
在角色定义文件的frontmatter中设置cli字段,例如cli: agy或cli: claude,插件就会在调用时启动对应的命令行工具。这样主模型可以通过子代理间接使用Gemini、Claude等模型。
dsh-subagents的编排器角色有什么特别之处?
编排器角色不亲自执行任务,而是制定执行计划并指示其他角色执行。主模型只需调用编排器一次,它就能调度整个团队,实现复杂多步任务的自动化。
dsh-subagents的CLI驱动模式如何处理兼容性问题?
插件运行器检测到某些思考模型不支持--effort参数时,会自动去掉该参数并重试一次,无需手动处理。