上一篇我们说,服务智能体是一种新的资产形式,而一份资产除了要能持有,还要能增长。服务智能体当然要成长,但它不能像个人智能体那样,靠记忆在使用中自我成长。它的成长方式是监督式的版本迭代:上下文分层,每一层都有负责人;服务中产生的信号经过审核,作为新版本发布。

这不是保守,而是服务的前提。一个靠记忆自我成长的服务智能体,说不清自己为什么这样回答,改错了也撤不回来。放任它自我成长,就等于放弃了审计和监管,这样的系统对它的每一位客户都是不可靠的。

服务智能体不能靠记忆自我成长

个人智能体可以这样成长。我们在第一篇里说过,它追求变化,每一次经历都直接沉淀下来;它的后果主要由用户自己承担,所以它可以随着这个人一起变。

服务智能体如果也这样,会出现四个问题。

**说不清它为什么这样回答。**它的行为取决于一路积累下来的记忆,没有一个固定的版本可以指着说「当时依据的是这个」。客户投诉、监管问询的时候,审计无从下手。

**改错了撤不回来。**一条错误的经验混进记忆,你不知道它在哪里,也没法只撤回这一条。

**一个客户的经历会改变它对所有客户的做法。**某一位客户教给它的东西,会影响它下一次回答别人。这破坏了服务应有的一视同仁,还可能把一位客户的信息带进另一位客户的对话。

**它会被教坏。**任何和它对话的人都能影响它。曾经有一个公开上线的聊天机器人,从用户的对话里学习,不到一天就被教出了不当言论,只能下线。

研究智能体结构的学者也得出了同样的结论。Sumers 等人 2024 年发表在《Transactions on Machine Learning Research》上的 CoALA 框架,把语言智能体的记忆分为工作记忆、情景记忆、语义记忆和程序记忆。论文指出,智能体自己改写程序记忆,也就是改写它做事的方式,比写入其他记忆的风险大得多,容易引入缺陷,甚至让智能体背离设计者的意图。论文举的零售助手例子里,助手可以记下与每位客户的往来,但商品库和它自己的代码只能读,不能改。

它的成长方式是监督式的版本迭代

不能自我成长,不等于不成长。区别在于成长发生在哪里。

个人智能体在使用中成长,变化发生在每一次对话里。服务智能体在版本之间成长:服务的时候,它运行的是一个固定的版本;改进发生在智能体外面,由负责的人提出、审核,以新版本的形式生效。在 CoALA 的描述里,「学习」是智能体自己的一个动作,由它决定把什么写进记忆。服务智能体把这个动作移到了智能体外面,交给有人负责的发布流程。

由此可以得到一条清楚的界线:**服务智能体在服务时,不改写任何所有客户共用的东西。**它可以记下这一位客户的事,但不能因为这一位客户,改变它对所有人的做法。

上下文分成五层,每一层都有负责人

CoALA 说明了智能体有哪几种记忆,但没有回答这些记忆归谁、谁能改。对个人智能体来说,答案很简单,都归它代表的那个人。服务智能体要逐层回答。这里的上下文取广义,指智能体在服务时读到的全部信息,第三篇里说的上下文、配置和客户记录都在其中。按这个问题,我们把它分成五层,前三层由所有客户共用,后两层属于某一位客户。

规则层,对应程序记忆:身份、口吻、底线,服务流程,能调用哪些工具、有哪些权限,什么情况交给人,用哪个模型。它由服务提供方的运营团队负责,其中底线一类的规则要由更高层级批准。规则层随着智能体的版本发布,服务时只读。

业务层,对应语义记忆:产品、价格、政策、专业知识,以及关于这家服务提供方自身的事实。它来自服务提供方的业务系统,由业务团队负责,随业务系统更新。服务智能体只读取它,从不改写它。

案例层,对应情景记忆里共用的部分:经过审核的典型案例和处理示范。它从许多次服务里挑选出来,审核通过后随新版本加入,服务时只读。

客户记录,对应情景记忆里属于个人的部分:这位客户的历史和往来。它存在服务提供方自己的业务系统里,按客户隔离,只追加、不改写。第一篇说过,这是规则的输入,不会改变规则本身。客户记录不保存在智能体里,所以服务智能体本身仍然是无状态的:每一次服务都从同一个版本开始,再读入这位客户的记录。

会话,对应工作记忆:这一次正在处理的事。它在会话中可读可写,会话结束即丢弃。

层 对应的记忆 谁负责 服务时 怎样改变
规则层 程序记忆 运营团队,底线由更高层批准 只读 随智能体版本发布
业务层 语义记忆 业务团队与业务系统 只读 随业务系统更新
案例层 情景记忆(共用) 运营团队审核 只读 审核后随版本加入
客户记录 情景记忆(个人) 服务提供方的业务系统 只追加 每次服务后写入,按客户隔离
会话 工作记忆 无 可读可写 会话结束即丢弃

这张表里只有最后两层在服务时会被写入,而它们都只属于一位客户。共用的三层,没有一层由智能体在服务中改写。

服务中的信号经过审核,变成新版本

服务智能体不改写共用的结构,但每一次服务都会产生改进它的信号:客户的评价,转给人工的对话,人工客服改写过的回复,投诉,以及最后的业务结果。

分层让这些信号有了去处。答错了价格,问题在业务层,交给业务团队;该转人工的时候没有转,问题在规则层,交给运营团队;一次处理得特别好的复杂情况,可以整理成案例,进入案例层。每一层都有负责人,所以每一个信号都有人接。

接下来的步骤是固定的:负责人修改对应的那一层,新版本先通过评测,再发布上线,必要时先让一小部分流量试用。第一篇说服务智能体学到的东西「经过提炼和审核,作为结构的新版本发布出去」,指的就是这个过程。

这个闭环和质量管理里的 PDCA 循环是同一种思路:计划、执行、检查、处理,每转一圈,结构就改进一次,而每一圈都有人负责。

评测集既是关卡,也随服务生长

评测集是一组可以反复检验的问题和预期答案。在这个闭环里,它有两个作用。

它是发布前的关卡。任何一个新版本都要先通过评测集,确认没有把原来做对的事情做错,才能上线。

它也是闭环的产物。第三篇说过,评测集里的每一道题,都对应着过去某一次真实的失误。服务中每发现一次新的失误,修好之后,就把它写成一道新题。题目越积越多,同样的错误就越难再出现。评测集记下了这个服务智能体吃过的每一次亏,它本身就是这份资产的一部分。

每一版都能追溯,成长和可控同时成立

监督式迭代没有放弃成长,它让成长变得可控。开头提到的四个问题,在这里都有了答案。

每一次服务都记录了它用的是哪个版本,所以「当时为什么这样回答」有据可查,审计可以落到具体的版本和具体的那一层。改错了只影响一个版本,回到上一个版本即可。一位客户的经历只写进他自己的记录,不会改变别人得到的服务。任何人想教坏它,都要先通过审核和评测。

连锁经营早就是这样运作的。门店每天都会碰到手册上没写的情况,店员会把这些情况反馈给总部;总部修订手册,再统一发给所有门店。没有哪个店员会因为某位顾客的要求,自己改掉价格政策。改价格是总部的事,而且要通知到每一家店。

这样的成长,单看一次可能比自我成长慢,但它可以一直积累下去:每一版都建立在上一版已经验证过的基础上,不会因为一次失误把前面的积累一起赔掉。

下一篇

一个按版本迭代的服务智能体,还要能在真实的客户面前稳定运行:谁授权它做事,出了问题谁负责,怎么发现异常,出故障时怎样接管。下一篇《撑得起真实客户》讨论这些问题。

开始构建你的服务智能体
Sean

Praxis 知行云创始人。