基于多 Agent 协作的销售与社交能力训练平台,模拟真实场景对练,由 AI 评分并给出改进建议。
基于多智能体协作的销售与社交能力训练平台。通过 AI 驱动的角色扮演模拟真实场景(客户异议处理、商务谈判、社交破冰),由多个评估模块从话术逻辑、情绪感知、合规性等维度评分并给出改进建议。3 人核心团队 4 周完成首版,MIT 协议 100% 开源可商用。
多评估器打分 vs 单一模型评分。最初尝试用一个 Prompt 让大模型同时评估话术、情绪和合规性,发现三个维度互相干扰——模型倾向于"看到话术好就给情绪也打高分"。改为多评估器架构后,三个评分模块各司其职:话术评估器关注逻辑闭环和说服力,情绪感知器分析语气和共情度,合规检查器审查是否存在过度承诺或虚假宣传。最终评分取三者的加权平均,权重可由训练管理员按场景调整。
为什么加 Celery + Redis 队列。评分链路涉及三个评估模块的并行调用,每次训练对话的评估耗时 8-15 秒。如果同步等待,用户在一次对话练习后盯着加载动画超过 10 秒就会关掉页面。Celery 异步任务将评分与对话界面解耦——用户结束对话后立即看到自己的对话记录,评分结果在 15 秒内以通知形式推送回来。
为什么选择 MIT 开源。这个项目的合作方(Qoder 创意挑战赛)从一开始就定位为社区驱动。开源带来了两个意外收益:一是外部贡献者补充了医美销售、保险代理人等我们没覆盖的垂直场景话术库;二是开源仓库在 GitHub 上获得了 230+ Star,成为我们 AI 应用能力的一个公开证明。
坑一:"客户"角色太好说话了。初版客户侧的 System Prompt 过于客气,训练中的模拟客户几乎不会提出尖锐异议——销售学员练完信心爆棚,真实拜访时被一句"你们比 XX 贵 30%"就卡住了。修正方案是在客户端的指令中加入"异议升级机制":对话进行到第 3 轮后,模拟客户必须提出至少一个价格或竞品对比问题,难度随训练轮次递增。
坑二:OpenAI SDK 调用超时导致评分丢失。项目初期直接用同步调用,偶尔遇到 API 超时(30s),用户看到"评分失败,请重试"——对于付费培训场景,这个体验不可接受。切到 Celery 异步后,增加了自动重试(max_retries=3,指数退避)和降级策略(一个评估模块失败时用另外两个的评分加权,标注"部分评分暂缺")。评分完成率从 87% 提升到 99.3%。
坑三:对话上下文超出 Token 限制。一次深度销售训练对话可能持续 20-30 轮,累计 token 轻松超过 GPT-4 的上下文窗口。初版直接截断最早的消息——结果把客户最初的需求描述也截掉了,评分准确率下降明显。改成了"滑动窗口 + 关键信息摘要":保留最近 8 轮完整消息 + 由摘要模块提前生成的对话要点注入 System Prompt,在 8K token 窗口内保持了 95% 的评分准确率。
前端:Next.js 16 · Tailwind CSS · Lucide · Zustand · TanStack Query · react-hook-form
后端:FastAPI · SQLAlchemy · Alembic · asyncpg · PostgreSQL · Redis · Celery · OpenAI SDK
开源地址:github.com/shangyankeji/zhixun(MIT 协议)