本节摘要:Journey 不是线性流程图的改名。它是结构化、可组合、上下文感知、受指南约束的交互蓝图,描述用户完成「查订单、退款、预约」时代理如何引导与干预。对照意图机器人的迷失、通用 Agent 的即兴规划、规则引擎的死节点,Journey 提供骨架,指南提供神经反射。
阅读完本节,你应当能够:
客户问「订单为什么还没发货」可能含身份、状态、延迟解释、补偿政策、情绪。意图机器人反复追问或空话。通用 Agent 可能直接查库甚至口头承诺赔偿。规则引擎要结构化输入才肯起步。
Journey 预定义阶段、触发、行为规范,让代理像训练过的坐席推进,同时守准则。每个阶段不仅有动作,还绑指南:同理心语言、不得承诺具体赔偿金额等。
协同:指南是自然语言规则集,由匹配引擎按上下文关联,不是 if-else 硬编码。Journey 是宏观结构:哪一阶段激活哪组指南、何时调工具、异常如何走。骨架加反射。
原文用相关性阈值描述:仅高相关指南注入本轮,避免污染。这和「系统提示里贴全公司 SOP」相反——全量注入又贵又互殴。阶段切分的工程意义就是缩小激活子集。
原文用声明式领域语言描述旅程,常见呈现为 YAML 或 JSON 一类可读结构。概念上包含:阶段名、工具列表、指南列表、成功/失败下一跳。开发者不写复杂控制流。产品可以读这份蓝图——这是双轨用户在工程上的落点。
# 概念结构,不是保证的官方唯一语法 journey: order_inquiry stages: - name: verify_identity tools: [fetch_user_profile] guidelines: [require_verification, privacy_compliance] next: success: check_order_status failure: escalate_to_human - name: check_order_status tools: [get_order_details] guidelines: [transparency_policy] next: delayed: explain_delay shipped: provide_tracking default: confirm_pending
对照手写 while 规划循环:后者难审、难版本化、难让合规官签字。对照纯状态机代码:能审,但改口径要发版。Journey + 指南把「骨架发版」和「口径热更新」拆开——能拆多少取决于你的运行时,原则要守。
| 要素 | Journey | 传统流程图 | 通用 Agent 规划 |
|---|---|---|---|
| 阶段 | 一等公民 | 有 | 隐式 |
| 指南绑定 | 按阶段激活子集 | 通常无 | 全塞提示 |
| 工具 | 阶段声明 | 节点动作 | 模型挑选 |
| 失败 | 显式下一跳 | 有 | 常即兴 |
| 可审性 | 高 | 中 | 低 |
⚠️ 常见坑:把 Journey 画成幸福路径,没有失败与澄清。真实用户会说错单号、会生气、会中途改去退款。缺分支时系统只能自由发挥,等于在骨架缺口处退回通用 Agent。
💡 关键直觉:乐团总谱规定乐章顺序,华彩仍要按指挥意图。Journey 是总谱,指南是该乐章的演奏细则。
运行时引擎按当前阶段取指南子集,匹配用户输入,授权工具,写状态,再跳转。调试应能看见「现在在哪一阶段、激活了哪些指南」——这为第 5 章可解释性铺路。没有阶段概念的框架,解释只能回到「模型这么想的」。
复杂任务可组合子旅程,但本教程保持两层目录,不引入第三层文档结构。组合是运行时概念:退款旅程依赖已完成的身份旅程,用依赖关系表达,而不是再套一套教程章节。

幸福路径能演示,失败路径能上线。写 Journey 的时间应有一半花在「用户不配合时怎么办」。这比再接一个模型更接近可控智能。
请客服主管讲一笔最烦的单:用户骂、单号说错、要补偿。把他们的步骤写在纸上,圈出必须人工的点、禁止承诺的点、要查系统的点。圈出来的就是阶段、指南、工具。幸福路径最后补。工作坊若从理想流程开始,上线后会在第一通愤怒电话处退回即兴模型。
阶段不宜过多。验证、查询、解释、收尾,多数查询类旅程够用。阶段过多会导致指南子集切得太碎,匹配抖动。过少则子集太大,回到全量 SOP 污染。用「本阶段运营能否用三句话说清目的」来切。
下一跳的 default 必须有。未知状态不要让模型发明第五种物流哲学。default 可以是确认待处理并转人工。声明式蓝图的力量就是强迫你看见空洞:YAML 里缺 default,评审一眼能看出来;思维链里缺 default,谁也看不见。
指南绑定按阶段列清单,给业务签字。解释延迟阶段:同理心、禁金额承诺、可查仓储。签字后改口径走指南变更,改顺序走 Journey 变更。两条变更流分开,审计才分得清。混在一次「优化提示词」里,历史无法回放。
旅程评审问句 失败下一跳写了吗? 澄清最多几次后转人工? 本阶段指南子集有签字吗? 工具名与注册表一致吗? 补偿是否必须预写而不是即兴?
写三份剧本:单号说错三次、用户要立刻赔钱、用户中途改成退货。每份剧本逐步对照阶段跳转是否符合蓝图。剧本比流程图能骗过的人更少,因为要说话。业务主管能演用户,开发看轨迹。演不下去的地方就是缺分支。把剧本纳入回归,比再画一张更密的状态图有用。Journey 是给演出用的总谱,不演出的总谱只是墙纸。
围绕「愤怒路径剧本」,把四条路径再过一遍。表里每格都是可执行判断,不是形容词。读完请把你的项目钉进一格,不要钉在两格之间假装都占了。
| 检查项 | 纯 prompt | 通用 Agent | 规则引擎 | Parlant |
|---|---|---|---|---|
| 决策权放哪 | 幸福流程图 | 模型现场编流程 | 死节点图 | 三份愤怒剧本进回归 |
| 改口径谁动手 | 缺默认下一跳 | 缺就再规划 | 缺就失败 | default 强迫看见空洞 |
| 行动如何被拦 | 全量SOP每轮 | 每轮重想人生 | 无口语 | 阶段子集激活 |
| 出事如何复盘 | 改口径即改图 | 改提示 | 发版改图 | 口径与结构两条变更流 |
| 口语进得来吗 | 不演出 | 只看循环炫 | 看覆盖率 | 主管演用户开发看轨迹 |
| 上线第一周验什么 | 失败靠即兴 | 失败换工具 | 失败抛错 | 失败显式转人工 |
单号说错三次、立刻要赔、中途改退货,演不下去就是缺分支。总谱不演出只是墙纸。
阶段用三句话能否说清目的来切。过多抖动,过少污染。签字的是指南子集,不是一张漂亮图。
在「Journey愤怒路径」上,纯 prompt 把判断写进一段话,改的人必须会改提示,复盘只能翻聊天,口语进得来但口径会漂。通用 Agent 把判断交给循环,灵活的代价是越权与路径不可复现。规则引擎把判断写进分支,确定的代价是口语进不来、改口径要排期。Parlant 把判断写成指南与契约:业务改口径,未授权则无行动,复盘指轨迹。把这四句贴到工位上,比再记一组术语有用。
针对Journey愤怒路径,本周只做一件可验收的事:找出一条真实对话或工单,标注它今天落在哪一列;若要迁到第四列,缺的是指南、工具还是关系边。缺指南就写草稿,缺工具就列契约,缺关系就补消歧或依赖。不要同时开十条战线。最常见的伪装是文件名叫指南、真源仍是提示词,或者架构图上有网关、运行时模型仍直接调函数。用「改文本能否改行为」和「低权限点名是否被拒」两张试纸识破。识破了再谈优化与案例。优化在伪装上加速,只会让错误承诺更多;案例在伪装上复制,只会把新闻变成事故。
Journey愤怒路径的纪律是先钉列,再谈快。钉列需要抽检,抽检需要轨迹,轨迹需要审计真的在记抑制原因,而不只记最终回复。若没有抑制原因,排错会以为没写规则,其实是优先级压了。看得见「为什么没走另一条路」,才叫对照,才叫可控。把这句话写进值班手册,Journey愤怒路径才从概念变成岗位。对照驱动不是文风,是岗位制:模型是引擎和笔杆子,方向盘在指南与工具契约上。谁把方向盘又塞回提示词,谁就在Journey愤怒路径上退回第一列。
下一节把蓝图上的名字变成可调用实体:注册表、激活图、关系消解。