| Claude Agent Skills(技能) |
Solon AI Talents(才能) |
| 一句话定义 |
Agent 学习获得的能力 |
Agent 内在具备的能力 |
| 能力来源 |
运行时学习 |
开发时添加 |
| 类比 |
实习生在项目中边做边学的新手艺 |
工程师入职前就已掌握的专业本领 |
Solon AI Talents 在设计思想上,深度参考并吸收了 Claude Code Agent Skills 的概念原型,但两者在落地上走向了不同的维度 —— 前者是 Agent 在运行时"学会"的,后者是开发者在编码时"赋予"的。
1、 运行时学习的技能:Claude Code Agent Skills
本质上是 Model-Side Tooling(模型端工具增强),是一个规约文件。
Claude Code 的 Skill 将复杂的系统级操作(如文件读写、代码搜索、Shell 执行)封装成模型可感知的技能。Agent 在运行过程中,根据上下文主动学习并决定调用哪些技能。
- 核心价值:极致的 Agency(代理性)。它让 Agent 像真人程序员一样拥有操作物理资源的手。
- 存在形式:一系列高度集成的本地工具集。
- 能力特征:全量挂载,模型自行按需调用 —— Agent 在运行时"学会"了使用这些工具。
简单说:技能是 Agent 在运行时自己"学"会的。
2、 开发时注入的才能:Solon AI Talents
进一步将"能力封装"抽象为 Developer-Side Framework(开发侧框架扩展),是一个规约接口。
Solon AI Talents 在概念原型上参考了 Claude Code 的 Skill 体系,但将其从"运行时学习"翻转为"开发时注入"—— 开发者在编码阶段就通过接口契约为 Agent 预设好能力边界、行为规范和生命周期。
- 核心价值:工程化的 Control(可控性)。它不仅关注"才能是什么",更关注"如何在复杂的企业环境中约束和编排才能"。
- 存在形式:一套标准的 Java 接口契约与生命周期模型。
- 能力特征:通过
isSupported、onAttach、getInstruction 等钩子,开发者在编译时就定义了才能的激活条件、初始化逻辑和指令策略。
简单说:才能是开发者在开发时"赋予"Agent 的。
3、 一张表看懂两者的差异
| 特性维度 |
Claude Agent Skills(技能) |
Solon AI Talents(才能) |
| 核心定位 |
运行时学习的能力 |
开发时添加的能力 |
| 设计起源 |
赋予 Agent 物理操作能力 |
参考前者原型,实现业务架构规范 |
| 存在形态 |
静态工具描述 + 执行逻辑 |
Java 接口契约 + 动态生命周期钩子 |
| 上下文感知 |
模型自行按需调用 |
通过 isSupported 实现业务前置感知 |
| 指令策略 |
静态 System Prompt 注入 |
通过 getInstruction 实现指令动态合成 |
| 权限控制 |
依赖运行环境权限 |
三态路由:基于角色/租户的动态分发 |
| 谁在主导 |
Agent 自己(运行时决策) |
开发者(开发时定义) |
4、 从"运行时学习"到"开发时注入":架构上的演进
4.1 动态生命周期:让才能具备"感知力"
Claude Code 的技能通常是全量挂载的 —— Agent 在运行时自行判断用哪个。而 Solon AI 的 Talent 接口引入了更严谨的生命周期管理,在开发时就定义好激活规则:
isSupported(Prompt) — 开发者预先定义"这个才能在什么条件下才激活"。例如:一个"退款才能"会感知当前用户权限,若权限不足,该才能在探测阶段就会"隐身",模型从根源上无法感知到它的存在。
onAttach(Prompt) — 在才能激活时触发,允许开发者进行 Session 预热或初始化业务参数。这是从单纯的"工具调用"向"有状态任务"的跨越。
4.2 指令染色与动态注入:减少模型幻觉
Solon AI 吸收了 Claude Code 通过 System Message 约束 Agent 行为的思想,并将其从"运行时学习"提升为"开发时编排":
- 工具染色:将 Talent 的元信息(如所属模块、约束条件)动态"染色"到每一个
FunctionTool 中。
- 指令对齐:通过
getInstruction 动态生成当前上下文最相关的 Prompt,并与工具列表强绑定注入 System Message。确保模型不仅拥有"工具",还拥有当前业务场景下的"使用说明书" —— 而这些都是在开发时就编排好的。
5、 核心接口:才能的工程哲学
通过 Solon AI 的 Talent 接口,可以看到"开发时注入"这一理念的完整落地:
public interface Skill {
// 才能名称(默认类名)
default String name() { ... }
// 才能描述
default String description() { ... }
// 才能元信息
default SkillMetadata metadata() { ... }
// 准入检查:开发时定义 —— 该才能在当前对话上下文中是否被激活
default boolean isSupported(Prompt prompt) { return true; }
// 挂载钩子:才能被激活时触发
default void onAttach(Prompt prompt) { ... }
// 动态指令注入:开发时编排 —— 生成并注入到 System Message 的描述性文本
default String getInstruction(Prompt prompt) { ... }
// 动态工具注入:获取该才能挂载的所有功能工具
default Collection<FunctionTool> getTools(Prompt prompt) { ... }
}
6、 总结:一句话记住两者的区别
Claude Agent Skills(技能)= 运行时学习的能力 — Agent 在运行过程中自己学会的本事,解决"Agent 能做什么"的问题。
Solon AI Talents(才能)= 开发时添加的能力 — 开发者在编码时就赋予 Agent 的本领,解决"开发者如何构建 Agent 系统"的问题。
如果你正在为 Agent 打造运行时的执行利器,Claude Code 的技能思想是最佳参考;如果你正在构建一套可维护、可治理的 AI 业务框架,Solon AI 的才能接口则是更成熟的工程方案。