Skip to content

意图路由(Scene):AI 也讲究「看人下菜碟」

在 Agent 运行时中的位置:用户消息过安检之后,第一站分诊
主线 → Agent 运行时 · 第 3 站


先搞清楚:意图路由是什么?(纯概念)

想象你去医院看病。你走到前台,护士问你:「你怎么了?」

  • 你说「感冒了,开点药」——护士直接给你挂普通内科,不用惊动专家。
  • 你说「胸口疼了好几天」——护士二话不说把你推到急诊。

意图路由(Intent Routing / Scene),就是 AI 系统里的那个分诊护士。

专业一点的讲法:

意图路由是对话系统里的一道前置判断层。用户消息进来,系统先猜你要干什么(意图识别),然后根据猜到的意图决定走哪条路(路由)。

举个例子,假如你做了一个电商客服机器人:

用户说的话意图怎么处理
「我的订单到哪了」查物流直接调物流接口,秒回
「这个能退货吗」退货咨询调退货政策 KB + 给出流程
「你们家东西比隔壁贵啊,我觉得不太值,但朋友推荐说……(500字)」复杂闲聊交给大模型慢慢聊

意图路由的核心价值就一句话:能省的地方绝对不浪费,该认真的时候绝不敷衍。

它不是大模型(LLM)的替代品,而是大模型的守门员——把简单的、重复的问题挡在外面,让大模型只处理它真正擅长的事。


那在晨悦里,它是怎么玩的?(通俗理解)

晨悦平台定位是帮你快速搭一个能用的 AI 智能体。但搭出来之后呢?你得考虑成本和体验。

晨悦里的典型场景:

你做了一个「母婴小助手·小悦」,用户每天问:

  • 「今天有优惠券吗?」——每天被问 50 遍
  • 「宝宝清单在哪?」——每天被问 80 遍
  • 「6 个月宝宝能吃什么?」——每天被问 30 遍

如果你每次收到消息都丢给智谱 GLM-4(按 token 计费),你的账单会很刺激。

晨悦的 Scene 就是来解决这个的:把这些高频问题的标准答案提前写好,用户问到了直接回,根本不用惊动大模型。

用户问「有优惠券吗」
  → Scene 一看:哦,这是「查优惠券」意图,命中率 99%
  → 直接回复写好的话术「今天有满 100 减 20 的券哦~」
  → 对话结束,大模型摸鱼,老板省钱

一句话总结晨悦里的 Scene:

把你知道用户一定会问的问题,提前准备好标准答案。问到了就别让大模型插手,又快又省钱。

Coze / Dify 也有类似的「快捷回复」「开场白」,但晨悦把 Scene 做成了和整个运行时深度集成的一级模块——这也就是为什么面试的时候讲 Scene,面试官会眼前一亮。


三层架构:从快到慢,逐级兜底

Scene 不是一刀切的「命中 or 不命中」,而是分了三个层级,越往后 AI 参与越深:

Layer1 — 本地直出(0 token,毫秒级)

匹配到预设意图 + 高置信度 → 直接返回写好的话术 → 对话结束
响应里会带 scene_local_reply: true

就像护士看了一眼说「感冒,去那边开药」,全程没叫医生。

Layer2 — Hint 增强(少量 token)

匹配到了意图,但没有固定文案(可能有好几种答法)→ 把「用户可能想问什么」写成 hint 塞进 Prompt,让 LLM 在给定的方向里回答。

就像护士跟医生说「这个病人可能着凉了」,医生心里有数就开得准。

Layer3 — 未匹配(正常走 AI)

完全没命中任何意图 → 走 Agent 运行时 完整链路,该干嘛干嘛。

就像护士看了半天:「呃,我也不知道你这啥情况,直接去看专家吧。」


晨悦里怎么配?

  1. app/scenes/{场景}/ 目录下定义 intents + presets.json
  2. scripts/seed_*_scene.py 写入数据库(参考 seed_food_scene.py
  3. 在 Agent 管理后台打开 scene_enabled 开关

哪些 Agent 适合用 Scene?

AgentScene 重视程度原因
母婴小悦⭐⭐⭐ 核心领券、清单、设阶段……都是高频固定问题,Layer1 命中率极高,降本核心
AgentPM⭐ 轻量主靠 KB + Workflow 处理复杂需求,Scene 只做了基础兜底
其他场景⭐⭐ 推荐只要问答范式固定、高频问题超过 5 个,就值得用

5 分钟动手

  1. 打开 flow-admin → 场景 列表
  2. 找一个已开启 Scene 的 Agent(比如母婴小悦)
  3. 发送一条能命中 Layer1 的句子(比如「有优惠券吗」)
  4. 打开浏览器 Network,查看响应里是否有 scene_local_reply: true

→ 更多实操:动手实验 0


思维导图


相关文档

晨悦 AI 实践手册