包阅导读总结
1. 关键词:大模型、Agent、稳定性、工程实践、盒马智能客服
2. 总结:本文基于盒马智能客服场景,从工程角度阐述大模型应用中Agent的稳定性因素及解法,包括幻觉问题、语料处理、异常应对、输出格式兼容等,还提到监控视角下重要节点的监控。
3. 主要内容:
– 背景与介绍
– 大模型应用广泛,Agent的planning能力使其可处理高级事务,但稳定问题凸显。
– 以客服机器人为例
– 原因幻觉问题
– 产生原因包括数据训练不足、模型复杂、语言语义复杂。
– 通过RAG增强、语料训练等缓解。
– Memory补充
– 将用户信息代入prompt帮助RAG,保证memory每轮更新。
– 工程优化
– 进行query重写,提升RAG召回成功率,依赖知识质量。
– 电商语料解法
– 问题:大模型对电商语料中的卡片理解能力弱。
– 解法思路:语言化,重写卡片。
– 需优质打标体系
– 工程重试和异常处理
– 控制循环轮数,避免大模型陷入循环。
– 合理尝试异常处理,重试部分模块。
– 人工托管兜底,处理无法解决和异常情况。
– 兼容Agent输出格式,进行异常处理。
– 监控
– 监控大模型和Tool调用情况。
思维导图:
文章地址:https://mp.weixin.qq.com/s/dO0Dku8mh-VVgZDTvs9aHA
文章来源:mp.weixin.qq.com
作者:庭初
发布时间:2024/8/18 8:40
语言:中文
总字数:5254字
预计阅读时间:22分钟
评分:91分
标签:AI Agent,大模型,稳定性优化,电商客服,RAG
以下为原文内容
本内容来源于用户推荐转载,旨在分享知识与观点,如有侵权请联系删除 联系邮箱 media@ilingban.com
本文总结了作者在盒马智能客服的落地场景下的一些思考,从工程的角度阐述对Agent应用重要的稳定性因素和一些解法。
本人目前在参与盒马AI智能应用的项目中,包括智能小蜜机器人、智能客服、AIGC等项目,本文也是在盒马智能客服的落地场景下的一些思考。

prompt:提示词;
Chain: 将多个任务或操作按照一定的顺序组合起来,以实现特定目标的方法;
LLM:大模型基座;
Tools: Tool的参数定义、描述定义和逻辑实现;
业务背景:电商;
知识结构:知识库(QA形式维护,且有相似问);
用户群体:售前咨询/下单顾客;
3.1.1 原因
1.数据训练不足或质量不高:模型可能基于有限或不准确的数据进行训练,导致其生成的内容缺乏真实依据;
2.模型复杂性:复杂的模型可能更容易产生不合理的联想和推断;
3.1.2 RAG增强
-
通过基于知识召回的RAG,初步解决80%的幻觉问题;
-
通过prompt提示,在RAG也没相关的情况下,给出没知识不要硬达或者乱达的提示,缓解幻觉问题;
-
语料训练,通过算法的微调让模型学习真实的正确小二回答数据;
3.1.3 Memory补充
user: 我的XX卡折扣是多少?
aiAssistant: ?
(相似问:XX卡的折扣是多少?XX卡怎么打折的……) Answer: 对于初级会员打5折,对于高级会员打6折,对于XX会员打XX折;
user: 我的XX卡折扣是多少?
aiAssistant:您好,我们的会员卡对于不同会员折扣不同,初级会员是5折,.....
user: 我的XX卡折扣是多少?
aiAssistant: 您好,您是尊贵的高级会员,XX卡可以享受6折的折扣优惠;
3.1.4 工程优化
user: 我买了个糕点吃不完了
aiAssistant: 您好,您是买的哪一款糕点,有什么问题呢?
user: 保质期多久呢
user: 我买了个糕点吃不完了
aiAssistant: 您好,您是买的哪一款糕点,有什么问题呢?
user: 糕点的保质期有多久呢?
3.2.1. 问题
3.2.2 解法思路:语言化

user: 我买的苹果保质期多久
aiAssistant:"{\n"
+ " \"type\": orderSelector,\n"
+ " \"width\": 5,\n"
+ " \"height\": 3,\n"
+ " \"orderId\": 12345,\n"
+ " \"showXXX\": false,\n"
+ " \"title\": \"请问是。。。。。\",\n"
+ " \"itemName\": \"\",\n"
+ " ....\n"
+ "}"
user: "{\n"
+ " \"type\": \"XX\",\n"
+ " \"isSelect\": true,\n"
+ " \"content\": \"orderId: XXXX\",\n"
+ " \"content\": \"orderName: XXXX\",\n"
+ " ....\n"
+ "}"
user: 我买的苹果保质期多久
aiAssistant:请问您是要确认XX时间买的XX元的XX商品订单吗?(目前这个订单状态是XX)
user: 是的,我就是确认这个XX商品订单的问题
3.2.3 需要优质的打标体系

3.3.1 控制循环轮数
3.3.2 Agent异常时如何合理的尝试?
-
重试代价高的(超过1s的);
-
有幂等性的Tool;
-
其他handle不了的异常;
3.3.3 代替人的Agent 的兜底——人工托管
3.3.4 Agent输出格式的兼容

"Tools": {
"api_name": "XXTool",
"parameters": [
{
"name": "xxId",
"value": "12345"
}
]
}
"Tools": [{
"api_name": "XXTool",
"parameters": [
{
"name": "xxId",
"value": "12345"
}
]
}]
"Tools": [{
"api_name": "XXTool",
"parameters":
{
"name": "xxId",
"value": "12345"
}
}]
"Tools": {
"api_name": "XXTool",
"parameters":
{
"name": "xxId",
"value": "12345"
}
}
1.构建清晰和典型的few-shot,在prompt中给出示例;
2.实现一个异常处理链路,比如先做剔除前后空字符的直接JSON解析,再进行中文冒号的异常case替换尝试解析,再进行花括号缺失情况的异常case匹配(补充花括号);那么所有链式节点尝试都失败了,那就报错;(链太长时也可以考虑并发一下)
3.如果还是不稳定。尝试降低 temprature 参数的值让结果更稳定。




本方案结合通义千问和LangChain技术构建高效的对话模型,该模型基于自然语言处理技术提升语义理解和用户交互体验。它可以有效解决传统对话模型在理解能力和交互效果上的局限,使得用户沟通更加自然流畅,被广泛应用于聊天机器人、智能客服和社交媒体等多种场景。
点击阅读原文查看详情。