昆仑弟子_面霸
2天前·后端开发·10年+
面试吊打面试官
面试官:现在让你设计一个订单系统的智能客服Agent,你会怎么拆?我:我觉得分三部分。第一能识别用户意图,判断用户来干什么的;第二能路由选择,根据意图分流到FAQ、RAG、工具调用或者人工;第三,任何环节兜不住能转人工面试官:意图识别怎么做?我:高频意图用规则和小模型先拦一道,比如关键词匹配、FastText分类。拦不住的再上大模型做few-shot分类。一来便宜,二来快面试官:FAQ是什么角色?我:FAQ是已经整理好的标准问答,比如怎么退货、运费谁出等等。用户问题进来,先做向量化,去FAQ库做相似度检索,相似度高于阈值的直接返回标准答案面试官:那RAG呢?和FAQ什么区别?我:FAQ是"问题-答案"对,粒度粗;RAG是"文档片段",粒度细,适合知识库、产品手册这种长内容。用户问"你们的会员等级权益分别是什么",FAQ答不了,要去知识库检索文档片段,拼到Prompt里让大模型总结面试官:RAG的检索效果怎么保证?我遇到过检索出来一堆不相关的我:检索后加一层rerank,用Cross-Encoder对Top-20的片段重排,取Top-5塞进Prompt;另外,加元数据过滤,比如用户问的是售后问题,先按类目把文档范围缩小,再做向量检索面试官:客服经常要帮用户查订单、办退款,这块怎么设计?我:把业务接口封装成Tool,Agent拿到用户意图后,先做槽位填充。比如缺订单号就追问订单号,缺原因就追问原因。槽位齐了再调工具面试官:槽位填充具体怎么实现?我:维护一个对话状态对象,记录当前意图、已填字段、待填字段。每轮对话后更新这个状态。所有必填槽位都收集齐了才触发工具调用,缺一个就继续追问用户。可以用一个小的状态机或者直接用Map管理面试官:什么情况下转人工?我:意图识别置信度低于阈值,根本不知道用户要干什么;连续两轮槽位填不满,用户答非所问;用户主动说"找人工"、"转人工"面试官:大模型有时会瞎编,Agent回复的内容怎么保证不出错?我:Prompt里明确要求"只基于检索到的文档回答,不知道就说不知道,不要编"。还有,输出后做事实校验,把回复和检索到的文档片段做语义相似度比对,相似度低的标记人工复核。高敏感场景比如金额、政策类,直接强制走人工
发布于 广东
6
3
8
未登录
友善发言
评论
加载中
下载脉脉APP,成就职业梦想
违法不良信息&未成年人有害信息举报电话/客服电话:400 065 0808
违法不良信息&未成年人有害信息举报邮箱/客服邮箱:maimai@taou.com
清朗系列专项行动相关违规信息举报电话:400 065 0808,举报邮箱:maimai@taou.com
个人/企业等被诽谤侮辱、人身权或知识产权等被侵犯、网络谣言的举报地址:maimai.cn/tousu | 涉企虚假不实信息举报投诉专区
京ICP备12005786号-1copyright©maimai.cn