AWS 开源 Strands Agents SDK,简化 AI 代理开发

亚马逊网络服务 (AWS) 已开源其Strands Agents SDK,旨在使 AI 代理的开发更易于访问,并使其在各个领域具有更强的适应性。通过采用模型驱动的方法,Strands Agents SDK 在很大程度上抽象了构建、编排和部署智能代理背后的复杂性,使开发人员能够更轻松地构建自主规划、推理和交互的工具。

在 Strands 中定义代理

从本质上讲,使用 Strands 构建的 AI 代理由三个基本组件定义:模型、工具集和提示。这些组件共同作用,使代理能够通过使用大型语言模型 (LLM) 进行迭代推理和选择工具,执行从回答查询到协调工作流等各种任务。

  • 模型:Strands 支持一系列模型,包括来自 Amazon Bedrock(例如 Claude 或 Titan)、Anthropic、Meta 的 Llama 以及其他提供商的模型,这些模型可通过 LiteLLM 等 API 实现。它还支持使用 Ollama 等平台进行本地模型开发,并且开发者可以根据需要定义自定义模型提供商。
  • 工具:工具代表模型可以调用的外部功能。Strands 提供 20 多种预构建工具,涵盖文件操作、API 调用和 AWS 服务集成等各种功能。开发者还可以使用@tool装饰器轻松注册自己的 Python 函数。值得一提的是,Strands 支持数千个模型上下文协议 (MCP) 服务器,从而实现动态工具交互。
  • 提示:定义代理需要完成的任务或目标。提示可以由用户定义,也可以在系统级别设置,以控制常规行为。
AWS 开源 Strands Agents SDK,简化 AI 代理开发

代理循环

Strands 通过循环运行,其中代理与模型和工具交互,直到提示定义的任务完成。每次迭代都涉及使用当前上下文和工具描述调用 LLM。模型可以选择生成响应、规划多个步骤、反思过去的行为或调用工具。

当选择一个工具时,Strands 会执行该工具并将结果反馈给模型,如此循环直至最终响应完成。该机制充分利用了 LLM 不断增强的推理、规划和适应能力。

通过工具实现扩展

Strands SDK 的优势之一在于它能够使用工具来扩展代理行为。一些更高级的工具类型包括:

  • 检索工具:与 Amazon Bedrock 知识库集成以实现语义搜索,使模型能够动态检索文档,甚至使用基于嵌入的相似性从数千个选项中选择相关工具。
  • 思维工具:促使模型进行多步骤的分析推理,从而实现更深入的规划和自我反思。
  • 多智能体工具:包括工作流、图表和集群工具,这些工具允许协调子智能体以执行更复杂的任务。Strands 计划支持 Agent2Agent (A2A) 协议,以进一步增强多智能体协作。

现实世界的应用程序和基础设施

Strands Agents 已在 AWS 内部得到采用。Amazon Q Developer、AWS Glue 和 VPC Reachability Analyzer 等团队已将其集成到生产工作流程中。该 SDK 支持一系列部署目标,包括本地环境、AWS Lambda、Fargate 和 EC2。

代理的可观察性是通过 OpenTelemetry (OTEL) 内置的,可以实现详细的跟踪和诊断——这对于生产级系统至关重要。

结论

Strands Agents SDK 提供了一个结构化且灵活的 AI 代理构建框架,它强调模型、工具和提示之间的清晰划分。其模型驱动循环以及与现有 LLM 生态系统的集成,使其成为希望以最少的样板代码和强大的自定义功能实现自主代理的开发者的理想之选。

更多信息请查看:https://github.com/strands-agents

本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/58166.html

(0)

相关推荐

发表回复

登录后才能评论