队列引导:Agent 忙的时候,新消息怎么办?
当 Agent 正在处理一个任务时,用户可能又发来新消息。OpenClaw 不能简单粗暴地全部打断,也不能全部忽略。
队列引导就是处理这个问题的机制。
一个生活例子
你正在厨房煮汤,家人又喊:
text
顺便切个水果。你有几种选择:
- 立刻停下锅里的汤。
- 先记下来,等汤好了再切。
- 如果是“煤气漏了”,马上中断。
- 如果只是“再加点盐”,合并到当前任务。
Agent 处理消息也是类似的。
常见处理方式
| 方式 | 含义 |
|---|---|
| steer | 把新消息作为方向调整,影响下一步 |
| queue | 排队,等当前任务结束后处理 |
| followup | 作为后续补充问题 |
| collect | 收集多条消息后一起处理 |
| interrupt | 中断当前任务 |
不同通道、不同 Agent、不同任务,适合的策略不一样。
它不会随便打断工具
如果 Agent 正在执行一个工具调用,比如写文件、调用浏览器、运行命令,OpenClaw 通常不会在最危险的中间点硬切。
更合理的做法是在运行时边界处理:
text
当前工具调用完成
检查有没有新消息
决定引导、排队或中断
继续下一步这样更不容易把任务做一半做坏。
哪些消息应该 interrupt?
适合中断的通常是紧急消息:
- “停,不要继续了。”
- “刚才那个命令错了。”
- “不要发给那个群。”
- “取消这次操作。”
普通补充信息更适合 steer 或 followup。
新手理解重点
队列引导不是一个你每天都要手动配置的功能。 它是 OpenClaw 让长任务更自然、更安全的一层机制。
当你看到 Agent 在忙时仍能理解后续消息,背后就可能有队列引导在工作。
