切换日光/暗黑模式
107. 技能发现与 AI 生成模块
学习目标
这一节把技能发现接入聊天组件,并验证 AI 能根据技能从零生成一个业务模块。
学完后,你应该能理解:
- 技能发现如何和工具调用组合;
- AI 为什么要先读技能再生成代码;
- 询问用户的工具有什么作用;
- 从零生成模块需要哪些步骤;
- 菜单路径如何把模块页面挂到系统里;
- 为什么通用前后端封装能缩短 AI 的上下文。
询问用户的工具
Agent 做任务时,经常会遇到需求不清楚的情况。
例如字段类型、交互方式、展示风格、业务规则都有多个选择。
如果模型直接猜,容易做错。
课程里实现了一个“向用户提问”的工具。
它可以让 Agent 弹出选项,让用户选择后再继续执行。
这和你使用代码 Agent 时看到的确认框、选择框很像:模型不是所有事情都自己决定,而是在关键分支上让人参与。
技能工具
技能系统接入前端后,会提供两类能力:
- 获取所有技能简介;
- 读取某个技能详情。
所有技能简介会进入系统提示词。
当模型判断当前任务需要某个技能时,就调用读取技能详情的工具。
例如它要写前端页面,就读前端开发规范。
它要写后端接口,就读后端接口规范。
它要写模块配置,就读模块配置规范。
这就是技能发现。
为什么技能名称要清楚
课程里提到,技能名称和简介不要写得太短。
如果名字太模糊,模型不容易判断当前任务应该读哪个技能。
更好的方式是让技能名称本身就能说明适用场景。
例如不要只叫“前端规范”,而要描述成更明确的模块页面或通用表格开发规范。
技能越容易被模型匹配,工具调用越稳定。
从零生成模块
接入技能后,系统开始测试从零生成模块。
示例里创建了一个餐厅补贴相关模块。
新模块刚创建时,很多内容都是空的:
- 模块配置为空;
- 前端代码为空;
- 接口定义为空;
- 数据表还不存在。
用户只提出业务要求,例如必须有状态字段,状态包括已通过、已拒绝、审批中、结束等。
剩下字段可以让 AI 根据业务自行补充。
AI 生成的完整链路
AI 生成模块时,不是只生成一段页面代码。
它会按工具和技能完成一整条链路:
- 查询当前模块基础信息;
- 判断模块标识;
- 查询建表语句;
- 如果没有表,生成建表 SQL;
- 请求执行建表;
- 生成模块配置;
- 生成前端代码;
- 读取前端开发技能;
- 保存模块配置和代码;
- 在预览里验证增删改查。
这就是技能系统的价值。
模型不是凭感觉写代码,而是先读规范,再按系统已有能力完成任务。
挂到菜单
模块生成后,还要配置菜单。
菜单路径遵循特定约定,例如以公开或私有前缀开头,中间包含 module,后面接模块标识。
这样左侧菜单点击后,系统就能进入对应的模块页面。
也就是说,一个模块真正可用,需要同时完成:
- 数据表;
- 模块配置;
- 前端页面;
- 后端接口;
- 菜单入口。
只生成代码还不够。
为什么封装很重要
课程后面强调,Vibe 系统之所以能让 AI 很快生成模块,是因为前后端都已经封装过。
前端有通用表格组件。
后端有通用 CRUD 和模块接口。
模块配置也有固定结构。
这些封装会显著缩短上下文。
如果一个业务页面需要 AI 读几千行分散代码,失败率会很高。
如果系统把常见能力压缩成稳定配置和少量接口,AI 需要理解的内容就少很多,生成成功率也会高很多。
阶段重点
这一节的核心是让 AI 从“会调用工具”进一步变成“会读规范再开发”。
工具提供动作,技能提供规则,模块上下文提供目标。
三者组合起来,AI 才能把一个业务需求转换成真实可运行的页面和接口。