从"陪聊机器人"变成"产品导航员"

让AI自动了解你的小程序 ------ AgentForge-WX的autoContext设计思路

上次发了篇《5分钟给你的微信小程序加个AI助手》,有开发者问了一个好问题:AI接入之后,对自己小程序的功能一无所知,用户问"这个App能干嘛",AI只能胡扯。

这确实是个痛点。传统的AI聊天组件就是个"陪聊",对你的产品一无所知。用户想要的不是聊天,是有人教他用这个小程序。

所以我想了一个方案:让AI自动了解你的小程序。


痛点:AI是个"外人"

想象一下这个场景:

erlang 复制代码
用户:这个小程序能干嘛?
AI:我是一个AI助手,可以回答你的问题、聊天、写文案...
用户:...我是问这个小程序有什么功能
AI:抱歉,我不太了解这个小程序的功能

尴尬。AI就像一个刚入职的客服,什么都没培训就上岗了。


最初方案:让开发者配置

我的第一反应是让开发者手动配置:

js 复制代码
const agent = new Agent({
  appContext: {
    appName: '花销记事本',
    features: [
      { name: '快速记账', desc: '手动输入金额和分类,3秒记一笔', page: '/pages/add/add' },
      { name: '账单导入', desc: '导入微信/支付宝账单文件自动解析', page: '/pages/import/import' },
      // ...还要写更多
    ],
    faq: [
      { q: '怎么记一笔花销?', a: '首页点右下角+号,输入金额选分类' },
      // ...还要写更多
    ]
  }
});

写完之后我看了看------这谁会用? 引入框架本来是为了省事,结果配置比写代码还麻烦。我是个开发者,我要的是"复制粘贴就能跑",不是"填20行配置才能用"。


转变思路:让AI自己"看懂"小程序

既然不想让开发者写配置,那就让AI自己发现信息。

微信小程序运行时,页面的路由、tabBar、标题这些信息本来就存在。AI需要的不是"被告诉",而是"自己看"。

方案:自动扫描 + 一行开关

开发者在 app.js 的 globalData 里声明功能信息(这是小程序开发本身就有的数据):

js 复制代码
// app.js --- 小程序本来就有的文件
App({
  globalData: {
    // 你本来就要写的应用数据
    appName: '花销记事本',
    
    // 加这一段就行
    agentforge: {
      pages: [
        { name: '记账', desc: '快速记一笔', path: '/pages/add/add' },
        { name: '统计', desc: '月度花销图表', path: '/pages/stats/stats' },
      ],
      tabBar: {
        list: [
          { text: '首页', pagePath: '/pages/index/index' },
        ]
      }
    }
  }
});

组件加一个属性:

html 复制代码
<agent-chat name="ai_main" autoContext />

就这样,完事。


实现原理

整个流程分三步:

第1步:小程序端自动收集

agent-chat 组件初始化时,自动从 getApp().globalData.agentforge 读取配置,随每次请求发给云函数:

js 复制代码
// 组件内部自动执行,开发者不需要写
attached() {
  const appContext = getApp().globalData.agentforge;
  this._client = new AgentClient({ appContext });
  // 之后每次聊天自动带上appContext
}

第2步:云函数自动注入systemPrompt

框架收到 appContext 后,自动拼一段"产品说明书"注入到AI的systemPrompt:

markdown 复制代码
## 你当前所在的小程序信息

小程序名称:花销记事本

### 功能页面:
- 记账:快速记一笔(路径:/pages/add/add)
- 统计:月度花销图表(路径:/pages/stats/stats)

### 底部Tab导航:
- 首页(/pages/index/index)

### 重要指令:
- 用户问"这个小程序能干嘛"时,列出功能页面
- 需要帮用户跳转到某个页面时,使用navigate工具
- Tab页面用switchTab跳转,其他页面用navigate跳转

AI瞬间就"懂了"这个小程序。

第3步:navigate工具实现页面跳转

AI不仅能"说",还能"做"。注册了一个内置的 navigate 工具:

php 复制代码
用户:帮我看统计
AI:→ 调用 navigate({ path: '/pages/stats/stats', type: 'switchTab' })
客户端收到指令 → wx.switchTab({ url: '/pages/stats/stats' })
AI回复:帮你打开统计页面了 📊

关键设计:navigate工具在云函数端不实际跳转(云函数没这个能力),而是返回一个跳转指令,由小程序端执行。这样保持了前后端职责分离。


效果

markdown 复制代码
用户:这个小程序能干嘛?
AI:花销记事本有2个核心功能👇
    1. 记账 --- 快速记一笔花销
    2. 统计 --- 月度花销图表和分类占比
    你想用哪个?我教你怎么操作

用户:怎么导入账单?
AI:点击首页的"导入"按钮,选择微信或支付宝账单文件上传就行。
    我帮你直接跳过去?👉

用户:好
AI:→ 自动跳转到 /pages/import/import
    已帮你打开导入页面!

为什么这是杀手级功能

传统AI框架 AgentForge-WX + autoContext
AI对你小程序一无所知 AI自动了解功能和页面
用户问功能不会答 精确列出功能列表
想跳转页面?自己点 AI直接帮你跳
需要写大量配置 一行 autoContext 搞定

AI不应该只是聊天机器人,它应该是产品的智能导航员。

这才是AI助手该有的样子------不需要教用户怎么用,AI直接带他们去。


仓库地址

欢迎 Star ⭐ 欢迎 PR 🤝


如果这篇文章对你有帮助,点个赞👍让更多人看到,谢谢!

相关推荐
小蒜学长1 天前
基于微信小程序的遇见咖啡店点餐系统设计与实现(代码+数据库+LW)
java·spring boot·后端·微信小程序·咖啡店点餐系统
光影少年2 天前
Taro 是如何解析入口配置 app.config.ts 和页面配置的?
微信小程序·小程序·typescript·reactjs·百度小程序·taro
用户788477316342 天前
门店核销闭环:小程序扫码 + .NET 幂等接口 + WPF 看板,一天能跑通
微信小程序·c#
愚公搬代码2 天前
【愚公系列】《微信小程序项目实战(AI编程+视频图解)》014-莫凡商城小程序项目视图容器组件的应用
微信小程序·小程序·ai编程
星光开发者3 天前
基于决策树随机森林算法的小说推荐系统的设计与实现-计算机毕设【课程设计】78485
vue.js·算法·微信小程序·django·php·课程设计·express
QQ_21696290963 天前
基于微信小程序的智能膳食分析系统
java·大数据·spring boot·微信小程序·小程序·旅游
QQ_21696290963 天前
基于C#(Asp.net)电竞陪玩信息管理系统的设计与实现
java·大数据·spring boot·微信小程序·c#·云计算·asp.net
m0_462803884 天前
名单制签到怎么落地:拆解“仅名单内人员签到“的配置链路与匹配逻辑
微信小程序
卓怡学长5 天前
w192基于springboot“考研情报站”微信小程序设计与实现
java·spring boot·spring·微信小程序·intellij-idea
Q26433650237 天前
【有源码】基于uni-app的旅游行程规划小程序-基于微信小程序的智慧文旅综合服务平台
java·微信小程序·小程序·uni-app·毕业设计·springboot·源代码