agent-builder
AWS 官方开源的交互式 AI Agent 构建工具,通过 pipx 一键安装,支持 27+ 内置工
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AWS 官方开源的交互式 AI Agent 构建工具,通过 pipx 一键安装,支持 27+ 内置工
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你是一个 AI 开发者,正在为项目中频繁的文件操作、Shell 命令、API 调用感到繁琐——每一个重复性操作都要手写代码、调试、修改。Strands Agent Builder 就是为解决这一痛点而生的工具:它将 27+ 常用工具封装成交互式 AI Agent,让你用自然语言驱动整个开发流程,像指挥一个不知疲倦的程序员助手一样完成复杂任务。
Strands Agent Builder 来自 AWS Strands 开源项目家族(harness-sdk 已有 6278 ★),由亚马逊官方维护,是 Amazon Bedrock 生态的重要组成。它的核心定位是"示例代理"(Example Agent)——展示如何用 Strands SDK 构建具有流式输出、工具调用和交互能力的 AI Agent。不同于其他概念性 Demo,这个项目是可直接运行的生产级 CLI 工具,Apache-2.0 开源许可。
项目由 AWS 团队在 2025 年 5 月创建,不到一年时间积累了 421 颗星,组织下还有 7 个相关仓库(tools 1101★、samples 797★、agent-sop 1049★),形成了一个完整的开源 Agent 工具链生态。
Strands Agent Builder 的核心价值在于交互式 Agent 开发体验。安装只需一行命令:
pipx install strands-agents-builder
strands
进入交互模式后,你可以用自然语言构建工具和 Agent:
# 构建一个情感分析工具并测试
strands "Create a tool named sentiment_analyzer that analyzes text sentiment"
# 从规格说明文件构建专业 Agent
cat agent-spec.txt | strands "Build a specialized agent based on these specifications"
# 用知识库扩展现有工具
strands --kb YOUR_KB_ID "Load my previous calculator tool"
项目内置了 27 个开箱即用工具,覆盖开发全流程:
| 工具类别 | 包含工具 |
|---|---|
| 系统操作 | shell、editor、python_repl、cron(Linux/Mac) |
| 文件管理 | file_read、file_write、journal |
| API 与网络 | http_request、slack、retrieve(RAG) |
| AI 能力 | generate_image(Bedrock Nova)、nova_reels(视频生成)、use_aws、use_llm |
| Agent 协作 | agent_graph(多 Agent 图)、swarm(Agent 群)、think(并行推理)、workflow |
| 开发辅助 | calculator、current_time、memory、load_tool |
特别值得关注的是 嵌套 Agent 能力(strand 工具):你可以在一个 Agent 中调用另一个 Agent,实现复杂的工具委托和工作流分解。例如,让主 Agent 负责任务规划,子 Agent 负责具体执行,各司其职。
项目采用分层架构:
strands-agents-builder (CLI 入口层)
├── src/strands_agents_builder/
│ ├── strands.py # 主入口,交互式 CLI
│ ├── tools.py # 工具注册(27+ 内置工具 + 3 个自定义工具)
│ ├── handlers/ # Callback 处理器(流式输出、进度显示)
│ ├── models/ # 模型加载(Bedrock / Ollama)
│ └── utils/ # 知识库、欢迎文本等工具
├── tools/ # 自定义工具(rich_interface、strand、store_in_kb)
└── tests/ # 完整测试套件(pytest + pytest-xdist)
依赖关系:项目本身极简,核心逻辑不超过 500 行 Python,重量级能力全部来自 strands-agents(6278★)和 strands-agents-tools(1101★)两个姐妹库。这体现了 Strands 家族"SDK + 示例 + 工具"三层解耦的设计哲学。
模型支持:默认使用 Amazon Bedrock(AWS 官方),同时通过 model_utils 支持 Ollama(本地模型)和 OpenAI 兼容接口。这意味着你可以用开源模型(如 Llama 3)本地运行,也可以切换到 Anthropic Claude 或 OpenAI GPT 等商业模型。
代码质量:项目使用了严格的开发规范——mypy 强制类型注解、ruff lint 检查、pre-commit 自动化格式、pytest-xdist 分布式测试,覆盖所有 Python 3.10~3.14 版本。
该项目深度集成 Amazon Bedrock Knowledge Bases(知识库)。你可以将自定义工具、Agent 配置和开发历史持久化存储到知识库中,下次启动时直接加载,无需重复配置:
strands --kb YOUR_KB_ID "Load my previous calculator tool"
知识库底层使用 Bedrock 的向量存储(支持 Amazon Titan Embeddings V2 嵌入模型),数据可以是 S3 存储桶、Aurora PostgreSQL 或 OpenSearch Serverless,实现 RAG(检索增强生成)能力。
Strands Agent Builder 是典型的开发者工具包,无 Web UI、无 Dockerfile、无 docker-compose。它的部署依赖 Python 3.10+ 环境,最便捷的安装方式是 pipx:
pipx install strands-agents-builder
如果需要知识库功能,还需要配置 AWS Bedrock 相关的 IAM 角色和 API 权限。硬件要求极低(2GB RAM 即可),但需要稳定的网络连接来调用 LLM API。
Strands 项目家族的崛起代表了大型云厂商"开源优先"的趋势:亚马逊不仅开源了 Agent SDK(6278★),还配套开源了工具库(1101★)、MCP Server、评估框架,形成了端到端的开源 Agent 解决方案。与 LangChain 不同,Strands 更强调"控制性"——它是一个 Agent Harness(工具化框架),让你精确控制 Agent 的行为、流式输出和工具调用,而非用 LangChain 的链式抽象隐藏底层细节。
项目目前处于 Beta 阶段,活跃维护(每月多次 commit),Discord 社区生态正在成长。对于想在 AWS 生态或生产环境中构建 Agent 系统的开发者,Strands 是一个值得关注的技术选型。
图1:Strands Logo —— AWS 官方开源品牌

图2:Amazon AWS —— 项目的官方维护者