零基础开发AI智能体教程(3)|创建两个Deepseek-v3智能体并相互调用
"您好,我要退货!" "亲,这边建议您联系售后客服呢~"相信大家在网购时都遇过这样的客服接力赛。今天我们要用AI技术完美复刻这个经典场景——不过这次的主角是两个会互相"甩锅"的智能体!准备好见证AI版的《客服风云》了吗?
·
前言:智能体协作运行原理详解:客服界的"踢皮球"艺术
"您好,我要退货!" "亲,这边建议您联系售后客服呢~"
相信大家在网购时都遇过这样的客服接力赛。今天我们要用AI技术完美复刻这个经典场景——不过这次的主角是两个会互相"甩锅"的智能体!准备好见证AI版的《客服风云》了吗?
一、课前准备:搭建智能体舞台
1.1 先认识我们的演员
- Agent(智能体):就像公司里的员工,每个都有特定技能
- Swarm(集群):我们的"公司总部",负责协调各个智能体
- Function(函数):每个员工掌握的"特殊技能手册
二、剧本创作:双AI客服的恩怨情仇
2.1 第一幕:菜鸟客服登场
support_agent = Agent(
name="客服小萌新",
instructions="""
你是刚入职的客服实习生,牢记三大原则:
1. 回答产品基础问题(价格/参数/功能)
2. 遇到售后问题立即触发转接技能
3. 永远保持职业微笑(^-^)
""",
functions=[transfer_to_expert], # 终极奥义:甩锅之术
model="deepseek-chat"
)
角色定位:这个战战兢兢的新人就像刚毕业的大学生,最擅长把烫手山芋丢给隔壁工位的老王。
2.2 第二幕:售后老江湖亮相
aftersales_agent = Agent(
name="售后老司机",
instructions="""
处理售后问题的四步绝杀:
❶ 订单号锁定:"请先报下您的订单号"
❷ 问题分类:"是退货还是保修呢?"
❸ 设备诊断:"手机拆封过吗?有摔痕吗?"
❹ 终极裁决:退货/保修/驳回三选一
""",
functions=[process_return, case_resolved], # 两大杀手锏
model="deepseek-chat"
)
角色特点:这位可是身经百战的老江湖,处理过碎屏索赔大战,调解过快递丢失纠纷,堪称客服界的福尔摩斯。
三、导演说戏:搭建协作系统
3.1 智能体通讯枢纽
swarm_client = Swarm(client) # 这是我们的公司总机
def transfer_to_expert():
""" 一键转接的魔法按钮 """
return aftersales_agent # 像扔烫手山芋一样抛出售后Agent
def process_return():
""" 退货标准流程 """
return "您的退货申请已提交,请保持手机完好并等待快递上门取件(预计快递小哥会在您最不方便的时间出现)"
def case_resolved():
""" 经典结束语 """
return "问题已解决,感谢支持!(内心OS:终于搞定这个难缠客户)"
四、实战演练:当AI遇到戏精客户
测试案例1:普通咨询
用户:"手机支持防水吗?" 小萌新:"我们的手机支持IP68级防水,可以带着它去游泳哦~(只要别真的这么做)"
测试案例2:售后请求
用户:"我收到的手机屏幕有划痕!" 小萌新:"已将您的问题转接售后专家,请稍等...(溜之大吉)" 老司机:"请提供订单号,并确认是否已经拆封?(开始办案模式)"
五、代码全解析:看看机器人怎么"思考"
重点片段解读
response = swarm_client.run(
agent = support_agent, # 指定首发队员
messages = [{"role":"user","content":question}]
)
- 启动机制:就像足球比赛的开球,我们明确指定第一个接球的Agent(support_agent)
- 初始策略:用户的问题会先被首个Agent处理,就像客服电话总是先由总机接听
- 初始Agent承担"第一响应人"职责
- 负责判断问题类型(就像医院的分诊台)
- 需要快速决定是自己处理还是转接专家
转接黑科技:Agent间的"暗号对接"
# 在support_agent的配置中
functions = [transfer_to_expert] # 携带转接技能
def transfer_to_expert():
return aftersales_agent # 返回目标Agent对象
运行原理:当support_agent检测到售后关键词时,就会触发这个函数,相当于把对话接力棒交给aftersales_agent。
- 触发条件:当support_agent判断需要转接时,主动调用该函数
- 交接凭证:函数返回要转接的Agent对象,就像递交接力棒
Swarm的调度智慧
# Swarm的幕后运作(伪代码)
def run(agent, messages):
while True:
response = agent.process(messages) # 当前Agent处理
if response.need_function: # 检测到转接函数
agent = response.function() # 更换Agent
continue
break
return final_response
- 自动路由:Swarm持续监控处理结果,自动切换对话主体
- 无缝衔接:用户不会感知到后台的Agent切换过程
优势:避免"超纲回答"风险
- 知识隔离:防止初级客服给出错误售后建议
- 权限控制:确保敏感操作(如退货)由专业Agent处理
- 效率优化:专家Agent有预设处理流程模板
六、思考:升级你的AI剧团
尝试添加第三个"产品咨询"Agent,并为该agent添加产品信息
更多推荐
所有评论(0)