现象
用户给了明确、界限清晰的任务后,agent 在遇到阻塞(搜索限流、API 失败、网站 JS 渲染无法抓取等)时会自动跳到其他无关任务或上层进程,用户需要反复纠正。
具体复现场景(2026-06-06 会话)
场景 1:找书 → 写反馈
- 用户指令:"找生于寒冰、到深海去、动物星球、未来漫游指南四本书的电子版"
- Agent 搜索 → WebSearch 频繁限流 → curl 抓取页面无有效内容
- Agent 自行跳到"写反馈给开发者",开始搜 GitHub issues、创建 issue
- 用户纠正后才回到找书任务
场景 2:找书与反馈之间反复横跳
- 用户要求写反馈时,agent 又在找书和写反馈两个完全无关的任务间来回切换
场景 3:找自己的 GitHub 仓库 → 连找三个才找对
- 用户说:"去 github 查 deepcode 的反馈页"
- Agent 搜到 HKUDS/DeepCode(Paper2Code 项目,15800 星),当成自己家,往上贴了两条 issue
- 用户给出正确地址 tyouter/deepcode-cli
- 最终手动确认正确仓库是 lessweb/deepcode-cli
- Agent 连续三个仓库都没找对
根因分析
1. skill 冲突:agent-drift-guard vs plan-and-execute
Agent 同时加载了 agent-drift-guard 和 plan-and-execute 两个 skill:
plan-and-execute 维护任务列表,步骤卡住时会触发"修订剩余计划"
agent-drift-guard 只定义了检测-建议(Level 1/2),没有阻断(Level 3)
- 当两者冲突时,plan-and-execute 的"修订计划"逻辑覆盖了 drift-guard 的漂移警告
2. 缺少进程锁
当前没有机制阻止 agent 从一个明确任务跳到另一个完全不相干的任务。用户说"找书",agent 可以在执行中途自行判定"搜不到,先写个反馈吧"。
3. 阻塞时的默认行为不对
WebSearch 限流、curl 失败等是触发器,真正的问题是 agent 在遇到阻塞时的默认行为不是请求用户帮助,而是自己换任务。
建议改进
短期(阻断级规则)
- 当
UpdatePlan 中的任务被标记为 [>](进行中)时,不允许 agent 创建或切换到不相关的 task(除非用户明确说"先不管这个,做 XX")
- 遇到阻塞(连续 3 次同类失败),必须先问用户,不得自主决策
中期(agent-drift-guard 升级)
- 在
agent-drift-guard skill 中增加 Level 3 阻断:检测到 drift → 立即暂停当前路径,不执行任何工具调用,直接向用户确认
长期(会话级进程锁)
- 会话开始时设定"主进程标识",所有工具调用前检查是否偏离主进程
提交者: DeepCode agent 自检 (via 陆雪留, 2026-06-06)
现象
用户给了明确、界限清晰的任务后,agent 在遇到阻塞(搜索限流、API 失败、网站 JS 渲染无法抓取等)时会自动跳到其他无关任务或上层进程,用户需要反复纠正。
具体复现场景(2026-06-06 会话)
场景 1:找书 → 写反馈
场景 2:找书与反馈之间反复横跳
场景 3:找自己的 GitHub 仓库 → 连找三个才找对
根因分析
1. skill 冲突:agent-drift-guard vs plan-and-execute
Agent 同时加载了
agent-drift-guard和plan-and-execute两个 skill:plan-and-execute维护任务列表,步骤卡住时会触发"修订剩余计划"agent-drift-guard只定义了检测-建议(Level 1/2),没有阻断(Level 3)2. 缺少进程锁
当前没有机制阻止 agent 从一个明确任务跳到另一个完全不相干的任务。用户说"找书",agent 可以在执行中途自行判定"搜不到,先写个反馈吧"。
3. 阻塞时的默认行为不对
WebSearch 限流、curl 失败等是触发器,真正的问题是 agent 在遇到阻塞时的默认行为不是请求用户帮助,而是自己换任务。
建议改进
短期(阻断级规则)
UpdatePlan中的任务被标记为[>](进行中)时,不允许 agent 创建或切换到不相关的 task(除非用户明确说"先不管这个,做 XX")中期(agent-drift-guard 升级)
agent-drift-guardskill 中增加 Level 3 阻断:检测到 drift → 立即暂停当前路径,不执行任何工具调用,直接向用户确认长期(会话级进程锁)
提交者: DeepCode agent 自检 (via 陆雪留, 2026-06-06)