智能商品导购助手系统如何包装简历?
2025-12-19
最近有球友反馈说,想把咱们星球中的智能导购AI Agent系统,写到自己的求职简历中。

今天这篇专门给大家分享一下,智能导购AI Agent系统如何包装简历?
项目名称:智能导购AI Agent系统
核心技术:SpringBoot 3、Spring AI、Spring Cloud、Nacos、PostgreSQL + PGVector、MongoDB、Redis、DashScope(通义千问)、OpenFeign、Graph 工作流引擎、MCP 协议、RAG、JWT 等。
项目描述:SmartRecommendationAssistant 是电商平台中的一个核心 AI 子系统。考虑到用户在购物过程中决策成本高、商品信息过载,传统搜索式购物体验无法满足个性化导购需求,因此构建了该智能导购助手。用户通过自然语言与系统对话,系统自动理解购物意图,提供个性化商品推荐,并引导用户完成下单、售后、评价等完整购物链路。
我的职责:主要参与智能导购系统的架构设计和核心代码编写。包括:双层语义路由模块、RAG 检索增强模块、Graph 工作流编排引擎、多模型工具调用层(Function Calling + MCP 协议)、推荐服务(三级推荐策略)、会话记忆管理等核心功能开发。
项目亮点:
- 系统设计了双层语义路由(Two-Stage Semantic Routing)机制,采用 Embedding + 原型质心 + 余弦相似度的方式对用户意图进行粗分类和细分。第一层将意图分为工作流、工具调用、商品推荐、闲聊四类;第二层在工作流内部进一步判定下单、售后、评价、改地址等具体流程类型。相比传统的大模型意图分类方案,该方案延迟从秒级降低到毫秒级,且无需额外消耗 Token 成本。
- 在语义路由层增加了规则强覆盖兜底策略。当语义匹配置信度低于阈值(0.33)或 top 与 second 差值小于 0.05 时,自动回退到基于正则的规则匹配或通用闲聊模式,确保系统在边界场景下的稳定性。
- 实现了基于 StateGraph 的工作流编排引擎,通过 12 个节点和 4 种流程类型(下单结算、售后处理、订单评价、地址变更),将复杂的电商业务对话建模为有向有环状态机。每个节点通过 Slot Filling 机制逐步收集关键信息(如订单号、评分、原因等),并在最大 2 次重试内完成信息确认,避免了模型在对话中反复追问导致体验下降的问题。
- 工作流支持断点续聊(Conversation Continuity)。工作流状态持久化到 MongoDB,用户中断对话后再回来,系统能自动检测未完成的工作流(ACTIVE 状态),优先续跑,而非重新开始。同时支持回滚操作,如下单后可取消、改地址可撤销工单。
- 设计了双模工具执行架构(Dual-Mode Tool Execution),既支持本地 Function Calling,也支持通过 MCP(Model Context Protocol)协议远程调用工具。通过配置开关(product/cart/order 三级粒度)可动态切换执行模式,且支持 Fallback 到本地调用,实现了工具层的热插拔和高可用。
- 推荐服务采用三级推荐策略。第一级:通过 RAG 从向量库召回相似商品,构建 Prompt 让 LLM 生成结构化 JSON 推荐(含推荐理由);第二级:LLM 调用失败时自动回退到商品服务 Feign 客户端分页拉取;第三级:商品服务不可用时从本地配置文件读取默认推荐。结合 Redis 缓存(个性化推荐和每日精选每 3 分钟刷新),在保证推荐质量的同时实现了高可用。
- RAG 检索增强采用了 Top-K 向量相似度检索,将商品元数据通过 TokenTextSplitter 进行语义分片(chunk size=512),存储到 PGVector 向量数据库中。检索结果以结构化 Context Block 形式注入到 System Prompt 中,使 LLM 能够基于真实商品数据而非幻觉生成推荐,有效解决了"推荐已下架商品"或"虚构价格"等问题。
- Embedding 模型实现了多 Provider 可切换设计,支持 DashScope(text-embedding-v2)和 OpenAI 两个 Provider,通过配置即可切换。同时包装了 RetryingEmbeddingModel,实现了最多 3 次指数退避 + 随机抖动(jitter)的重试机制,保障了向量化环节的可靠性。
- 会话管理实现了完整的记忆系统。用户的购物偏好、预算信息、对话历史存储到 MongoDB,通过 MemoryService 在每次请求时注入到上下文中。支持"第一个商品"等人称指代的解析——系统记录了最近推荐的候选列表,能够正确将代词映射到具体商品 ID。
- 系统接入层实现了完整的防护机制。包括 JWT 认证鉴权、令牌桶限流(10 次/分钟/会话)、CORS 跨域控制、统一异常处理、全局 API 响应包装(ApiResponseBodyAdvice)、以及请求/响应日志全量记录(含 traceId),保证了系统的安全性和可观测性。
常见问题
1 部署了几台服务器?并发量多大?
2 语义路由相比直接让大模型判断意图,有什么优势?
3 推荐如何避免 LLM 生成不存在的商品?
4 Graph 工作流和普通的状态机有什么区别?
5 为什么选择 MCP 协议来做工具调用?
6 为什么向量存储用 PGVector 而不是专门的向量数据库?
如何获取项目源代码、完整教程和问题答案?
