给运行中的 AI 智能体「改道」(不用重启)
你给了智能体一个任务。二十秒后,你想起一个会改变一切的细节。 过去你的选择都不好:打断它、丢掉进度,或者干坐着等它跑完。
每个智能体界面都会撞上这个问题,业界的答案也在趋同。Claude Code 会把你输入的消息注入当前回合;Codex CLI 把按键分开:Enter 改道,Tab 排队;Warp 默认排队,还给队列做了一套完整 UI。它们都在围绕同样的三个原语打转:
- 打断 —— 立即停下,保留已完成的部分。粗暴,但有时是对的。
- 排队 —— 当前任务结束后再执行我的消息。安全,但慢。
- 改道 —— 在任务运行中把我的消息揉进去。
Tron 三个都有,而第三个最值得展开讲,因为把它做对比看起来要微妙得多。
改道到底做了什么
Tron 的智能体在一个循环里工作:请求模型、执行选定的工具、读取结果、重复。 改道消息不会打断其中任何一步 —— 它在下一次循环开始时、下一次模型调用之前, 作为一条用户更新被送进正在进行的对话。模型会在恰好能采取行动的位置看到你的补充, 而它的全部工作上下文都完好无损。
具体操作:智能体工作时按 ⌥⏎(普通 ⏎ 是排队)。
消息以「steering update」的形式出现在对话流里,智能体的计划在下一步随之调整。
不重启,不丢进度,不用把任务重新讲一遍。
队列是另一半
改道适合修正方向。真正的新工作 ——「做完之后顺便更新一下 changelog」—— 应该排队。关键在于:一个管不了的队列是个隐患,所以 Tron 的队列是一个真正的列表:
- 拖拽排序。
- 点击任意一条,原地编辑。
- 把某一条立刻发出去(它会转成一条改道消息)。
- 输入框为空时按
esc,最新一条弹回输入框继续编辑。 - 手动停止智能体会让队列暂停并明确显示出来 —— 你按了停止之后,不会有任何东西在背后偷偷执行。
成败在边界情况
这里大部分工程量都花在失败路径上,而不是顺利路径:
- 改道晚了?如果任务在消息送达前就结束了,它会降级到队列最前面,而不是消失。
- 排队的提示带着图片?附件跟着提示一起走完整个队列。
- 你正在编辑某条排队消息时任务结束了?队列会等你编辑完再动。
- 经典 bug:排队的提示悄无声息地永远不执行。Tron 只在运行真正开始后才把提示移出队列 —— 启动被拒绝就重新入队重试。
为什么不直接打断?
因为对智能体来说,打断很贵。模型会丢掉工作状态;下一次运行要重新读终端、 重新规划,经常还要重做一些步骤。三十秒的小任务无所谓; 但一个已经把项目搭好、正在接线的任务,改道能保住一切,代价只是一句话。
智能体把目标搞错了,就打断。目标对但缺一个细节,就改道。 你想到的其实是第二个任务,就排队。
试试看
改道功能随 Tron 1.8.2 发布 —— 免费开源,云端和本地模型都支持。