公司动态
为什么任务状态不能只看会话摘要
为什么任务状态不能只看会话摘要很多执行型 AI 助理在“状态问答”这一步会犯一个很隐蔽的错用户只是问一句“现在到哪了”系统却拿一段 conversation summary 就开始回答甚至顺手又把任务重跑一遍。先说结论conversation summary 只能概括这段对话最近在聊什么不能单独代表这条任务当前真实的执行状态。真正可靠的状态判断至少要看 runtime 状态、recent events、等待原因和执行证据四层信息。如果你在做像 OmniGoAI 的 GoWork 这种既能聊天、又能执行任务的系统这件事尤其重要。因为系统一旦同时处理会话、队列、桌面操作、长任务续跑和定时任务状态就不可能只靠一个摘要字段来承载。conversation summary 的作用到底是什么conversation summary 的强项是压缩上下文。它通常能保留对话的大方向最近在处理哪条任务用户和 assistant 最后一次大致聊到哪。这对恢复上下文很有帮助但它回答不了下面这些更关键的问题当前 run 还在不在跑最后一个成功步骤是什么现在是在等用户、等审批还是等资源某条错误是不是已经被后续重试覆盖摘要里写的“下一步”到底只是计划还是已经执行。所以 summary 更像目录页而不是执行流水账。runtime 状态解决的是“任务生命体征”当用户问“现在到哪了”第一步通常应该看 runtime 状态而不是只看 summary。runtime 状态回答的是当前有没有 active run这条 run 是 queued、running、waiting、completed 还是 failed是否存在 pending approval、pending clarification 或资源阻塞当前状态到底属于哪个 run / task / session。这层信息很关键因为很多误判都发生在这里。比如 summary 看起来像“正在发布”但 run 其实已经 failed或者 summary 看起来像“还没开始”但实际上任务已经 queued只是在等桌面资源。recent events 才能回答“最近几步做到了哪”runtime 状态能告诉你任务活着没有但不一定告诉你刚才做了什么。recent events 更贴近现场通常能暴露出最近完成了哪一步当前步骤标题或摘要是什么最近一次跳过、报错、重试或等待发生在哪任务为什么停在这里。例如单看状态你只知道runningwaitingqueued但 recent events 可以把它翻译成更可用的进度信息中文稿和英文稿已经写完npm run build已通过官网部署已完成正在提交收录或者桌面资源被另一条 run 占用OmniPost 发布正在排队或者任务正在等用户补平台登录。这也是为什么 recent events 比 conversation summary 更适合回答“刚才做到哪了”。最后一层一定要看证据结果有没有真的落地执行系统里最危险的误判不是完全没信息而是把“看起来像完成”的状态误判成“真的完成”。常见误判包括说了“下一步会部署”但其实还没部署命令已经启动但产物没有验证平台返回 success但公开链接没有拿到点过发布按钮了但页面依然停留在草稿态。所以最终一定要落到证据层例如目标文件是否真的存在构建产物是否真的生成命令是否 exit 0页面或公开 URL 是否可访问run history、recordId、commit hash 是否真实出现。为什么长任务里最容易看错长任务天然会跨阶段而 summary 往往只保留“高层主题”会丢掉“当前阶段边界”。例如一条长任务可能经历理解需求制定计划执行前半段遇到错误并修复continuation 交接执行后半段总结结果。在这种情况下summary 可能只告诉你“这是一次内容发布任务”或“这是一次桌面排障任务”。但用户真正关心的是现在是不是已经进入第 5 步哪些结果已经 verified是否还在等待我当前 run 有没有切到下一轮 continuation。这些都属于执行阶段事实不属于聊天主题摘要。一个更可靠的状态判断顺序如果你要设计执行型 AI 助理下面这个顺序最稳先看 runtime 状态再看 recent events再看等待原因和挂起项最后按需下钻到日志、文件、页面和 run history 这些证据层。conversation summary 可以先用来快速确认上下文方向但不能替代这四步。最危险的做法恰恰是只看 summary直接给用户下结论甚至顺手再触发一次动作去“验证”。这样既容易答错也容易引入多余副作用。常见问题用户只问一句“到哪了”最先该看什么通常先看 active run 的 runtime 状态和 recent events因为用户要的是当前进度而不是整段对话的主题概括。recent events 和运行档案有什么区别recent events 更偏“现在和刚才”适合回答当前进度运行档案更偏“完整历史”适合用户追问上次到底做了什么、哪一步怎么失败的。什么时候一定要下钻到证据层当你要确认关键结果是否真的落地时比如文件是否生成、页面是否已发布、命令是否 exit 0、recordId 或 commit hash 是否真实存在。为什么这会影响用户信任因为用户能明显感受到你是在汇报真实状态还是在根据摘要猜状态。前者像可靠的执行助手后者像不稳定的印象管理。本文首发于 OmniGoAI 官网https://omnigoai.com/zh/blog/gowork-runtime-status-vs-conversation-summary/ ——OmniPost把内容一键分发到 30 平台。