Agent Skill黄金三层结构与五步法打造指南:让AI帮你自动生成若依框架代码!

Agent Skill黄金三层结构与五步法打造指南:让AI帮你自动生成若依框架代码!

文章介绍Agent Skill的设计原理与实现方法,重点讲解黄金三层结构(元数据层、指令层、资源层)和五步法打造技能包(定边界、显性化经验、工具与脚本、引入控制流、迭代与反馈)。通过若依代码生成器改造案例,展示如何将项目规范、代码模板打包成可复用Skill,让AI按预设规则自动生成符合规范的代码,提升开发效率并减少重复工作。


读完这篇文章,你将学会:
✅ 什么是 Agent Skill
✅ 设计技能的黄金三层结构
✅ 五步法打造你的第一个技能包
✅ 实践拆解:将若依代码生成器改为Agent Skill


前几天有小伙伴在 [Antigravity 进阶指南: 3 种方式复刻 Kiro Spec 模式]那篇文章下留言,想要那个示例里的Spec模式 Skill 包。

我想了想,与其直接给大家丢一个 Skill 文件,不如和大家聊聊什么时候需要创建以及怎么创建Agent Skill。

在让 AI 帮我们生成Skill之前,我们需要先理解 Skill 的设计原理。 下面我将用开源项目ruoyi来举例说明。

若依框架


用过若依框架的开发者都知道,若依自带一个代码生成器:

  1. 你在后台导入数据库表
  2. 配置生成选项(包名、模块名、前端类型等)
  3. 点击"生成代码",一键产出 Controller、Service、Mapper、Vue 页面

为什么能一键生成? 因为若依把代码规范、目录结构、模板文件(.vm)都预先定义好了。生成器只需要把表信息"填"进模板,就能输出符合规范的代码。

使用 Agent Skill 做代码生成器是完全一样的事——只不过执行者从"若依生成器"变成了"AI"。

你把规范文档、代码模板、执行步骤打包成一个 Skill,AI 读取后就变成了一个"懂若依规范的代码生成器"。


01 | 什么是 Agent Skill?

给 AI 的一份特定工作的"工作手册",包含步骤说明、代码模板和规范文档,让 AI 按你要求的方式干活

Prompt vs Skill:一次性指令 vs 可复用资产

简单来说:

  • Prompt:一次性的对话指令,用完即弃
  • Skill:可复用、版本化、包含执行逻辑的"能力扩展包"

什么时候需要设计 Skill?

问自己三个问题:

  1. 是否经常重复同样的解释?→ 需要
  2. 任务是否需要特定模板或规范?→ 需要
  3. 流程是否复杂,需要多步协同?→ 需要

如果你在开发中反复告诉 AI"我们项目用什么框架、要遵守什么规范、生成什么格式",那你就应该把这些经验打包成一个 Skill。


02 | 设计架构:渐进式披露的三层结构

设计 Skill 有个核心原则:渐进式披露(Progressive Disclosure)

什么意思?不要把所有信息一股脑塞给 AI。

AI 的上下文窗口是有限的,信息太多反而会让它"注意力分散"。正确的做法是:分层加载,按需读取。

📊 三层结构一览

 ┌─────────────────────────────────────────────────────┐ │ Level 1:元数据层 (始终可见) │ │ ├── name: 技能名称 │ │ └── description: 触发条件描述 │ ├─────────────────────────────────────────────────────┤ │ Level 2:指令层 (激活时加载) │ │ └── SKILL.md 正文:工作流程、输入输出、约束条件 │ ├─────────────────────────────────────────────────────┤ │ Level 3:资源层 (按需读取) │ │ ├── templates/:代码模板 │ │ ├── references/:规范文档 │ │ └── scripts/:可执行脚本 │ └─────────────────────────────────────────────────────┘ 

🔍 若依代码生成器Skill

我们来看一下这个Skill包的结构:

 ruoyi-code-generator/ ├── SKILL.md ← Level 1+2:元数据 + 指令 ├── references/ ← Level 3:参考文档 │ ├── coding-standards.md (命名规范、类型映射) │ └── examples.md (完整示例) └── templates/ ← Level 3:代码模板 ├── java/ │ ├── domain.java.vm │ ├── controller.java.vm │ └── ... ├── vue/ │ └── index.vue.vm └── sql/ └── sql.vm 

Skill包的结构

为什么这样设计?

  • 当 AI 判断是否使用这个技能时,只需要读取 description(几行字)
  • 当技能被激活后,才加载 SKILL.md 正文
  • 当需要生成具体代码时,才读取 templates/ 目录下的模板

信息按需加载,效率最大化。


03 | 五步法打造你的第一个 Skill

第一步:定边界

一个 Skill 只解决一类问题。

❌ 错误示范:“前端开发助手”(太宽泛)
✅ 正确示范:“若依框架 CRUD 代码生成器”(聚焦具体场景)

同时,明确定义输入和输出

 ## 输入定义 - tableName: 数据库表名(必填) - columns: 字段列表(必填) - packageName: 包路径(选填,默认 com.ruoyi.system) ## 输出定义 - Java 后端代码(5 个文件) - Vue 前端代码(2 个文件) - SQL 脚本(1 个文件) 

第二步:显性化经验

把你脑海中的隐性知识写成显性规则

❌ 模糊描述:“代码风格要规范一点”
✅ 精确规则:

 ## 命名规范 - 类名使用大驼峰,表名去前缀:sys_user → SysUser - 变量名使用小驼峰:userName, createTime - 接口方法统一前缀:select/insert/update/delete 

关键原则:自由度控制

任务类型自由度描述方式
创意类(写文案)给原则,让 AI 发挥
规范类(生成代码)给模板,让 AI 填空

代码生成属于低自由度任务,所以我们的技能里提供了完整的 .vm 模板文件,AI 只需要做变量替换,而不是"自由创作"。

第三步:工具与脚本

对于容易出错的步骤,不要让 AI 推理,给它脚本直接执行

比如复杂的数据类型映射:

 ### 2.1 MySQL → Java 类型映射 bigint → Long int/integer → Integer smallint → Integer tinyint → Integer tinyint(1) → Boolean (自动识别布尔类型) varchar/char → String text/longtext → String datetime → Date timestamp → Date date → Date decimal/numeric → BigDecimal float → Float double → Double blob → byte[] 

references/coding-standards.md

把这些规则写成文档,AI 需要时直接查表,而不是靠"记忆"或"推理"

第四步:引入控制流

在 Skill 中设计规划-执行-反思的流程:

 ## 执行流程 ### 第一步:信息收集与验证 1. 解析用户请求,识别表名、字段信息 2. 缺省信息追问(如:主键是哪个字段?) 3. 推断默认值 ### 第二步:变量准备 根据输入计算模板变量... ### 第三步:代码生成 按顺序读取并填充模板... ### 第四步:自检与交付 1. 检查生成的代码是否符合规范 2. 提供后续操作指引 

SKILL.md

这就是 SOP(标准作业程序)的力量——把复杂任务拆解成可执行的步骤。

第五步:迭代与反馈

没有完美的 Skill,只有不断优化的 Skill。

观察 AI 在哪一步"出错"或"乱猜",然后把那个步骤的规则补充完善。

比如我们发现 AI 有时候会搞混 ClassName(大驼峰)和 className(小驼峰),于是在文档中加了这一段:

 ## 变量命名对照表 - ${ClassName} → 类名大驼峰(Product) - ${className} → 类名小驼峰(product) - ${BusinessName} → 业务名首字母大写(Product) - ${businessName} → 业务名小写(product) 

04 | 避坑指南:这四个错误别犯

❌ 错误 1:SKILL.md 写成"小作文"

技能正文控制在 500 行以内。太长说明你应该把内容拆分到 references/ 目录。

❌ 错误 2:description 太模糊

“处理文件” ← 这种描述,AI 完全不知道什么时候用。

要写成:“从 PDF 文件中提取文本并转换为 Markdown 格式”。

❌ 错误 3:给了脚本/模板但不说怎么用

在正文中明确告诉 AI:

 生成实体类时,读取 templates/java/domain.java.vm 模板, 将 ${ClassName}、${columns} 等变量替换后输出。 

❌ 错误 4:缺少示例

提供 1-2 个完整的输入输出示例(Few-shot),能大幅提升执行准确率。

我们在 references/examples.md 里放了完整的产品管理模块示例,AI 参考这个示例就能举一反三。


05 | 写在最后

设计 Agent Skill 本质上是一种思维方式的转变

从"执行者"变成"管理者",从"自己干活"变成"写说明书让 AI 干活"。

这就像你从"一线员工"晋升为"部门经理"——你不再亲自写每一行代码,而是定义规范、设计流程、赋能团队。

AI 就是你的"数字员工",Skill 就是你给它的"培训手册"

如何学习AI大模型?

如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!

这份完整版的大模型 AI 学习和面试资料已经上传ZEEKLOG,朋友们如果需要可以微信扫描下方ZEEKLOG官方认证二维码免费领取【保证100%免费】

这是一份大模型从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!

请添加图片描述


第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

100套AI大模型商业化落地方案

请添加图片描述

大模型全套视频教程

请添加图片描述

200本大模型PDF书籍

请添加图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

LLM面试题合集

请添加图片描述

大模型产品经理资源合集

请添加图片描述

大模型项目实战合集

请添加图片描述

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

Read more

Flutter 三方库 http_cache_hive_store 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、透明、工业级的 HTTP 二级缓存与 Hive 数据库持久化联动引擎

Flutter 三方库 http_cache_hive_store 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、透明、工业级的 HTTP 二级缓存与 Hive 数据库持久化联动引擎

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 http_cache_hive_store 的鸿蒙化适配指南 - 在鸿蒙系统上构建极致、透明、工业级的 HTTP 二级缓存与 Hive 数据库持久化联动引擎 在鸿蒙(OpenHarmony)系统的端云一体化网络架构、针对高频 API 的请求压实(Debounce)或者是需要实现“秒开离线”的网络应用场景中,如何让 http 或 dio 库自动具备缓存能力,并将缓存物理落地到极速的 Hive 非关系型数据库中?http_cache_hive_store 为开发者提供了一套工业级的、基于 Hive 的网络响应持久化缓存方案。本文将深入实战其在鸿蒙端网络响应加速中的应用。 前言 什么是 HTTP

By Ne0inhk
Flutter 三方库 flutter_adaptive_scaffold 的鸿蒙化适配指南 - 掌握一套代码适配全场景终端的自适应架构技术、助力鸿蒙应用构建从手机到平板及折叠屏的极致无缝交互体系

Flutter 三方库 flutter_adaptive_scaffold 的鸿蒙化适配指南 - 掌握一套代码适配全场景终端的自适应架构技术、助力鸿蒙应用构建从手机到平板及折叠屏的极致无缝交互体系

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 flutter_adaptive_scaffold 的鸿蒙化适配指南 - 掌握一套代码适配全场景终端的自适应架构技术、助力鸿蒙应用构建从手机到平板及折叠屏的极致无缝交互体系 前言 在 OpenHarmony 鸿蒙应用追求“万物互联、全场景覆盖”的伟大进程中,屏幕尺寸的多样性(从 6 英寸手机到 12 英寸平板,再到 2D/3D 模式切换的折叠屏)是每一位 UI 开发者必须正面迎接的挑战。如何在不为每种设备重写 UI 的前提下,实现导航栏自动从“底部”平滑流转到“侧边”?如何在宽屏模式下自动开启“双栏(Master-Detail)”布局?flutter_adaptive_scaffold 作为一个由 Flutter

By Ne0inhk
AIGC | Midjourney使用指南,直接拿捏~

AIGC | Midjourney使用指南,直接拿捏~

目录 前言:第一篇ZEEKLOG博客,还请各位大佬多多指教!! 一、认识Midjourney 二、Midjourney算法原理 三、Midjourney基本操作指南 1、安装 2、使用演示及基本分区讲解 3、命令解析 4、后缀解析 总结:     前言:第一篇ZEEKLOG博客,还请各位大佬多多指教!!   一、认识Midjourney   Midjourney是由David Holz 2022年3月推出的一款AI制图工具。处于聊天软件discord中,主要功能涵盖图像生成、风格化、变体生成、图生图等,且提供高级工具精细控制生成过程。 使用上需创建账户、获邀请后通过Discord频道输入文字提示来操作。相比于SD(stable diffusion) MJ随机性更大,细节处理精度不够。 二、Midjourney算法原理   MJ基于深度学习中的生成对抗网络(GAN)和扩散模型等技术。 * 生成对抗网络(GAN):由生成器和判别器组成。生成器的任务是根据输入的随机噪声和文本描述等信息,生成尽可能逼真的图像;

By Ne0inhk
Flutter 三方库 objectbox_generator — 自动化构建鸿蒙极速 NoSQL 数据库映射(适配鸿蒙 HarmonyOS Next ohos)

Flutter 三方库 objectbox_generator — 自动化构建鸿蒙极速 NoSQL 数据库映射(适配鸿蒙 HarmonyOS Next ohos)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net。 Flutter 三方库 objectbox_generator — 自动化构建鸿蒙极速 NoSQL 数据库映射(适配鸿蒙 HarmonyOS Next ohos) 在高性能移动应用开发中,本地数据的持久化存储效率往往是决定用户感知流畅度的木桶短板。传统的 SQLite 虽然结构化程度高,但在处理大规模对象关系映射(ORM)时,复杂的 SQL 拼接和反射解析往往会成为性能瓶颈。 ObjectBox 作为一个专为移动设备打造的、跨平台的超高速 NoSQL 数据库,已经成为了许多追求极致体验开发者的首选。而在 Flutter for OpenHarmony 开发中,配合 objectbox_generator,我们可以通过注解驱动的自动化流程,掌握这套高性能数据库的核心用法。 ⚠️ 鸿蒙适配现状提示:截至本文撰写时,ObjectBox 的 Dart 插件尚未提供官方的 OpenHarmony

By Ne0inhk