在 DeepSeek Harness(DSH)开发智能体时,大型任务常面临循环成本高、上下文溢出或工具结果堆叠的问题。针对不同任务类型(如读取、重构、前端改动)缺乏差异化控制,通常需要依赖模型自身或静态配置。YuXuanLiang-dev 发布的 dsh-plugin-adaptive-agent-policy 插件,在不改变底层模型和工具调用方式的前提下,通过自适应任务路由、循环预算与渐进式裁剪,控制提示词与输出上限。
核心能力¶
- 多语言任务路由:插件内置
read、small、frontend、large、batch五种任务类别。路由判断基于文本分析,不发起 LLM 调用。 - 第二层风险路由:在软检查点运行,从九类风险(如
boundary、security、concurrency)中筛选一个高置信度且尚未覆盖的检查项。 - 独立预算控制:为每个任务类别配置独立的“最大输出 token”、“软检查步骤”与“纯文本硬终步”。
- 非持久化状态:策略状态存储在非持久化的 system section 中,不向会话历史追加消息,避免输入累积。
- 渐进式裁剪:根据步骤数或上下文压力选择
moderate、tight、critical三种裁剪等级,保护近期工具结果。 - 配置边界:对外仅暴露一个插件配置项,包内增强裁剪器使用独立服务名,不与 DSH 上游静态裁剪器冲突。
安装与启用¶
在 web Profile 下安装插件:
dsh plugin --profile web add dsh-plugin-adaptive-agent-policy@next
安装后检查组合结果并启动:
dsh --profile web --dump-config
dsh web
插件会自动安装包内的增强裁剪服务。如需调整风险路由器的保守程度,可在 cordis.patch.yml 中覆盖配置项:
- id: adaptive-agent-policy
config:
riskRouter:
enabled: true
minimumScore: 4
注意事项¶
文本路由可能保守地误判含糊任务,有意不增加路由模型调用。风险路由器是启发式证据选择器,不是完整静态分析或安全审计。rc.2 及更早版本写入的旧策略通知仍存在于原会话历史,rc.3 不再产生新的策略历史消息。阶段切换会改变 system header,可能造成该次请求的缓存前缀失配。字符裁剪不等于精确 token 裁剪,也不会理解被裁剪内容的语义重要性。纯文本硬终步能限制失控循环,也可能截断确实需要更多工具步骤的任务。
总结¶
该插件通过在系统提示词层面施加差异化控制,帮助缓解大型任务的上下文膨胀与无效循环。