AI 智能体微信小程序的技术架构设计需兼顾微信生态特性、AI 能力集成、用户体验与系统稳定性,需采用分层架构设计,明确各层职责与技术选型。以下从整体架构蓝图、核心层设计、关键技术链路、安全与可扩展性四个维度提供指南:
采用 “前端交互层 - 网关层 - 服务层 - AI 能力层 - 数据层” 的五层架构,各层解耦且通过标准化接口通信,支撑 “用户交互→AI 决策→服务执行→结果反馈” 的全流程。
- 核心目标:前端轻量化(减少本地计算)、服务层模块化(便于扩展功能)、AI 能力可插拔(支持多模型切换)、数据层安全合规(符合微信生态规范)。
核心职责:用户交互入口、本地状态管理、基础数据预处理(如语音转文字)。
-
技术栈:
- 基础框架:优先选用微信原生框架(WXML+WXSS+JavaScript/TypeScript),保证兼容性;复杂场景可选用跨端框架(如 UniApp),支持一次开发多端发布。
- 状态管理:使用小程序内置
getApp()
全局对象存储轻量状态;复杂状态(如多会话管理)可引入mobx-miniprogram
或pinia
的小程序适配版。
- 多模态交互:
- 文字:原生输入组件 + 自定义表情 / 快捷指令面板;
- 语音:集成微信
wx.startRecord()
API 或第三方语音 SDK(如讯飞语音),实现 “语音输入→本地转文字→提交”;
- 图片:
wx.chooseImage()
选择图片,通过云函数转发至 AI 视觉接口(如 OCR 识别、图像分析)。
-
设计要点:
- 分包加载:将 AI 模型相关组件(如本地轻量化推理模块)放入分包,降低主包体积(微信小程序主包限制 2MB);
- 离线能力:通过
wx.setStorageSync()
缓存用户配置、历史对话(非敏感数据),支持弱网环境下的基础交互;
- 响应式 UI:适配不同设备尺寸,对话界面采用 “气泡 + 加载动画” 设计,减少用户等待焦虑。
核心职责:请求路由、鉴权、限流、日志采集,作为前端与后端服务的中间层。
-
技术选型:
- 轻量场景:直接使用微信云开发的 “云函数网关”(通过云函数统一接收前端请求,再分发至对应服务);
- 高并发场景:自建网关(如基于 Node.js 的 Express/Koa,或开源网关 Kong),部署在云服务器(如腾讯云 ECS)。
-
核心功能:
- 身份鉴权:校验前端传入的
code
(通过wx.login()
获取),调用微信auth.code2Session
接口解析openid
,绑定用户身份;
- 限流防护:对单用户 / 单 IP 设置请求频率限制(如每分钟 50 次),防止 AI 接口被恶意调用;
- 请求过滤:拦截非法参数(如过长文本、违规关键词),减少下游服务压力。
核心职责:串联用户需求与 AI 能力,处理业务逻辑(如会话管理、任务分发)。
- 模块划分:
- 用户服务:管理用户信息(基于
openid
关联昵称、头像)、会员等级(免费 / 付费)、权限控制(如高级 AI 功能解锁);
- 技术:微信云数据库(存储用户基础信息)+ 云函数(处理登录、会员校验);
- 对话服务:维护会话上下文(多轮对话状态)、对话历史持久化、对话摘要生成;
- 技术:采用 “会话 ID + 上下文窗口” 机制,用 Redis 缓存短期上下文(提升响应速度),用 MongoDB 存储完整历史(支持分页查询);
- 任务调度服务:当 AI 识别到用户需要执行具体任务(如 “设置明天 9 点闹钟”“查询上海天气”),调用对应接口完成操作;
- 技术:基于消息队列(如腾讯云 CMQ)异步处理任务,对接微信生态 API(如
wx.addPhoneCalendar
添加日历)或外部服务 API(如高德天气 API)。
核心职责:提供自然语言理解、生成、推理能力,是智能体的 “大脑”。
-
接入方式(按场景选择):
- 通用场景:调用第三方 API(如 OpenAI 的 GPT 系列、微信云 AI 的对话接口、讯飞星火),快速实现基础对话能力;
- 垂直场景:基于 LangChain 构建 “知识库 + 通用模型” 的混合架构(如法律智能体需接入法律法规知识库),通过 RAG(检索增强生成)提升回答准确性;
- 轻量化场景:在小程序端部署轻量级模型(如 MobileBERT、MiniLLM),通过 TensorFlow Lite 实现本地推理(适合离线问答)。
-
能力封装:
- 意图识别:通过 AI 模型解析用户输入(如 “帮我订明天去北京的机票”→ 意图:“订票”,实体:时间 “明天”、地点 “北京”);
- 多轮对话管理:用状态机维护对话状态(如用户问 “天气怎么样”→ 追问 “哪个城市?”→ 确认后调用天气 API);
- 响应优化:对 AI 生成结果进行二次处理(如过滤敏感词、格式化输出为小程序友好的卡片样式)。
核心职责:存储用户数据、对话历史、系统配置等,支撑业务与 AI 能力。
-
存储选型:
- 关系型数据(用户信息、会员订单):微信云数据库(MySQL 兼容)或自建 MySQL;
- 非结构化数据(对话历史、图片):MongoDB(存储对话 JSON)+ 腾讯云 COS(存储图片 / 语音文件);
- 缓存数据(上下文、热点问题答案):Redis(提升高频访问场景的响应速度)。
-
数据安全:
- 加密存储:用户敏感信息(如手机号)通过 AES 加密后存储,密钥由服务端管理;
- 脱敏处理:对话历史中涉及的身份证、银行卡号等信息自动脱敏(用 “*” 替换);
- 合规备份:按微信规范定期备份数据,支持数据删除(用户注销账号时)。
- 用户交互:用户在小程序输入 “生成本周周报”,并上传每日工作记录图片(多模态输入);
- 前端处理:
- 调用
wx.chooseImage()
获取图片,通过云函数上传至 COS;
- 将文本 “生成本周周报”+ 图片 URL + 会话 ID 打包,发送至 API 网关;
- 网关层:校验用户
openid
合法性,确认用户有使用权限,转发至对话服务;
- 服务层:
- 对话服务通过会话 ID 获取历史上下文(如用户上周周报风格);
- 调用任务调度服务,触发 “图片 OCR 识别” 任务(解析工作记录);
- AI 能力层:
- 接收文本需求 + OCR 结果 + 历史上下文,调用 GPT-4 API 生成周报;
- 对生成结果进行格式化(分点、加粗标题),适配小程序展示;
- 反馈用户:服务层将结果返回前端,前端以 “卡片 + 一键复制” 形式展示,同时异步保存对话历史至数据层。
- 内容安全:接入微信
msgSecCheck
接口,对用户输入、AI 输出进行合规校验(过滤色情、暴力等内容);
- 接口安全:所有 API 调用采用 HTTPS,云函数密钥通过微信云环境变量管理(避免硬编码);
- 权限控制:基于 RBAC 模型设计权限(如免费用户限制每日 5 次 AI 调用,付费用户无限制)。
- 模块化拆分:各服务(用户、对话、AI)独立部署,通过 API 网关松耦合,便于单独升级;
- AI 模型可切换:封装统一的 AI 接口层(如
AIService
抽象类),支持快速切换第三方 API 或自建模型;
- 灰度发布:通过微信小程序 “体验版”+ 云函数环境隔离,先向部分用户测试新功能,再全量发布。
- AI 响应速度:对高频问题(如 “你好”)缓存答案;采用 “流式返回”(如 SSE 协议),让 AI 边生成边展示;
- 小程序加载速度:压缩图片 / JS 资源,首页关键路径代码内联,非核心组件延迟加载;
- 服务端性能:数据库添加索引(如对话表按
openid+会话ID
索引),云函数开启并发实例(应对峰值流量)。
通过以上架构设计,可构建一个 “轻量前端 + 稳定服务 + 灵活 AI + 安全数据” 的 AI 智能体微信小程序,既满足微信生态的严格规范,又能支撑 AI 能力的持续迭代。核心是让各层职责清晰,通过标准化接口降低耦合,为后续功能扩展(如新增多语言支持、接入更多垂直场景)预留空间