利用AI Agent,辅助销售团队制定培训和考试内容
段时间有朋友问,是否能利用AI技术来辅助销售团队进行培训。
这里我就用LangChain来构建一个简单的模型,构建一个AI Agent,来简单演示下实现的思路。
AI Agent也就是我们所说的智能体,相比大模型,它可以让大模型的手伸出来,来进行信息获取甚至一些实质的操作。
通过此篇你可以观察到,通过AI Agent,你给它一堆工具之后,它是否能正确的依次使用每一个工具,并且是否跟我们人工的思考方式是一样的。
首先我们用人工的方法思考一下,为了实现这个目标,我们都需要哪些信息。
销售团队的阵容,都有谁。
测评的标准是什么,多少分及格。
他们上次测评的结果都如何。
培训的内容都有哪些。
针对培训内容的评测题目。
当然实际的场景需要考虑的因素和信息可能更多,这里只做演示用,抛砖引玉。
根据这个思路,我们需要依次创建几个方法,供智能体使用,让智能体知道有啊些工具和信息可以供其使用。
以下方法为了演示方便,并未接入到任何对应的系统,只返回示例数据。
首先创建一个方法,获取销售团队的阵容,为了测试和演示方便,我们只创建三个家喻户晓的名字。
def get_sales() -> List:
"""获取销售列表"""
citylist = ["张三","李四","王五"]
return citylist
接下来,通过以下方法告诉系统,多少分才算通过评测。
def get_salespolicy() -> str:
"""获取评测规则"""
return "如果评测分数低于60,那么需要重新培训。"
然后,生成一些评测结果的数据。后续让系统根据这些评测数据,来为每一个人生成培训的内容和考试内容。
def get_salesscore(salesname: str) -> str:
"""获取销售评测分数"""
salesscore = {"产品信息":0,"话术技巧":0,"拜访流程":0,}
if salesname == "张三":
resource = {"产品信息":90,"话术技巧":55,"拜访流程":70,}
elif salesname == "李四":
resource = {"产品信息":50,"话术技巧":80,"拜访流程":55,}
elif salesname == "王五":
resource = {"产品信息":70,"话术技巧":80,"拜访流程":95,}
else:
resource = {"产品信息":0,"话术技巧":0,"拜访流程":0,}
可以看到在我演示的数据中,只有一个人是完全通过的,其他两个人在不同考核都不及格。
我们再补充一些培训内容的数据。
def get_trainingcontent(trainiggroup: str) -> str:
"""根据销售培训分组获取销售培训内容"""
trainingcontent = {"产品信息":"产品信息培训内容","话术技巧":"话术技巧培训内容","拜访流程":"拜访流程培训内容",}
if trainiggroup == "产品信息":
resource = """
迈巴赫 S 级
定位:大型豪华轿车。
价格:2026 款指导价 146.80 万 - 364.30 万。
动力:提供多种动力选择,如 S 480 4MATIC 搭载 3.0T L6 双涡轮增压 + 48V 轻混,最大功率 280kW;S 580 4MATIC 配备 4.0T V8 双涡轮增压 + 48V 轻混,最大功率 410kW;S 680 4MATIC 则采用 6.0T V12 双涡轮增压,最大功率 450kW。
配置:全系标配智能领航辅助 Max 系统,支持厘米级高精度定位等功能。内饰采用 Nappa 真皮座椅带菱形格纹 + 按摩功能,后排腿部空间达 1400mm,还可选装银质香槟杯、星空顶等奢华配置。
"""
elif trainiggroup == "话术技巧":
resource = """
1. 开场破冰:用身份定位抓注意力。
2. 动力介绍:不堆参数,讲「体验感」
3. 配置卖点:场景化描述,让用户「身临其境」
4. 价格沟通:弱化数字,强调「价值匹配」
5. 促成技巧:锁定需求,引导体验
"""
elif trainiggroup == "拜访流程":
resource = """
一、前期准备(拜访前 1-2 天)
二、开场接待(5 分钟):建立信任,拉近距离
三、需求深挖与价值呈现(15-20 分钟):精准匹配,场景化输出
四、展车体验(15-20 分钟):身临其境,强化感知
五、疑虑化解与促成跟进(10-15 分钟):解决顾虑,推动决策
"""
else:
resource = ""
return resource
这里我模拟的事奔驰迈巴赫的数据,仅供演示用。
最后,根据相应的培训内容,我们再通过大模型生成对应的考试内容:
def get_testingcontent(testinggroup: str) -> str:
"""根据销售测评分组获取对应的考试内容"""
testingcontent = ""
testingsource = get_trainingcontent(testinggroup)
testingsource ="根据以下内容生成三条考试题目,题目的类型是问答题,只给我题目的信息,不要包含其它信息:\n"+testingsource
testingcontent = model.invoke(testingsource)
return testingcontent
当然这里也可以从现有的系统里面去读取,不过让大模型来生成考试内容也是一个不错的方法。
最后就是代码的主体部分。
这里我使用的langchain是1.0版本的,所以可以考到我使用的是create_agent方法,里面把前面创建的方法都作为工具传递了进去。大模型就会根据每个工具能提供的信息来决定依次使用哪些。
model=init_chat_model(model="deepseek:deepseek-chat")
agent = create_agent(
model=model,
tools=[get_sales,get_salesscore,get_salespolicy,get_trainingcontent,get_testingcontent]
)
results = agent.invoke({"messages":[
#{"role": "user", "content": "哪些人通过了销售测评,哪些人需要重新测评。"}]})
#{"role": "user", "content":"根据评测结果,生成销售培训内容。"}]})
{"role": "user", "content":"根据评测结果,针对每个人,生成销售培训内容,并生成对应的考试内容。"}]})
messages = results["messages"]
print (f"历史消息:{len(messages)} 条")
for message in messages:
message.pretty_print()
这里大模型我选择的是deepseek,相对基本满血版的deepseek,其对工具的理解要靠谱很多,我层尝试过用本地的模型比如qwen3-4b,就多少会产生点幻觉。如果用参数量再低的模型,基本就会无视你提供的工具。
最后,我贴出了代码输出的信息,在此信息中可以看到,大模型依次调取了相应的方法获取相应的信息,基本符合我们靠人工来操作的思路。
输出略长,已将输出内容折叠,点击可展开。
更多推荐



所有评论(0)