设计一个工单自动处理 Agent:分类、查询、升级转人工
谁在问:二三面综合设计;客服、IT 服务台、售后团队的面试官会追得很实
口语化问法
- 客服工单一天几千条,想让 AI 自动处理一部分,你怎么设计?
- 这个 Agent 能改工单状态、能退款,你怎么保证它不乱来?
- 什么情况下它应该把工单甩给人?
考察意图
四层:
- 你会不会先上 workflow 再上 Agent。工单处理里有大量确定性流程,盲目上 Agent 是本项目反复强调的坑;面试官想看你会不会把 Agent 用在真正需要它的地方。
- 你的人机协同是按什么分级的。答「模型不确定就转人工」的是常识层,答「按操作的不可逆程度分级」的是设计层。
- 你怎么控写操作。工单 Agent 和纯问答 Agent 的根本差别就是它会改状态、会花钱。
- 你会不会评测 Agent。只看最终结果不看轨迹,会漏掉大量「结果对了但过程危险」的情况。
参考答案
60 分答案(及格线)
先做意图分类,把工单分成几大类;能自动处理的走自动流程,比如查订单状态、查物流、改地址这些;处理不了的转人工。Agent 挂几个工具:查订单、查知识库、改工单状态、发通知。加护栏,比如退款金额超过一定额度必须人工审批。再做个监控,看自动处理率和用户满意度。
框架完整,及格。但它有三个软肋:分类用什么做没说、转人工的判据只有「处理不了」这一条、评测只有结果指标没有轨迹。这三点恰好是追问的主攻方向。
90 分答案(有生产经验的回答)
① 先问四个问题:工单量和类型分布是什么样——头部几类占多少?(这决定了值不值得上 Agent)现在人工的平均处理时长和一次解决率是多少?哪些操作是不可逆的——退款、改单、发通知给客户?以及最关键的:这个项目的目标是降人力成本,还是缩短响应时间?两者的设计完全不同:降成本要提高自动处理率、容忍一点错误;缩短响应时间可以先做「秒回一个准确的进度」,自动率不高也有价值。
② 基线:先不上 Agent。 工单场景的正确基线是规则分类 + 写死的 workflow——头部几类工单(查进度、查物流、改地址、开发票)流程是确定的,用 if/else 加三五个工具就能覆盖,而且可预测、可审计、便宜。我会先说这套基线能到什么水平:如果头部五类占了总量的六成,光这套就能自动处理其中的大部分。Agent 是用来吃剩下那四成长尾的,不是用来重写这六成的。
③ 加挂,每样说代价:
意图分类:先规则后模型,且要有「不确定」这一档。头部类目用关键词加规则(准、快、可解释),长尾用模型。代价:两套要维护;关键设计:分类必须能输出「不确定」,而不是强行归到最近的一类——强行分类是工单场景最常见的事故源,因为它会把一个投诉工单归到「查进度」然后自动回复一段模板。
Agent 只用在长尾。解决什么:长尾工单的路径不确定,需要多轮查询和判断。代价:不可预测、贵、难审计,且每一轮都要调模型。什么时候不该用:路径确定的流程,用 Agent 只会更慢更贵更不稳。
分级自治控制写操作(这是本题的核心)。按不可逆程度而不是置信度分级:
只读查询(查单、查物流、查知识库) → 自动执行,事后抽样 可逆写入(打标签、加内部备注) → 自动执行 + 通知 难逆写入(改工单状态、改地址) → 先确认,展示将要做什么 不可逆(退款、发短信给客户、关单) → 人工签字 + 二次确认代价:确认环节会拉长处理时间,且确认多了人会开始盲点。所以确认页必须展示自然语言摘要而不是原始参数,否则人只会一路点「确定」。
工具层设不变量断言。护栏不能只写在提示词里,要写在工具的语义层:退款金额不得超过订单实付、状态机不得跳转到非法状态、同一工单十分钟内不得重复发通知。这类负向断言比「参考轨迹匹配」可靠得多——因为正确的路径有很多条,但不该发生的事是有限且明确的。
④ 评测:三层收尾。
- 用例层:真实工单回放,按类目分层,看最终结果对不对。
- 指标层:自动处理率、一次解决率、转人工率、平均处理时长,以及该转没转的比例(人工抽样标注)。
- 不变量层:跑一批对抗用例,断言「永远不会发生」的事——超额退款、越权改单、重复通知。这一层是发布闸门,任何一条命中就阻断。
评测层级要从端到端往下沉:端到端掉分了才看轨迹级(它多调了几轮、走错了哪一步),轨迹级定位不了才拆到组件级(分类器、检索、单个工具)。上来就做组件级评测是浪费。
⑤ 演进:出现「长尾里某一类反复出现且路径逐渐固定」→ 把它从 Agent 沉淀成 workflow(这是最重要的一条:Agent 的产出之一是发现新的确定性流程);出现「转人工率长期偏高且集中在某几类」→ 扩知识库或扩流程,不是换模型;出现「人工确认环节成为瓶颈」→ 才考虑放宽某类操作的自治等级,且必须先有足够长的抽样数据。退路:如果不变量层出现任何一次真实违约,立刻把对应操作降回人工签字。
追问链
意图分类用规则还是用模型?
期望混合,且分类器必须能说「不确定」:头部类目用规则(准确、可解释、零成本),长尾用模型。三条关键:① 输出置信度并保留「不确定」档;② 类目允许多标签 —— 一条工单常既是「查进度」又是「投诉」,强制单标签会丢掉投诉信号;③ 误分类代价不对称,阈值向「宁可多转人工」偏信号说得出「必须有不确定档」和「代价不对称所以阈值偏保守」→ 做过真实客服系统什么时候转人工?转人工率多少算合理?
期望四类触发:置信度低、操作不可逆、用户情绪升级、命中黑名单主题(法律、资金、医疗、媒体)。个位数到十几个百分点是常见区间,但三种读法更重要:突升 → 上游或检索出问题;长期偏高 → 覆盖面不够;过低 → 危险信号,模型在硬答。交接要带原始诉求、已尝试什么、不确定点信号说得出「转人工率过低是危险信号」→ 真运营过;主动讲交接三要素 → 处理过用户投诉Agent 能退款、能发短信,你怎么保证它不乱来?
期望三层,且要说清为什么不能只靠提示词:① 权限层 —— Agent 拿到的凭证本身就该受限,这是执行层控制;② 不变量断言写在工具里 —— 退款不超订单实付、状态机合法性、幂等键防重发;③ 分级确认 —— 不可逆操作人工签字。加分:幂等是硬需求,重试、重复提交、多轮回指都会重复执行信号把「权限层」和「工具层断言」分开说 → 理解纵深防御;主动提幂等 → 真做过写操作 Agent这个 Agent 怎么评测?只看最终结果会漏掉什么?
期望漏三类:① 结果对了但过程危险 —— 试过一次超额退款被断言拦下,统计上仍算「成功」;② 结果对了但成本失控 —— 同一件事绕了十二轮工具调用;③ 结果错了但错得隐蔽。所以要轨迹级评估:工具序列、轮次、有没有触发断言、有没有重复动作。下沉顺序是端到端 → 轨迹 → 组件信号说得出「被断言拦下也要计入信号」→ 真做过 Agent 可观测;只说「看成功率和满意度」→ 缺轨迹视角转人工率降不下来,老板说「这不就是个自动分类器吗」,你怎么答?
期望① 先不辩护,先把当初的目标翻出来 —— 目标若是降人力成本,老板是对的;若是缩短响应时间与提升一次解决率,那自动分类 + 秒回进度 + 结构化交接本身就是主要价值 → ② 给被忽略的指标:交接质量好则人工侧平均处理时长明显下降,这部分不出现在「自动处理率」里 → ③ 诚实归因:长尾太散 / 覆盖不够 / 不可逆操作太多 —— 第三种意味着天花板是业务定的信号硬答「Agent 有战略价值」→ 空;顺着说「确实效果不好」→ 缺主张;能拆目标、给被忽略的指标、给归因和撤退条件 → 能对业务方说话
评分要点
- 基线先不上 Agent,用规则分类 + 写死 workflow 覆盖头部类目
- Agent 只用在长尾,并说得出为什么确定路径不该用 Agent
- 分类器有**「不确定」档**,且知道误分类代价不对称
- 人机协同按不可逆程度分级,不是按置信度
- 写操作有三层控制:受限凭证 / 工具层不变量断言 / 人工签字
- 提到幂等是写操作 Agent 的硬需求
- 评测三层收尾(用例 / 指标 / 不变量),并按端到端→轨迹→组件下沉
- 知道转人工率过低是危险信号,且讲得出交接三要素
- 演进能把长尾中固化的路径沉淀回 workflow