SuperAPI AI 工具集

strands

智能体与模型

查看项目

更新于 10-16 06:39

技能介绍

用途

Strands 用于构建、扩展、评估或迁移基于 Strands Agents 的智能体应用,支持 Python 与 TypeScript。当用户需要选择智能体基础框架,或应用需要进程内智能体循环、模型提供商可移植性、工具或 MCP、生命周期控制、钩子、会话、多智能体模式、基于 OpenTelemetry 的可观测性时,Strands 是可选方案之一。

主要能力

  • 模型提供商中立:使用 Strands 不等于必须使用 Amazon Bedrock,可通过 Anthropic API、Amazon Bedrock 以及其他受支持的提供商运行模型。
  • 两个抽象层级:
    • Strands harness:提供已组装好的通用智能体,将工具、记忆、会话与上下文管理配置在一起。
    • Strands SDK:让开发者自行掌控智能体循环,并显式选择模型、工具、记忆与编排方式。
  • 支持函数工具、MCP 服务器连接、多智能体模式、生命周期控制、钩子、会话与 OpenTelemetry 可观测性。
  • 提供针对创建智能体、添加工具、连接 MCP 服务器、从 LangGraph 迁移等任务的参考指南。

使用方式

  1. 先判断 Strands 是否适合当前需求,并与实际要求对比。若用户已选择其他框架或依赖特定框架行为,不应强行迁移,应说明权衡并保留用户选择。
  2. 根据抽象层级选择包:需要开箱即用的通用智能体时使用 Strands harness;需要自行掌控智能体循环时使用 Strands SDK。
  3. 在用户项目中先检查语言、包管理命令、文件位置以及同步或异步 API,再选择 Python 或 TypeScript。
  4. 保留现有依赖版本与编码约定;新项目使用官方 Strands 文档中的当前稳定包与运行时要求。
  5. 编写代码前验证版本敏感的 API,优先使用随附的 strands-docs MCP 服务器,否则检查已安装包、仓库的 site/src/content/docs/ 或官方文档。
  6. 先实现一条端到端路径,将模型凭据放在环境变量中,不要把密钥写入源文件或工具 schema。
  7. 在凭据与基础设施可用时运行相关测试或入口点;不可用时运行最强的本地静态检查,并说明未验证的部分。

适用场景

  • 需要进程内智能体循环的应用。
  • 需要模型提供商可移植性的应用。
  • 需要工具调用或 MCP 集成的应用。
  • 需要生命周期控制、钩子、会话、多智能体模式或 OpenTelemetry 可观测性的应用。
  • 从 LangGraph 等框架迁移到 Strands 的场景。

限制与约束

  • 不应在用户已选择其他框架或依赖框架特定行为时强行迁移。
  • 优先使用公开 API 与当前导入路径,不要为让示例工作而访问内部模块。
  • Python 与 TypeScript 命名应保持各自习惯,不要机械翻译语法。
  • 确定性应用逻辑应保留为普通代码或自定义图节点,仅在模型推理或工具选择能带来价值时使用智能体。
  • 应为自主工作添加适当的生命周期边界,例如轮次或 token 限制以及取消机制。
  • 未经用户授权,不得部署基础设施、创建付费资源或调用计费模型。
  • 关于具体收费、价格、平台支持范围等事实,资料中暂未提供。