Workflow

Prompt 与 Workflow 设计

预构建的 Workflow 如何引导智能体完成复杂流程——以及为什么最好的 UI 往往根本不是 UI。

在 MCP-first 系统中,除了 Tool 和 Resource,还有第三个构建块: Prompt 与 Workflow。Workflow 是一套预构建的流程,逐步引导 智能体完成复杂任务。它定义了哪些 Tool 按什么顺序被调用、 在哪些节点需要询问人类,以及哪些结果需要向下传递。

Workflow 不是脚本。它为智能体提供上下文、意图和结构—— 但不剥夺其决策自由。

最好的 UI 往往根本不是 UI

日常工作中的许多任务不再需要专用页面。它们是对话式的、 情境化的、基于 Workflow 的。人提问——智能体工作:

  • “给我生成一份所有未结 Deal 的摘要。”
  • “今天我应该联系哪些客户?”
  • “为所有相关方安排一次 Follow-up 会议。”
  • “帮我起草一封给这位联系人的邮件。”
  • “检查这位员工是否有文件缺失。”
  • “生成一份所有高风险项目的报告。”
  • “对比最近两次 Payroll 运行结果。”

无需导航,无需筛选,无需弹窗。智能体收集上下文,组合合适的 Tool,并返回结果——或在对外执行前请求人工批准。

Workflow 替代导航

智能体不需要导航。它们需要清晰的 Workflow。

MCP-first 宣言,原则 4

传统 Web 应用通过导航引导用户:客户列表 → 详情页 → 通信标签 → Reminder 弹窗。这对人类来说很直观。 对智能体而言却是不必要的开销——它必须点击一个 并非为其工作方式设计的界面。

Workflow 以不同方式解决同一个问题:它将流程直接描述为 Capability 的有序序列。智能体明白该做什么,无需了解界面。

深入了解一个 Workflow

以下示例展示了一个房地产软件的 Buyer Follow-up Workflow。 智能体需要检查所有活跃项目,识别合适的买家, 并准备 Follow-up 沟通。

Workflow: Buyer Follow-up
  • projects.list_active
  • contacts.search_buyers
  • contacts.get_purchase_profile
  • exposes.generate_download_link
  • emails.create_project_draft
  • reminders.create_follow_up
  • deals.recommend_next_action

Workflow 的执行过程如下:

  1. projects.list_active — 智能体读取所有活跃项目。这是低风险的 读取操作,可以自主执行。
  2. contacts.search_buyers — 为每个项目搜索匹配的买家联系人。 同样是读取操作,无外部影响。
  3. contacts.get_purchase_profile — 智能体加载每位联系人的购买档案, 判断是否有必要跟进。
  4. exposes.generate_download_link — 为相关项目生成有时效限制的 楼书下载链接。
  5. emails.create_project_draft — 智能体创建包含个性化内容和下载链接的 邮件草稿。尚未发送。

此时 Workflow 暂停。

询问人类。 系统展示完成的草稿:收件人、主题、内容、链接有效期、 风险等级 critical。用户可以确认、编辑或拒绝草稿。只有在明确批准后, 才会执行 emails.send_project_email

  1. reminders.create_follow_up — 发送后,智能体自动设置一个 Reminder, 若联系人七天内未回复则提醒跟进。
  2. deals.recommend_next_action — 最后,系统计算每个 Deal 的推荐下一步 操作,并以结构化结果返回。

Workflow 组合 Tool

Workflow 的本质是以清晰逻辑组合单个 Tool:

  • 低风险读取操作list_activesearch_buyersget_purchase_profile) 自主顺序执行——无外部影响,无风险。
  • 具有内部效果的写入操作create_project_draftreminders.create_follow_up)可以执行,但不产生外部影响。
  • 具有外部效果的写入操作emails.send_project_email) 受确认门保护。智能体准备——人类决定。

这一模式适用于每个 Workflow:读取代价低,写入需要上下文, 外部操作需要同意。按照这种方式构建 Workflow, 可以保持系统完全可控——而不会使其瘫痪。

Workflow 不是盲目执行的脚本。它是一种结构, 向智能体展示它可以在哪里行动——以及在哪里必须等待。