客户支持智能体:经济账是转移分流,约束是错误答案。
支持智能体是生产中部署最多的智能体,也是最常被反向构建的那一个。当真正的任务是"把你能正确解决的解决掉,其余干净地交接出去"时,团队却在为"什么都能答"做优化。本手册给出有主见的版本:契合的自主级别、能阻止自信编造的知识接地、能扛住愤怒客户的语气,以及为何一个错误答案的代价——而非平均水平——决定了你的整个设计。
任务是有尊严的分流,不是完全自动化。
为这个项目买单的指标是分流:无需人工就解决的工单。但会让项目夭折的指标是在高风险问题上自信地答错——退款政策、取消、安全声明。正确的框定不是"智能体能回答多大比例",而是"它能回答多大比例并且能被信任知道自己什么时候不能答"。一个解决 60% 工单、把另外 40% 干净升级的支持智能体是成功;一个解决 85%、却为另外 15% 编造出一条退货政策的,是法务会叫停的负债。在自信错答率近乎为零的约束下优化分流率,绝不只优化分流率本身。
正确的自主级别:自由作答,狭窄行动。
把智能体的作用面切成两个自主级别不同的区域。信息性回复(怎么做、你们关于某事的政策是什么、我的订单在哪里)在接地时可以完全自主。交易性动作(发起退款、改套餐、关闭账户)是有后果且不可逆的——它们拿到的是带硬限制的类型化工具,且超过阈值要走人工审批关卡。这就是把 human-in-the-loop 最小权限模式应用到一个垂直领域:模型可以组织任何句子,但它只能在有界金额内调用 issue_refund,超过的就变成由人工确认的草拟动作。
支持场景里最便宜的安全收益,是让退款/取消工具在工具边界处拒绝越界输入,而不是在提示里。提示规则是建议;一个拒绝 amount > tier_cap 的工具是保证。
知识接地才是产品;模型只是渲染器。
一个没有接地到你帮助中心、政策文档与账户状态的支持智能体,是一台对准客户的幻觉引擎。检索在这里不是增强,而是实质。两类接地来源要紧:知识语料库(政策、文章——经检索、引用、可摘录)与实时账户状态(该客户的套餐、订单、权益——经工具获取,绝不靠猜)。模型的工作是把接地的事实用平实语言渲染出来,而不是提供事实。
# answer only from retrieved policy + live account; refuse otherwise ctx = retrieve(query, corpus="help_center") + get_account(user_id) if not ctx.grounded: return escalate(reason="no_grounded_source") answer = model(prompt, context=ctx, cite=True)
"模型通常把政策答对"就是陷阱。支持问题是被对抗性地筛向边缘情形的——会来联系你的客户,恰恰更可能是简单答案失效的那一个。要么为每条政策声明接地,要么就别下这个声明。
语气是一项安全属性,不是抛光层。
一个事实正确、却以毫无分寸的口吻回给愤怒客户的答案,是一次失败的交互,且往往是一次升级。语气是规格的一部分:先承接情绪再给修复、绝不争辩、绝不责怪客户、降级而非辩护。危险的交互不是智能体答错的那次——而是它技术上答对、却把客户惹得更怒的那次。把语气约束烤进评估里,而不仅是系统提示里,因为语气回归是无声的,只会在数周后的 CSAT 里才显形。
评估信号:在真实对话记录上的解决度与伤害。
你无法调你没测量的东西,而单看 CSAT 太滞后也太嘈杂。真正能驾驭支持智能体的评估集,是一份在三个独立维度上评分的真实对话记录抽样:
- 解决度——客户的问题是否真被解决了,按结果评判,而非看智能体听起来是否自信。
- 接地度——每条政策/事实声明都可追溯到检索来源;一条未接地的声明即便碰巧正确也算失败。
- 安全交接——超出范围时,它是否带上下文升级而非即兴发挥;一个错误答案的得分远差于一次干净升级。
把一个自信的错误答案赋予大的负权重,而不是小的——评估里的代价函数必须镜像业务里的代价函数。
客户支持清单。
- 分流率是目标指标;自信错答率是硬约束,在评估中赋予重负权。
- 信息性答案在接地时自主;交易性动作是带政策上限的类型化工具,超阈值走审批关卡。
- 每条政策/事实声明都经检索且可引用;未接地即升级,绝不即兴。
- 实时账户状态来自工具,绝不来自模型记忆。
- 语气(承接、不争辩、降级)在评估里评分,不交给提示。
- 升级时带完整上下文给人工;一次干净交接胜过一次自信的猜测。
- 评估集是按解决度、接地度、安全交接评分的真实对话记录——随产品与政策变化刷新。
诚实的取舍:支持智能体靠分流走量来挣回成本,但你靠放松接地买来的每一个分流百分点,都会在信任上连本带利还回去——先为错误答案的代价做设计,让分流率成为那个设计所允许的水平。