• Spring AI 智能体模式 2 : Anthropic 智能体 Skill

    Spring AI 新增了对 Anthropic 智能体 Skill 的支持 — 这类模块化能力可让 Claude 直接生成实际文件,而非单纯的文本描述。启用该 Skill 后,Claude 能生成可直接下载使用的 Excel 电子表格、PowerPoint 演示文稿、Word 文档和 PDF 文件。 局限性说明 Anthropic Skill 的实现方案仅适用于其自研的 Claude 系列模型,存在以下局限性: 无移植性: 该 Skill 依赖 Anthropic 的代码执行能力和 Files API 基础设施,无法在其他大模型平台(OpenAI、 Gemini 等)使用; 专属类依赖: 需使用 AnthropicChatOptions 、 AnthropicSkill 、 AnthropicSkillsResponseHelper 等 Anthropic 专属类,而非 Spring AI 的通用接口; 模型限制: 仅 Claude Sonnet 4、Sonnet 4.5 和 Opus 4 模型支持该 Skill ; 文件有效期: 通过 Anthropic Files API 生成的文件,24 小时后会自动过期; 公测功能属性: Skill API 需携带公测版本请求头,且接口规范仍可能持续迭代。 Anthropic Skill 与通用智能体 Skill 的选型建议 Spring AI 支持两种不同的智能体 Skill 实现方案,可根据业务需求选择: 选择 Anthropic 原生Skill API 的场景 需使用预构建的文档生成能力,支持 Excel、PowerPoint、Word、PDF 等格式; 希望 Skill 在沙箱化的安全云端环境中运行; 需实现团队共享的、工作空间级别的 Skill; 业务已确定基于 Claude 系列模型开发; 希望由 Anthropic 负责管理 Skill 的执行基础设施 选择通用智能体 Skill (spring-ai-agent-utils) 的场景 需要让 Skill 适配多款大模型(OpenAI、 Anthropic、 Gemini 等); Skill 需要访问本地资源、网络或自定义软件包; 希望将 Skill 与应用代码一起打包,进行版本控制; 需要对 Skill 的执行环境拥有更高的控制权; 优先考虑方案的可移植性,避免厂商锁定。 能否同时使用两种方案? 可以。在同一应用中,可通过 Anthropic 原生 Skill 实现文档生成,同时借助通用智能体 Skill 完成其他可移植的业务能力开发。二者定位不同、功能互补,可协同使用。

    [阅读更多...]
  • Spring AI 智能体模式 1 : Agent Skills – 模块化,可复用的能力

    独立于大模型,可在自有环境运行的 Skills。 Agent Skills 是由 指令、脚本和资源构成的模块化文件夹。 AI Agent 可以发现并按需加载 Skills。相较于将知识硬编码到 prompts 中 或者为每个任务开发专用工具,Skills 提供了一种灵活扩展智能体能力的实现方式。 Spring AI 的相关实现将 Agent Skills 引入到了 java 生态,实现了大模型的可移植性 — 只需定义一次 Agent Skills,即可在 OpenAI、Anthropic、Google Gemini 及其他所有得到支持的大模型中复用。 什么是 Agent Skills? Agent Skills 是模块化的能力,表现为以 yaml 格式封装的 markdown 文件。 每个 Skill 对应一个文件夹,文件夹中需要包含一个 SKILL.md 文件。在 SKILL.md 中至少需要配置 名称 和 描述 两类元数据,同时还包含指导 Agent 完成特定任务的指令。此外 Skills 文件夹中还可以整合脚本(scripts)、模板(templates)和参考文档(references)等内容。 其中的前置元数据不仅支持简单的字符串值,还支持复杂的 yaml 结构(列表和嵌套对象等)以支持高级使用场景。 Skills 采用渐进式披露机制实现上下文的高效管理: 发现阶段: Agent 启动时,仅加载所有可用 Skill 的名称和描述,保留能够判断 Skill 相关性的核心信息即可; 激活阶段: 当待执行任务与某一 Skill 的描述匹配时,Agent 才会将 Skill 的 SKILL.md 文件中的全部指令加载到上下文中; 执行阶段: Agent 按照指令完成任务,并根据具体情况按需加载引用文件或者执行内置代码 通过这个机制,即使注册上百个 Skill , 也能保证上下文窗口的轻量化,避免资源冗余。 Tips: 关于 Agent Skills 的更多内容可以参考 Skill 官方指南 为什么要在 Spring AI 中使用 Agent Skills 无缝集成 只需要注册少量工具,即可将 Agent Skill 集成到现有 Spring AI 应用中 — 且无需对架构做任何修改。 可移植、独立于模型,无厂商锁定 与绑定特定大模型平台的实现方案不同,Spring AI 的 Agent Skill 可以适配多家大模型服务商,切换模型时无需重写代码或重构 Skill。 可复用、可组合 Skill 可以在不同的项目间共享,与业务代码一起进行版本控制。多个 Skill 可以组合实现复杂工作流,还能通过辅助脚本和参考文档进行功能扩展。同时,Spring AI 的 Skill 还可以无缝兼容已有的 Claude Code

    [阅读更多...]