初始上下文

产品/团队
Gumloop / AI Agent 平台
功能
Queue and Steer Agent Messages — 在 Agent 响应期间排队发送消息,并在处理间隙引导其行为
描述
当 Agent 正在执行任务显示"Responding..."时,用户不需要等待即可继续发送消息。消息进入队列并在 Agent 处理步骤间隙(如完成一个工具调用后)自动被拉取并自然融入对话。用户可以对队列中的消息进行编辑、排序、删除和重试,实现"不中断的实时引导"
动机
此前的 Agent 交互是"回合制"——用户说完等 Agent 完成,说完下一轮。长任务中用户想到补充信息必须等 Agent 跑完(可能 30+ 分钟),或打断重来(丢失进度)。Queue and Steer 让交互从"回合制"变为"实时协作式"
目标用户与痛点
(1) 执行长任务的用户需要中途补充上下文 (2) 发现 Agent 方向偏差时想在不中断的情况下调整 (3) 希望一次性排好多个任务让 Agent 按序处理
平台范围
Web 端
关键成功指标
排队消息使用率、任务中断率下降、长任务完成率提升

1. 概览

背景

Gumloop v9.7.0 发布 Queue and Steer Agent Messages。此前的 Agent 交互模型中,用户在 Agent 执行期间必须等待——输入框虽可见但消息会在 Agent 完成后才被处理。这对短对话影响不大,但对长时间运行的 Agent(v9.7.0 同时将 Subagent 运行上限延长至 1 小时)是重大体验瓶颈。

Queue and Steer 解决的核心问题:如何在 Agent 工作中途传递新信息而不破坏其已有进度

目标

  1. 消除等待:用户想到补充信息可以立即发送,不需要等 Agent 跑完
  1. 支持中途引导:在 Agent 方向偏差时及时调整,不丢失已完成的工作
  1. 保持上下文连贯:排队消息在自然断点注入,Agent 视其为恰好在那一刻发送的

2. 竞品分析

竞品 功能/行为 优势 劣势 洞察/机会
ChatGPT 可中途点击"停止生成" 即时中断 只能中断,不能引导;中断后需重新开始 Queue 是"非破坏性引导"
Claude Code 主 Agent 可继续对话,子 Agent 后台运行 并行工作 子 Agent 运行中不可中途引导 Queue 填补了"运行时引导"空白
Slack 消息自然排队,支持编辑和删除 用户心智模型成熟 不是 Agent 场景 交互范式的灵感来源
Zapier/Make 任务队列 + 错误重试 成熟的队列管理 无 AI 引导能力 Queue + AI = 智能排队

关键洞察:

  1. 交互范式的进化:从"回合制 AI Chat"进化到"实时协作 AI Co-pilot"。Queue and Steer 是这一步的交互基础
  1. Slack 式的消息队列心智模型:用户已经习惯了消息排队(在 Slack 中发多条消息不需要等对方回复),这种心智模型天然适合 Agent 场景
  1. 无竞品产品化:目前没有主流 Agent 平台提供完整的运行时消息排队和引导能力

3. 用户场景与故事

场景 1 — 数据分析师:长任务中补充遗漏

用户画像: 张敏,32 岁,电商数据分析师。经常让 Agent 执行 20-30 分钟的复杂分析。

用户故事: 作为数据分析师,我希望在 Agent 执行分析时可以立即补充"等一下,客户 A 的数据用 CNY 不是 USD",而不是等 Agent 跑完才发现用了错误币种。

验收标准:

场景 2 — 运营经理:一次性排列多个任务

用户画像: 陈立,28 岁,运营经理。需要 Agent 依次完成"拉取上周销售数据 → 生成对比图表 → 发布到 Confluence → 发 Slack 通知"。

用户故事: 作为运营经理,我希望在 Agent 开始工作后可以继续排队发送后续步骤的指令,让 Agent 一个接一个自动处理。


4. 用户流程与功能

模块 A:消息排队

ID 触发场景 系统行为 优先级
A1 Agent 正在响应中(显示"Responding..."),用户输入消息并发送 消息进入队列区域,显示在输入框上方,保持发送顺序 P0
A2 Agent 完成当前处理步骤(如一次工具调用返回结果) Agent 自动从队列拉取下一条消息,将其视为"此刻刚收到的新消息",自然融入对话上下文和后续处理 P0
A3 用户在队列中有多条消息 消息按发送顺序排列,Agent 一次处理一条 P0
A4 Agent 在队列消息被处理前完成了全部响应 未被处理的排队消息作为标准跟进消息递送 P1

模块 B:队列管理

ID 操作 系统行为 优先级
B1 编辑排队消息 点击队列中的消息可修改文本,在 Agent 看到之前更新内容 P0
B2 调整顺序 拖拽消息改变 Agent 的处理顺序 P1
B3 删除排队消息 在消息被递送前取消,消息不进入 Agent 上下文 P0
B4 重试失败消息 排队消息发送失败时可重新尝试 P1

模块 C:引导(Steering)

排队消息天然作为"引导输入"——因为它们在 Agent 处理步骤间隙注入。用户利用此能力可以:

引导类型 示例 优先级
重定向 "改为分析 Q3 数据而不是 Q2" P0
补充上下文 "客户预算上限是 50 万,注意这个约束" P0
优化输出 "报告要更简洁一些,控制在 500 字以内" P1
串联任务 "做完这个之后,再把结果导出为 CSV" P0

引导消息成为对话历史的有机组成部分,Agent 持有完整上下文。


4.25. 核心页面交互示意

页面 1:Agent 执行中 — 消息队列

┌─────────────────────────────────────────────────────────────┐
│  🔤 与 Analysis Agent 对话                  [⚙️ Settings]   │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  👤 你:生成 Q2 销售分析报告,包含趋势图、Top 10 客户排名    │
│                                                             │
│  🤖 Agent:正在拉取 Snowflake 数据...         Responding... │
│                                                             │
│  ─────────────────────────────────────────────────────────  │
│                                                             │
│  ┌─ 排队中 (2) ────────────────────────────────────────┐   │
│  │                                                     │   │
│  │  #1 👤 你 · 1 分钟前                [✏️] [✕]      │   │
│  │  ┌──────────────────────────────────────────────┐   │   │
│  │  │ 等一下,客户 A 的数据用 CNY 不是 USD          │   │   │
│  │  └──────────────────────────────────────────────┘   │   │
│  │        ⬆️⬇️ 拖拽调整顺序                            │   │
│  │  ─────────────────────────────────────────────     │   │
│  │  #2 👤 你 · 30 秒前                 [✏️] [✕]      │   │
│  │  ┌──────────────────────────────────────────────┐   │   │
│  │  │ 加上去年同期对比数据,放折线图上               │   │   │
│  │  └──────────────────────────────────────────────┘   │   │
│  │        ⬆️⬇️ 拖拽调整顺序                            │   │
│  └─────────────────────────────────────────────────────┘   │
│                                                             │
│  💡 提示:你的消息将在 Agent 完成当前步骤后自动递送        │
│                                                             │
│  ┌─ 输入区 ────────────────────────────────────────────┐   │
│  │  ╔══════════════════════════════════════════════╗    │   │
│  │  ║  输入消息(将自动排队)...                     ║    │   │
│  │  ╚══════════════════════════════════════════════╝    │   │
│  │                                [📎 附件] [发送]      │   │
│  └─────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘

页面 2:排队消息被 Agent 处理

┌─────────────────────────────────────────────────────────────┐
│  🔤 与 Analysis Agent 对话                  [⚙️ Settings]   │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│  ...                                                        │
│                                                             │
│  🤖 Agent:正在生成趋势图表...                              │
│                                                             │
│  ── 此时 Agent 处理到 #1 排队消息 ──                         │
│                                                             │
│  ⚡ 处理排队消息 #1:                                       │
│  👤 你(排队):等一下,客户 A 的数据用 CNY 不是 USD          │
│                                                             │
│  🤖 Agent:收到,已将所有客户 A 相关数据改为 CNY。           │
│           继续生成报告...                                    │
│                                                             │
│  ── #2 将在下一步骤前被处理 ──                               │
│                                                             │
│  ┌─ 排队中 (1) ────────────────────────────────────────┐   │
│  │  #2 👤 你:加上去年同期对比数据...       [✏️] [✕]     │   │
│  └─────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘

4.5. 流程图

flowchart TD
    Start([Agent 开始执行任务]) --> Busy[Agent 显示 Responding...]
    Busy --> UserAction{用户有新消息?}
    UserAction -->|是| Enqueue[消息进入队列
显示在输入框上方] UserAction -->|否| ToolStep[Agent 执行工具调用] Enqueue --> UserCan{用户操作队列?} UserCan -->|编辑| Edit[修改消息文本] UserCan -->|拖拽| Reorder[调整消息顺序] UserCan -->|删除| Remove[移出队列] UserCan -->|不操作| Wait Edit --> Wait[等待 Agent 完成当前步骤] Reorder --> Wait Remove --> Wait Wait --> ToolStep ToolStep --> StepDone{当前步骤完成?} StepDone -->|否| ToolStep StepDone -->|是| QueueCheck{队列中有消息?} QueueCheck -->|有| Dequeue[拉取第一条排队消息] QueueCheck -->|无| AllDone{所有任务完成?} Dequeue --> Inject[融入对话上下文
作为"此刻新消息"处理] Inject --> Adapt[Agent 调整后续行为] Adapt --> ToolStep AllDone -->|否| ToolStep AllDone -->|是| DrainCheck{还有未处理的
排队消息?} DrainCheck -->|有| NormalFollowUp[作为标准跟进消息递送] DrainCheck -->|无| End([任务完成])

6. 遥测

漏斗阶段 事件名称 触发条件 指标/KPI 目的 优先级
采用 `queue_message_sent` 用户在 Agent 响应期间发送消息 排队消息数/任务 衡量功能发现和使用 P0
使用 `queue_message_delivered` 排队消息被 Agent 拉取处理 处理数/任务 衡量有效使用 P0
使用 `queue_message_edited` 用户在递送前编辑排队消息 编辑次数 了解使用模式 P2
使用 `queue_message_removed` 用户在递送前删除排队消息 删除率 了解放弃原因 P2
使用 `queue_message_reordered` 用户拖拽调整消息顺序 排序次数 衡量使用深度 P2
质量 `queue_message_failed` 排队消息发送失败 失败率 监控可靠性 P1
留存 `queue_feature_retention` 用户 7 天内再次使用排队功能 重复使用率 衡量持续价值 P1

7. 路线图与未来演进方向

阶段 时间线 里程碑 状态
Phase 1 — 基础 Queue v9.7.0 单用户消息排队 + 编辑/删除/排序 + 自然断点注入 ✅ 已发布
Phase 2 — 智能引导 v10.x 引导影响预览(Agent 预估排队消息会影响哪些后续步骤)、引导冲突检测(新指令与已有排队指令冲突时提示) ⬜ 规划中
Phase 3 — 协作引导 v11.x 多用户可向同一 Agent 排队消息(显示发送者)、角色权限控制(谁能引导/谁能停止) ⬜ 探索中
Phase 4 — 智能排队 未来 Agent 主动询问"我注意到还需要 X 信息,要排队等待吗?"、根据任务优先级自动排序 ⬜ 探索中

关键演进判断

  1. 引导预览是体验关键:用户目前无法预知排队消息会对 Agent 的当前任务产生什么影响。如果能展示"这条消息会影响步骤 4 和 5",将大大增强用户信心
  1. 多用户引导是团队场景的必需:目前仅单人可用。团队场景中多个成员同时引导同一个 Agent 会产生协作冲突,需要权限和可见性机制
  1. 从手动到智能:当前所有引导由用户手动发出。未来的智能引导可以是 Agent 在检测到方向偏差时主动暂停并询问用户意图——这需要 Agent 具备"元认知"能力

由 Claude spec-generate 系统生成 · 来源:Gumloop Agents 帮助文档 - Message Queue and Steering