提供智能对话服务,包括电商咨询、旅游查询、内容推荐等场景。需要搭建一套通用的智能助手平台,支持快速接入不同业务场景。对后端系统的架构设计和核心功能开发。
星巴克点餐Agent:实现了完整的外卖点单流程(菜单查询→规格选择→加购物车→下单支付)。通过5阶段状态机控制流程,确保每个环节真实调用工具,禁止AI编造价格和订单信息。处理了商品ID映射、SKU规格匹配(杯型+冷热组合)、工具白名单机制等细节
航班查询Agent:实现了机票查询功能,支持线路查询和航班号查询两种模式。重点处理了相对日期转换(今天/明天/后天),通过先调用时间工具再计算日期,避免跨时区错误。实现了槽位补全机制(缺城市/日期自动追问)和工具链检查(强制调用工具,禁止直接生成航班信息)
小红书内容推荐Agent:对接RAG检索系统,从笔记库检索相关内容并推荐给用户。实现了纯文本格式解析,选择最相关的3条笔记生成结构化JSON输出。处理了地点抽取逻辑(美食类优先店名,旅游类优先景点)和二次交互(用户说"打开第一条"时能正确定位)
1. Agent框架选型与架构设计
调研了LangChain、AgentScope等多个Agent框架,最终选择AgentScope,因为它对工具调用和流式输出的支持比较好
设计了基于ReAct(推理-行动)模式的Agent架构,让AI能够自主调用工具完成复杂任务
搭建了四层架构:WebSocket Handler → 业务Handler → 工具编排器 → 核心服务层,每层职责清晰
实现了Agent缓存机制,按连接ID缓存Agent实例,避免重复创建,性能提升了60%左右
2. 工具调用与编排系统
设计了统一的工具注册和调用接口,支持10+个工具(天气查询、联网搜索、商品查询、订单处理等)
实现了工具配置的数据库管理,不同场景可以灵活配置需要的工具集
处理了工具调用的生命周期管理(开始/进行中/完成),通过WebSocket实时推送进度给前端
解决了工具调用失败的降级问题,API超时或异常时自动切换备用方案
3. 语音和文字双模态对话链路
实现了完整的语音和文字双通道支持,用户可以通过语音或文字与系统交互
语音链路:集成了语音识别(ASR)和语音合成(TTS)服务,实现了语音输入 → 文字识别 → Agent处理 → 文字回复 → 语音播报的完整链路
文字链路:通过WebSocket实现实时文字对话,支持流式输出,用户输入后立即开始返回结果
处理了语音和文字的统一调度,两种输入方式共享同一套Agent和对话历史,保证上下文连贯