Spring AI Lab 近期正式发布了 v0.3.0 版本,本次升级的核心聚焦于 Skill 系统的全面革新。简单来说,新版本支持你在生产环境中随时动态增删改 Skill,无需重新打包或部署应用。对于需要频繁调整 AI 行为逻辑的业务场景,这一特性非常高效。

核心升级:多源 Skill 动态加载
Skill 体系现已支持三种加载来源,它们按优先级自动覆盖。具体来说:
- REST API 动态注册:运行时通过接口创建,拥有最高优先级。
- 外部文件目录:直接修改外部目录内的文件,改动即刻生效。
- classpath 内置:JAR 包内的兜底策略,确保开箱即用。
这三者构成了有序的加载链条,上层的变化会自动覆盖下层配置,使用起来极其灵活。
外部目录支持:热加载成亮点
只需添加一行配置,即可指定一个外部可写目录,例如:
spring.ai.lab.skill.external-dir: /opt/myapp/skills
此后,你在这个目录下新增、修改或删除任何 .md 文件,框架都会自动热加载,完全不需要重启服务。这才是热加载的正确打开方式,开发效率和运维成本都能得到显著优化。
REST API 管理端点
开启配置项 enable-management: true 后,系统会暴露 5 个管理接口,全面覆盖 Skill 的增删改查以及全量重载操作:
| 方法 | 路径 | 功能 |
|---|---|---|
| GET | /api/skills | 查看所有 Skill |
| GET | /api/skills/{name} | 查看 Skill 详情 |
| POST | /api/skills/{name} | 创建/更新 Skill |
| DELETE | /api/skills/{name} | 删除 Skill |
| GET | /api/skills/reload | 全量重新加载 |
这意味着你可以通过程序化接口,像管理数据库记录一样管理 AI Skill,实现真正的动态调整能力。
配置参考
为方便你快速上手,这里提供一个完整的配置示例:
spring:
ai:
lab:
skill:
enabled: true
external-dir: ./custom-skills # 外部可写目录(支持热加载)
auto-init: true # 首次自动种子化内置 Skill
enable-management: false # REST API 管理(按需开启)
hot-reload: true # 监听文件变更自动刷新
routing-strategy: semantic # 可选 semantic / keyword / llm
similarity-threshold: 0.1
max-matched-skills: 3
从这份配置可以看出,除了基础的开关和目录设置,还提供了热加载开关、路由策略、相似度阈值等细节控制。其中 routing-strategy 和 similarity-threshold 在语义匹配场景下对精准度调优尤为关键。
总体而言,v0.3.0 的 Skill 系统升级,使 Spring AI Lab 在动态管理能力上迈出了重要一步。无论是开发阶段的快速迭代,还是生产环境的灰度调整,这套架构都提供了灵活高效的支撑。
