Skip to content

P02:Chat、Workflow 与 Agent——不要把界面当成架构

产品讨论中经常出现这样的分类:

我们应该做 Chat、Workflow,还是 Agent?

这个问题混合了两个不同维度:

  • Chat 是用户与产品交互的方式;
  • Workflow 和 Agent 是系统决定执行路径的方式。

一个 Chat 产品背后可以只是单次模型调用,也可以运行固定 Workflow,还可以驱动 Agent。反过来,一个 Agent 也不一定需要聊天界面,它可以在后台定时运行,通过任务中心、通知或报告向用户交付结果。

本章建立一个更准确的产品模型:先选择执行架构,再选择与任务匹配的交互界面。

用户场景

考虑下面五种产品:

产品需求 合适的执行方式 合适的交互方式
改写选中的一段文字 普通 AI 功能 编辑器内联按钮
员工提交报销申请 Workflow 表单和进度页
客服回答并办理业务 Router / Agent / Handoff Chat
深度研究并输出报告 Agent 任务工作台
每天监控竞品变化 Scheduled Agent 后台任务和通知

如果所有需求都被做成聊天框,用户会被迫通过对话表达本可以结构化填写的信息,也难以理解长任务的状态。如果所有带聊天框的产品都被称为 Agent,团队又会高估系统的实际自主性。

产品视角

用户问题

选择交互方式时,应该判断用户需要完成哪种行为:

  • 表达开放意图:适合 Chat;
  • 填写明确字段:适合表单;
  • 编辑已有内容:适合内联操作;
  • 管理长任务:适合任务工作台;
  • 被动接收变化:适合后台任务和通知。

自然语言很灵活,但它不应该替代所有产品控件。

产品价值

Chat 的主要价值是降低开放输入和澄清需求的门槛。Workflow 的主要价值是稳定执行已知过程。Agent 的主要价值是根据观察结果动态决定下一步。

它们可以组合:

Chat 获取用户意图
    -> Workflow 完成身份和规则校验
    -> Agent 处理无法预先枚举的部分
    -> Workflow 执行高风险业务动作

好的 AI 产品往往不是“纯 Chat”或“纯 Agent”,而是把灵活决策放在真正需要的位置。

用户体验

可以使用二维矩阵选择产品形态:

执行架构 \ 交互界面 内联/表单 Chat 任务工作台 后台/通知
普通 AI 功能 改写、提取 简单问答 通常不需要 批量生成
Workflow 审批、录入 引导式办理 多步骤流程 定时流水线
Agent 智能操作建议 动态助手 深度研究、Coding 监控、主动助理

这个矩阵说明:执行架构和界面可以自由组合,但并非每种组合都同样自然。

自主性边界

Chat 容易让用户误以为系统只是在“回答问题”,但对话背后可能触发真实动作。因此产品需要把回答和执行区分开:

  • “我建议你发送这封邮件”属于建议;
  • “邮件已经准备好,等待确认”属于准备;
  • “邮件已发送”属于执行结果。

只要系统可能执行外部动作,就应该在界面上显示动作对象、影响范围和确认状态,而不能只在一条自然语言回复里含糊表达。

数据与权限

不同界面会影响数据边界:

  • Chat 用户可能输入超出预期范围的敏感信息;
  • 表单能限制字段,但可能缺少上下文;
  • 任务工作台通常包含文件、中间产物和更长的历史;
  • 后台 Agent 需要长期凭证、触发条件和通知权限。

产品设计需要明确每种入口能够访问的数据,而不是默认一次授权适用于所有任务。

失败与降级

不同产品形态的失败体验也不同:

产品形态 合理的失败处理
Chat 解释缺少什么信息,并允许用户补充
Workflow 标出失败步骤并从断点重试
任务工作台 保留计划、中间结果和阻塞原因
后台 Agent 通知用户、暂停后续动作并提供处理入口

把长任务只放进 Chat 的常见问题是:用户看到“正在处理”,但不知道完成了多少、是否可以离开、失败后还剩下什么。

产品指标

除了任务成功率,还应该观察界面是否与任务匹配:

  • 完成任务需要多少轮对话;
  • 用户有多少输入可以被结构化控件替代;
  • 澄清问题是否减少了错误;
  • 长任务中途退出率;
  • 任务恢复成功率;
  • 高风险动作确认前的取消率;
  • 后台通知打开率与后续处理率。

采用判断

适合 Chat 的情况:

  • 用户目标开放,难以用固定字段描述;
  • 需要多轮澄清;
  • 用户会基于结果继续追问;
  • 任务以信息交换为主。

不适合只用 Chat 的情况:

  • 输入字段和业务规则高度稳定;
  • 用户需要比较、筛选或批量编辑;
  • 任务运行时间长,需要状态管理;
  • 包含支付、发送、修改或删除等高风险操作;
  • 结果主要是文件、报告、代码或可编辑 artifact。

最小架构理论

交互层和执行层

将 AI 产品拆成两个正交层:

Interaction Layer
  chat | form | inline | workspace | background
                    |
                    v
Execution Layer
  model call | workflow | agent | hybrid

交互层负责获取目标、展示状态和给予用户控制;执行层负责决定下一步、调用能力并维护任务状态。

Chat 后面的四种实现

1. Chat -> Model -> Response

2. Chat -> Router -> Fixed Workflow -> Response

3. Chat -> Agent Loop -> Tools -> Response

4. Chat -> Workflow Guard -> Agent -> Approval -> Action

用户看到的可能都是聊天界面,但系统的可控性、成本和风险完全不同。因此产品文档不应只写“采用 Chat 方案”,而要同时描述执行架构。

Agent 不等于聊天机器人

下面的系统都可能是 Agent,但不需要持续对话:

  • 每天监控数据异常并生成调查任务;
  • 在后台阅读一批资料并输出研究报告;
  • 根据代码仓库状态修复测试;
  • 收到事件后分析影响并准备操作建议。

它们更适合任务对象、进度事件、artifact 和通知,而不是把所有状态塞进消息列表。

产品体验流

以深度研究为例,纯 Chat 体验可以改造成任务工作台:

Chat / Form 提交目标
    -> 显示范围与计划
    -> 创建可离开的后台任务
    -> 工作台显示步骤、来源和中间产物
    -> 需要选择时通知用户
    -> 交付可编辑报告
    -> Chat 用于追问和继续研究

Chat 仍然存在,但它不再承担任务状态、文件管理和所有控制操作。

系统执行流

Chat / Form / Trigger
        |
        v
Intent and Input Normalization
        |
        v
Product Policy and Router
   |        |         |
   v        v         v
Model    Workflow    Agent
Call                 Controller
   \        |         /
    \       v        /
     -> Typed Task State
             |
             v
 Progress / Approval / Artifact / Notification

无论入口是什么,执行结果都写入结构化任务状态,再由不同界面消费。这样可以避免 Chat 历史成为系统唯一的状态存储。

最小可运行实践

运行产品形态建议器:

python examples/product-decisions/product_shape_advisor.py

它分别输出:

  • execution_mode:普通 AI 功能、Workflow 或 Agent;
  • interface_mode:内联/表单、Chat、任务工作台或后台通知;
  • required_controls:审批、进度、取消恢复等产品能力。

这个示例的重点不是规则是否覆盖所有产品,而是强制团队分别讨论执行架构和交互界面。

正常场景

“研究并比较三家公司的产品策略”需要根据中间证据调整计划,而且运行时间较长。建议器会选择 Agent 执行和任务工作台,同时要求进度、取消与恢复。

“提取合同中的固定字段并写入审核队列”步骤稳定,应采用 Workflow 和表单/任务界面,而不是因为使用自然语言模型就设计成 Chat Agent。

失败与降级场景

失败一:Chat 成为唯一状态

用户关闭页面后任务丢失,或者重新进入时只能看到长消息历史。解决方式是引入独立 task state,由 Chat 只负责显示和操作任务。

失败二:高风险动作藏在回复中

Agent 在一段回复中表示“已经替你发送”,用户无法在执行前检查对象和内容。解决方式是把动作提升为结构化 approval card。

失败三:固定流程被包装成自由对话

用户需要反复回答本可以用表单一次收集的问题。解决方式是 Chat 负责解释和处理例外,表单负责稳定字段。

产品指标与架构对比

可以对同一任务测试 Chat-only 与 Hybrid UI:

指标 Chat-only Chat + Structured UI
平均对话轮数 记录 记录
信息填写完成率 记录 记录
长任务中途退出率 记录 记录
错误操作取消率 记录 记录
任务恢复成功率 记录 记录
用户完成时间 记录 记录

如果结构化界面减少了轮数和错误,就没有必要为了“更像 AI”而坚持纯 Chat。

上线检查清单

  • 是否分别定义了交互层和执行层?
  • Chat 是否真的降低了开放输入或澄清成本?
  • 稳定字段是否使用了更合适的结构化控件?
  • 长任务是否具有独立状态、进度和恢复入口?
  • 高风险动作是否从自然语言回复中提升为明确确认?
  • Agent 是否可以在没有 Chat 页面持续打开时安全运行?
  • 产品文档是否准确描述系统自主性?

小结

Chat、Workflow 与 Agent 不是同一层面的三个选项。

更准确的产品设计方法是:

  1. 先决定执行路径由代码还是 Agent 动态控制;
  2. 再根据用户任务选择 Chat、表单、内联、工作台或后台通知;
  3. 最后补齐与自主性匹配的进度、审批、失败恢复和权限控制。

下一篇将讨论 Agent 产品的自主性阶梯,进一步拆解“建议、准备、有界执行和高自主运行”的产品边界。

延伸练习

  1. 选择一个现有 Chat 产品,画出它背后的实际执行架构。
  2. 找出三项更适合表单、按钮或任务工作台的对话操作。
  3. 为同一个研究任务设计 Chat-only 和 Chat + Workspace 两种体验,并定义比较指标。