用 DeepSeek Harness 的 Router Standard 预设跑了几天,Pro 和 Flash 都试了,说点实话。
先说什么问题。同一个模型,修 bug 时严谨得离谱,让它从零写个新功能,却经常交一份"看起来对"的半成品;任务换一下,表现又反过来。以前以为是抽卡,后来才知道是提示词条件化在换挡,模型行为不是连续的,是分档位的,中间地带是陷阱区。
Router Standard 做的事就一件:读完第一条消息,判断任务是"修"还是"建"、简单还是复杂,然后在第一次请求注入对应的 persona 和首轮工具集。spec 档(计划型)给 read 优先,react 档(执行型)给 write 优先;第一个工具调用后就放开全量工具,路由不再插手,会话恢复也不丢档。
实测数字(仓库 P1-P30 的实验):
- 行为沿 persona 轴坍缩成三档:spec 0-0.19 稳定计划态,0.2-0.49 是混合陷阱区(设计上永不自动选),0.5-1.0 稳定执行态
- 按模型自动匹配 persona:Pro 走 spec 句+分类指令,20 轮路由 98%;Flash 走 neutral+锚定,96%。同一套配置两个模型不通用
- 多轮靠"重新分类"防稀释,后半段 20/20 不跑偏
- 开放任务完成率从 0% 拉到 100%,复杂任务的胡思乱想(环境怀疑、重复确认)压到 0.0-0.3%
日常最明显的感受是"换挡感"没了:新会话第一句就定档,中途不会被无关的话带跑。配 dev_router_status 看当前档位、dev_router_mode 手动切(数字会量化到三档)、dev_mode_subagent 隔离跑别的模式,排查"这轮怎么这么飘"很方便。
坑也如实说:mixed 中间档是真陷阱,别手动切进去;同一文件连续修/加的相关任务链,所有引导都是负效应(P21 实验里也翻车了);评测 n=2-3,96% 和 88% 可能是同一次采样;硬收敛锚会催停复杂任务的探索,现在按复杂度分派引导,但深度和速度的分配还在调。
想试的:github.com/yjh051108/dsh-router-standard,装完重启 DSH,新会话选 Router Standard (experimental)。论文和 P1-P30 全数据在仓库 docs/ 下。