skills-engine

将知识模块封装为可组合、可治理的Spring组件

安装使用

复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:

帮我安装这个 AI Skill:skills-engine。
它的用途是:将知识模块封装为可组合、可治理的Spring组件
完整的 Skill 内容见:https://321skill.com/skills/skills-engine/raw/index.md
请读取该页面内容,如果是 SKILL.md 格式直接安装,如果是 README 提炼核心 prompt 后安装。

提示词包含完整的 Skill 内容链接,AI 读取后即可完成安装。你也可以 查看完整内容 确认无误。

使用示例

“帮我集成客服知识库到智能助手,但涉及SLA的敏感查询需要主管权限才能触发。” 你可以创建一个`HelpdeskSkill`,用`@SkillAttribute`标注SLA信息,用`@SkillTool`并设置`minVisibilityLevel`来暴露查询FAQ的工具。运行时,系统会根据当前会话用户的权限级别,动态决定是否将该工具提供给LLM调用。

介绍

Skills Engine 旨在解决AI应用开发中知识、能力与治理分离的痛点。它将业务知识、接口和访问控制打包成名为“Skill”的Spring组件,使开发人员能够像管理普通服务一样管理AI能力。

使用上,开发者通过@Skill、@SkillTool、@SkillAttribute等注解即可声明一个技能,它自动成为Spring Bean,可以被直接调用、注入工作流,也能在满足条件时作为工具暴露给LLM。项目提供了完整的运行时支持,包括技能快照、可见性分级和基于上下文的工具暴露策略。

它非常适合正在使用或计划使用Spring AI构建复杂智能体系统的后端和全栈开发者,尤其是那些需要将企业内部知识库、业务流程或特定领域能力模块化并安全集成到AI会话中的团队。

需要注意的是,该项目定位为实践性参考实现,而非开箱即用的成熟框架,更适合作为学习Spring AI高级特性(如递归顾问)和设计模块化AI系统的蓝本。在投入生产前,可能需要根据自身业务进行定制和扩展。

核心特点

核心区别在于将Skill定义为“语义化、可治理的一等公民”,通过@SkillTool注解的PSL(按需暴露)策略和minVisibilityLevel属性,实现了基于会话上下文的动态工具权限管理,而非简单的静态工具列表。这使得技能既能作为普通Spring Bean被代码调用,又能智能地、有条件地成为LLM的“手”。

注意事项

该项目目前主要是一个参考实现和实验场,不适合寻求开箱即用、功能完备的AI技能框架的团队直接用于生产环境。

常见问题

Skills Engine 和直接使用 Spring AI 的 @Tool 注解有什么区别?

它通过@SkillTool在@Tool基础上增加了技能命名空间、基于可见性等级的动态暴露策略(PSL)和操作提示(如returnDirect),使工具管理更精细、更贴合业务上下文。

Skill 一定要暴露给 LLM 当工具用吗?

不一定。Skill首先是Spring组件,可以在代码中直接调用。通过配置@SkillTool的expose策略,可以控制其是否、以及在何种条件下对LLM可见,实现了能力的内外部统一封装。

给 AI 助手的安装指引

如果你的 AI 编程助手(Claude Code、Cursor、TRAE 等)能看到这个页面,把下面这段发给它即可自动完成安装:

请访问 https://321skill.com/skills/skills-engine/raw/index.md 读取 skills-engine 的原始 Skill 定义(Markdown 格式),按其中说明在我的环境里完成安装和配置。