探索 Spring AI SDK:Amazon Bedrock AgentCore 指南(第一部分)
目录 简介
- 代理式 AI 框架的角色
- 什么是 Spring AI 和 Spring AI SDK?
- 什么是 Amazon Bedrock AgentCore 及其作用?
- Amazon Bedrock AgentCore 功能
- 1. AgentCore 运行时
- 2. AgentCore 内存
- 3. AgentCore 网关
- 4. AgentCore 身份认证
- 5. AgentCore 策略
- 6. 内置工具:代码解释器
- 7. 内置工具:浏览器
- 8. 生成式 AI 可观测性
- 9. 评估
- 分步指南
简介
自 ChatGPT 问世以来,人工智能在各行各业迅速普及。它代表了我们构建和使用软件方式的重大突破。此外,这项突破性技术推动了重大的转型。与此同时,它也带来了大量的噪音和炒作。
如今,人工智能不再是实验性的,而是变得像电力和互联网一样必不可少。因此,它在我们的日常生活中发挥着关键作用。总的来说,这种转变反映了跨行业的技术加速。
从开发的角度来看,软件开发生命周期正在不断演进,特别是正稳步向 AI 工程迈进。在我看来,这种转变提高了开发人员和架构师的生产力。
然而,我们必须保持谨慎。例如,我们不应盲目信任 ChatGPT、GitHub Copilot 或其他 AI 助手生成的输出。相反,我们必须审查并验证所有生成的文本、代码和内容,只有这样才能将其部署到生产环境中供客户使用。
代理式 AI 框架的角色
与此同时,随着 AI 的不断进化并带来惊人的成果,许多代理式(Agentic)AI 框架应运而生。因此,开发人员和架构师可以在短时间内构建和试验各种用例。此外,这些框架作为突破性技术,加速了创新。
同时,供应商提供的 SDK 处理了关键的架构和基础设施问题。例如,它们管理可扩展性、可靠性、安全性和可观测性。因此,这种支持反映了生态系统中强大的技术加速。
结果,开发人员和架构师可以主要专注于构建核心的代理逻辑。
对于 Python 和 TypeScript 开发人员,AWS 开源了 Strands Agents SDK。它遵循模型驱动的方法,只需几行代码即可构建和运行 AI 代理。
同时,Amazon Bedrock SDK 处理底层基础设施功能,包括可扩展性、可靠性、安全性和可观测性。根据我的经验,我已经使用该框架探索、构建并部署了多个代理。我发现它是一个非常有趣且强大的框架。
在本文中,我们将重点介绍 Spring AI 及其与通用 Amazon Bedrock SDK 的集成。具体而言,Spring AI AgentCore SDK 使开发人员能够构建生产就绪的 AI 代理。此外,他们可以在高度可扩展的 AgentCore 运行时上运行这些代理。
[LOADING...]
什么是 Spring AI 和 Spring AI SDK?
根据 Spring AI 文档,它是一个用于 AI 工程 的应用框架。通过使用该框架,开发人员可以将 数据和 API 与 AI 模型 连接起来。
Spring AI AgentCore SDK 是一个开源库,将 Amazon Bedrock AgentCore 的功能引入了 Spring AI。它使用熟悉的模式,如注解、自动配置和可组合的顾问(Advisors)。
借助 Spring AI 构建器,开发人员只需添加依赖项并注解方法,SDK 就会处理剩下的工作。
什么是 Amazon Bedrock AgentCore 及其作用?
根据 Amazon 文档,它是一个代理式 AI 平台,使开发人员能够使用任何框架和任何模型大规模地构建、部署和操作代理。
使用 Amazon Bedrock AgentCore 的一个关键原因是它简化了开发。它允许开发人员专注于构建 AI 代理和实现业务逻辑。然而,配置可扩展性、可靠性、安全性、治理和可观测性等功能通常需要大量的时间和精力。
借助 Amazon Bedrock AgentCore,平台处理了基础设施层,并开箱即用地提供了这些功能。因此,开发人员可以专注于核心代理开发,而不是管理底层系统。
[LOADING...]
来源:Amazon
Amazon Bedrock AgentCore 功能
Amazon Bedrock AgentCore 提供以下功能:
1. AgentCore 运行时
- AI 代理运行的执行环境
- 自动处理扩展、会话管理和隔离
- 让您无需管理基础设施即可部署代理
2. AgentCore 内存
- 帮助代理在交互中记住上下文
- 支持:
- 短期记忆(对话上下文): 使用滑动窗口方法存储最近的消息。
- 长期记忆(持久知识): 使用语义、用户偏好、摘要和情景记忆策略等多种策略在会话间持久化知识。
- 实现更个性化和智能的响应
3. AgentCore 网关
- 将代理连接到 API、工具和外部系统
- 将 API/Lambda 函数转换为代理兼容的工具 (MCP)
- 以最少的代码简化工具集成
4. AgentCore 身份认证
- 管理代理的身份验证和访问控制
- 与现有身份提供商(例如 Cognito、Okta、OAuth2)集成
- 确保与系统和数据的安全交互
5. AgentCore 策略
- 定义代理行为的规则和边界
- 控制代理可以执行的操作
- 在不减慢执行速度的情况下确保合规性和治理
6. 内置工具:代码解释器
- 提供用于执行代码的安全沙箱
- 支持多种语言(Python、JS 等)
- 帮助代理执行复杂的计算和任务
7. 内置工具:浏览器
- 允许代理与网站交互
- 可以导航页面、填写表单和提取数据
- 在安全、托管的环境中运行
8. 生成式 AI 可观测性
- 监控和跟踪生产环境中代理的性能
- 提供工作流的跟踪、调试和可视化
- 帮助识别故障并优化性能
- 可观测性作为独立功能在 CloudWatch 中以 Sidecar 形式提供
9. 评估
- 衡量代理的质量和性能
- 评估准确性、可靠性和任务成功率
- 通过数据驱动的见解帮助改进代理
分步指南
我们可以从创建一个示例代理开始,然后逐步添加和集成内存、网关、身份认证和策略等 AgentCore 服务。我们还可以结合内置工具,如浏览器和代码解释器。
可观测性、评估和高级身份管理功能仍在不断演进,预计将在未来的 SDK 版本中推出。
1. 将以下物料清单 (BOM) SDK 依赖项添加到 pom.xml 中
完整的 pom.xml