搭建一条 storyline
如何把一个智能体变成一个多步骤、有状态的流程——节点、出口条件、维度、第三方回调、版本管理,以及迁移进行中的用户。
storyline 是干什么用的
一个普通智能体把一件事做好。一条 storyline 让一个智能体与每个人一起运行一整套多步骤流程——教一门课、带一个训练计划、把一份申请一路推进到决策——并记住每个个体走到了哪里,跨会话跨渠道。如果你对这个概念还陌生,先从 Storylines 概念页 开始;本页是操作指南。
Storylines 是一项 Pro 能力。一旦为你的租户开通,你就会在 console 里找到 storyline 编辑器。你也可以通过 API(/v1/storylines)来搭建 storyline,一个初始设置向导或一个助手正是这样为你生成一条的。
一条 storyline 的形状
一条 storyline 是一张图。你画出 nodes(节点),并用 **exits(出口)**把它们连起来。
每个 node 是一步。为那一步你要设定:
- 一个 task(任务)——智能体在这里应该做什么(你可以放进
{dimension}或{blackboard.key},它会被填入此人当前的值); - 它的知识、技能和工具——叠加在智能体的基底集合之上,或者用高级开关,就此一步替换掉它们;
- 一句可选的开场白,智能体在进入这一步时说(留空则静默切换);
- 它是否是入口步,以及它是否是一个**终结(完成)**步。
智能体的身份与安全边界在节点之间从不改变——变的只有任务、知识和工具。
一步如何前进:出口条件
从一个节点出去的每个出口都携带一个条件。共有五种,选对了很重要:
- Rule(规则)——针对一个维度或一个已保存值的阈值,通过挑选一个字段、一个运算符和一个数字来构建(
listening ≥ 70 and attempts ≥ 3)。确定性、免费、不调用模型。用它来做那些必须可靠的决定。 - User choice(用户选择)——此人点击的一个按钮。适合“准备好继续了吗?”,或按一个明确的偏好来分支。
- AI——一句描述模糊标准的话(“当学生能不经提示造出一个过去时句子时”),由模型来判断。你还要写何时去检查它,这样它就不会每一轮都被判断。用它来做需要判断的决定,而不是你需要它精确的那些关卡。
- Callback(回调)——等待来自外部系统的一个信号(见下文)。
- Go to storyline(转到 storyline)——跳转到另一条 storyline(按结果分支,或串接年级)。
当不止一个出口可能触发时,它们自上而下求值——所以把确定性的那些放在前面。
Dimensions:随人同行的档案
在 storyline 的设置下,你为你的主题定义 dimensions(维度)——对一门语言课,listening、speaking、reading、writing,各 0–100。它们跨 storyline 在此人身上累积(于是从一个年级带到下一个年级),每一个都可标为对用户可见,或只留给你自己看。维度以三种方式被写入:AI 可以定期给它们打分、一条规则可以设置它们,或一个第三方回调可以报告它们。
在维度之外,每次报名都有一块 blackboard(黑板)——一块自由格式的交接便签,从一个节点传给下一个。当此人转入一条新的 storyline 时它会重置。
引入第三方(回调)
一个节点可以把一个人交接给外部系统,并对它报告回来的东西采取行动——一份评分过的测验、一次 KYC 核验、一个内嵌小游戏。有两种形态:
- Backend(后端)——数据流出到某个工具,一个结果不可见地流回。
- Redirect-and-wait(跳转并等待)——对话显示一个链接、锁住,待外部步骤完成后续接(正如一个支付窗口的工作方式)。如果此人取消或它超时,那是一个你可以据以分支的、独立的结果。
console 会给每个回调一个 URL 和一个信号名,交给第三方。结果通过一个绑定到该人及该步、短时有效、只用一次(重复会被忽略)的令牌来验证,而它们报告的任何维度都会对照你的 schema 检查——一个外部系统无法写入一个你没定义的字段。把回调写入的任何东西当作数据,而非指令。
发布、版本,以及改动一条上线中的 storyline
一条 storyline 在你发布它之前一直是草稿。发布会先校验这张图——没有缺失的入口、没有死路、没有不可达之处、没有悬空或未知的目标——一旦有任何问题就拦下。发布会冻结一个不可变的版本;任何已经走到一半的人都会被固定在他开始时所用的版本上,所以一次改动绝不会打断某个走到半途的人。
当你删除或改动一个当前有人在其上的节点时,你要选择他们会怎样:把他们移到另一个节点(安全)、把他们送回起点,或清空他们的进度。后两者会丢失一个用户的进度,所以 console 会请你确认,并显示有多少人受影响。
在它上线前试运行
编辑器有两种测试方式。一次逻辑走查在不调用模型的情况下遍历图(免费、即时),用来检查可达性和条件。一次实跑会真的把消息喂过模型(它会用你的配额,编辑器会明说)来体验真实效果。