给 tp8项目接入AI Agent(智能客服)
给thinkphp8mysql项目接入智能客服技术落地文档定位商城小程序 AI 智能客服建设汇报方案配套后端api-nestNestJS 智能服务· api-tp8ThinkPHP 8 商城业务当前状态核心链路已完成开发并实测验证通过技术亮点共享库直读决策——相比 HTTP 同步方案零同步开发、零延迟、数据永远最新这是成本最低且最可靠的路线编号锚定防幻觉机制——多轮追问中模型编造商品 ID 的问题曾真实暴露通过 Prompt 工程修复并实测验证体现了方案的严谨迭代过程。一、如何建设方案建设思路1.1 业务背景与痛点痛点现状描述对业务的影响商品咨询依赖人工用户询问价格、库存、规格需等待客服回复响应慢夜间/高峰期咨询流失搜索体验单一仅支持关键词精确搜索用户表达模糊时搜不到潜在成单机会流失商品信息分散名称、价格、库存、SKU 规格、分类分布在不同页面用户需多次跳转才能了解一个商品图片咨询无法处理用户截图/拍照咨询商品时无法自动识别纯人工处理成本高1.2 建设思路让 AI 直接读懂真实业务数据本方案的核心建设理念是“AI 回答的每一个数据都来自真实数据库”不走死知识库路线不把商品信息整理成静态文档喂给 AI会过期、会失真而是让 AI 在对话过程中实时查询商城数据库零数据同步延迟智能服务与商城系统共享同一数据库商品上下架、调价、库存变化即时反映在客服回答中无需任何同步任务图文双通道既支持文字咨询走商品问答智能体也支持图片咨询走视觉大模型图文理解覆盖小程序用户的主要咨询形态。二、项目核心目标2.1 业务目标目标说明衡量方式7×24 小时即时应答商品咨询秒级响应无需人工值守接口响应时长、夜间咨询承接率提升商品触达用对话式导购替代搜索框模糊表达也能找到商品客服会话引导的商品曝光量降低人工客服成本标准化商品问题价格/库存/规格/分类由 AI 承接人工客服工单占比下降增强用户体验支持图文多模态咨询回答附带商品编号便于追问用户满意度、会话轮次2.2 技术目标数据准确率 100%所有价格、库存、销量回答均来自数据库实时查询杜绝大模型幻觉多轮对话连贯支持上下文追问如第一个多少钱“它的库存还有多少”无需重复描述架构可演进预留 Tool Calling 工具扩展点后续接入订单、物流、售后只需新增工具不改主链路。三、技术路线选择技术栈决策3.1 三条候选路线对比针对让 AI 掌握真实商品数据业界主流有三条路线对比维度路线 A传统关键词/规则机器人路线 BRAG 向量检索知识库路线 CTool Calling 实时查库本方案数据实时性依赖人工维护话术严重滞后依赖文档重新切片入库存在同步周期实时每次对话直查数据库数字精确性精确但覆盖面窄弱价格/库存等数字易检索失真精确结构化 SQL 查询自然语言理解无只能命中关键词强强大模型自主决策维护成本高话术库人工维护中文档更新需重建索引低无额外知识库维护建设成本低中需向量库基建低复用现有数据库与后端框架适用场景固定 FAQ政策、帮助文档等非结构化知识强数据依赖的结构化业务问答3.2 决策结论商品咨询属于强结构化、强实时性场景价格库存随时变化、数字必须精确路线 B 的 RAG 在此类场景存在检索到的数字可能已过期的固有缺陷。最终选定路线 C —— 共享数据库直读 LLM Tool Calling工具调用智能体理由智能服务与商城系统共享同一 MySQL 数据库天然免同步、零延迟Tool Calling 让大模型自主决定查什么用户说有没有便宜点的保温杯模型自己选择搜索工具、提取关键词、查询后组织回答RAG 路线保留为二期能力用于接入退换货政策、使用指南等非结构化知识与 Tool Calling 形成互补。四、技术架构概览技术落地4.1 总体架构图┌─────────────────────────────────────────────────────────────────┐ │ 商城小程序微信 │ │ 图文聊天界面 · 消息会话 │ └───────────────────────────┬─────────────────────────────────────┘ │ HTTPSJWT 鉴权 ▼ ┌─────────────────────────────────────────────────────────────────┐ │ api-nest 智能服务NestJS │ │ ┌───────────────────────────────────────────────────────────┐ │ │ │ ai_chat 智能客服模块 │ │ │ │ · 图文双通道路由文本→智能体 / 图片→视觉模型 │ │ │ │ · 多轮对话历史管理 │ │ │ │ · 客服人设 System Prompt防幻觉约束 │ │ │ └──────────────┬────────────────────────┬───────────────────┘ │ │ │ 纯文本 │ 含图片 │ │ ▼ ▼ │ │ ┌──────────────────────────┐ ┌──────────────────────┐ │ │ │ LangChain Agent 智能体 │ │ 视觉大模型 │ │ │ │ 意图识别 工具调用 │ │ 图片理解直接作答 │ │ │ └──────────────┬───────────┘ └──────────────────────┘ │ │ │ Tool Calling │ │ ▼ │ │ ┌───────────────────────────────────────────────────────────┐ │ │ │ mall 商品知识库模块只读 │ │ │ │ 4 个查询工具模糊搜索 / 商品详情 / 分类清单 / 分类浏览 │ │ │ └──────────────┬────────────────────────────────────────────┘ │ └─────────────────┼────────────────────────────────────────────────┘ │ TypeORM 只读查询内网直连 ▼ ┌─────────────────────────────────────────────────────────────────┐ │ MySQL 共享数据库 tp8_admin │ │ product / app_category / sku_stock 等商城表 │ └─────────────────▲────────────────────────────────────────────────┘ │ 读写业务正常通道 ┌─────────────────┴────────────────────────────────────────────────┐ │ api-tp8 商城业务服务ThinkPHP 8 │ │ 商品管理 · 订单 · 用户 · 小程序业务接口 │ └──────────────────────────────────────────────────────────────────┘4.2 关键落地决策决策点方案收益NestJS ↔ TP8 通信方式共享数据库只读直连替代 HTTP 接口同步免开发同步接口、免维护同步任务、数据零延迟只读实体隔离mall 模块独立定义只读 Entity不含成本价等敏感字段权限收敛防止 AI 链路泄露经营敏感数据查询语义对齐过滤条件与排序规则对齐商城现有 v1 接口deleted0、仅在售、置顶优先AI 看到的商品世界与用户端完全一致图片消息处理视觉大模型独立通道不挂载查库工具规避视觉模型 Tool Calling 不稳定问题图文理解更可靠可观测性nestjs-pino 结构化日志 TypeORM SQL 日志/慢查询监控每轮对话的查库轨迹可审计、可回放4.3 一次完整对话的落地流程以用户问你们家有没有保温杯第一个多少钱为例小程序携带消息 历史对话 JWT 令牌调用POST /api/chat/messageai_chat 模块判定为纯文本路径构造 LangChain Agent客服人设 4 个商品工具第一轮模型识别找商品意图 → 自主调用search_products(keyword保温杯)→ mall 模块模糊匹配数据库 → 返回在售商品列表附商品编号模型组织自然语言回答按约束在名称后附上商品编号第二轮用户追问模型从历史对话中提取上轮工具返回的真实编号 → 调用get_product_detail→ 返回价格、库存、SKU 规格 → 作答全程 SQL 查询均有日志留痕回答中每个数字都来自当次查询。五、核心技术方案技术栈选型5.1 分层技术选型总表层次选型选型理由智能服务框架NestJS 10 TypeScript模块化依赖注入、装饰器路由与 LangChain 生态无缝集成AI 编排框架LangChain 1.xcreateAgent toolAgent 编排成熟稳定工具定义用 zod Schema 强类型约束模型调用参数零出错大模型接入多平台工厂模式阿里云百炼qwen-plus / qwen3-vl-plus、DeepSeek、本地 Ollama一个环境变量切换平台云端满足效果本地 Ollama 满足内网隔离与降本场景图片理解视觉多模态大模型qwen3-vl 系列支持 data URL / 网络图直传免自建 OCR数据访问TypeORM 只读实体直连共享 MySQL实体按表最小化建模排除敏感列数据库MySQL 8.0tp8_admin 共享库与商城业务库物理同库、逻辑只读隔离业务后端ThinkPHP 8现有商城零改造商品/订单/用户业务保持原状鉴权安全JWT 全局守卫与现有账号体系打通AI 接口不裸奔日志与可观测nestjs-pino TypeORM SQL/慢查询日志结构化日志便于检索慢查询阈值监控保障查库性能前端验证Vue3 图文聊天页管理后台已集成 Tiptap 富文本与对话 Demo开箱即用的联调与演示环境5.2 商品知识库工具集AI 的手mall 模块向智能体暴露 4 个查询工具工具描述面向大模型编写模型据此自主选择工具能力典型触发语search_products按关键词模糊搜索在售商品名称 关键词双字段匹配“有没有保温杯”“iPhone 多少钱”get_product_detail按商品编号查完整详情价格、库存、销量、SKU 规格、商品介绍“第一个多少钱”“详细说说编号 12”list_categories列出全部商品分类“你们都卖什么品类”list_products_by_category按分类浏览在售商品“手机分类下有什么”工具设计要点入参用 zod Schema 定义并附自然语言描述模型提取参数不会出错返回统一 JSON 结构空结果返回明确语义“商品不存在或已下架”避免模型误读所有查询强制过滤未删除 在售AI 与用户看到的商品范围一致。5.3 大模型平台策略┌────────────── LLM_PLATFORM 环境变量 ──────────────┐ │ 一键切换 │ ┌──────────▼─────────┐ ┌──────────────┐ ┌────────────────▼──┐ │ 阿里云百炼 DashScope │ │ DeepSeek │ │ 本地 Ollama │ │ qwen-plus问答 │ │ deepseek-chat│ │ qwen2.5纯文本 │ │ qwen3-vl-plus视觉│ │ 纯文本 │ │ qwen3-vl视觉 │ └────────────────────┘ └──────────────┘ └───────────────────┘ 效果优先 成本备选 内网隔离/离线场景生产推荐云端平台效果与视觉能力最佳密钥仅存于服务器环境变量若后续有数据不出内网的合规要求可切换本地 Ollama 部署架构零改动。六、核心功能模块意图识别与多轮对话管理6.1 意图识别由大模型 Agent 驱动替代传统规则引擎传统客服机器人依赖关键词 → 话术规则表意图覆盖率低、维护成本高。本方案将意图识别交给大模型智能体用户输入 ──► 大模型理解语义 ──► 自主决策 ──┬──► 需要数据调用对应查询工具 ├──► 追问上轮商品引用历史返回的编号 └──► 闲聊/无关问题礼貌自然回应意图覆盖示例用户表达模糊/口语化识别出的意图智能体动作“保温杯有货吗”商品搜索 库存咨询模糊搜索 → 汇总价格库存作答“都卖些什么”分类浏览列出分类清单“手机那一类有啥”按分类浏览定位分类 id → 列出在售商品“第一个多少钱”上下文指代 详情查询从上轮工具结果取真实编号 → 查详情“这个图里的东西你们有吗”图片理解走视觉模型通道识别图片内容6.2 多轮对话管理对话历史透传小程序端维护会话消息列表每轮请求携带历史user/assistant 消息模型获得完整上下文支持指代消解“它”“第一个”跨轮数据锚定System Prompt 强制要求列举商品时附商品编号使编号成为多轮对话中的数据锚点——用户追问详情时模型只能引用工具真实返回过的编号从机制上根除多轮对话中模型编造商品 ID 的问题该问题已在实测中暴露并通过约束修复验证历史消息安全过滤仅接受 user/assistant 角色消息过滤工具中间态消息防止协议层注入。6.3 防幻觉与安全约束客服人设 Prompt 工程智能客服内置六条强制规则是本方案数据可信的核心保障规则内容先查后答任何商品相关问题必须先调用工具查真实数据严禁编造查无如实查不到时如实告知并建议更换关键词编号锚定列举商品必须附上来自工具返回的真实编号ID 溯源详情查询的 ID 只能来自本轮或历史对话中工具的真实返回表达规范中文作答、简洁清晰、多商品列表化边界友好商品无关问题礼貌自然回应不生硬拒绝6.4 图文双通道通道触发条件处理链路文本通道仅文字消息LangChain Agent 商品工具查库作答图文通道携带图片base64 / data URL / 网络图自适应视觉多模态模型图文理解直接作答图片入参做了统一归一化纯 base64 自动拼装 data URL兼容小程序多种上传形态。七、安全、稳定与可观测维度措施数据安全mall 模块只读实体、不暴露成本价等敏感列API Key 仅存服务器环境变量接口安全JWT 全局鉴权守卫AI 接口纳入统一账号体系写入风险AI 链路无任何写库路径天然杜绝误改商品/订单数据性能监控TypeORM 慢查询阈值监控超限 SQL 自动告警保障查库工具不拖慢对话可审计nestjs-pino 结构化日志记录每轮请求SQL 日志可回放AI 查了什么容错工具返回结构化空语义模型服务异常时接口统一错误响应不影响商城主业务八、实施进展与演进规划8.1 当前进展一期已完成并实测通过ai_chat 图文对话接口文本 图片 多轮历史mall 商品知识库模块4 个查询工具只读直连共享库LangChain Agent 集成与客服人设 Prompt 约束多轮对话 ID 编造问题修复与回归验证链式查询分类浏览 → 取编号 → 精确查详情多平台大模型工厂dashscope / deepseek / ollama 一键切换管理后台图文对话调试页可视化联调8.2 后续演进路线阶段能力说明一期已完成商品问答智能客服本方案内容实测通过二期RAG 知识问答接入退换货政策、使用指南等文档知识库与 Tool Calling 形成结构化 非结构化互补二期小程序端正式接入商城小程序聊天入口上线会话持久化三期订单/售后工具扩展新增订单查询、物流跟踪工具Agent 主链路零改动三期流式输出与会话体验升级SSE 流式回答、打字机效果、快捷问题推荐附一句话总结本方案以“共享数据库只读直连 大模型 Tool Calling 智能体”为核心架构让商城小程序获得一位 7×24 小时在线、回答全部来自真实数据的图文智能客服一期已开发完成并实测验证具备向订单、售后、知识问答平滑演进的能力。