news 2026/9/24 20:30:43

5分钟打造你的专属AI助手:Strands Agents零基础入门指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
5分钟打造你的专属AI助手:Strands Agents零基础入门指南

5分钟打造你的专属AI助手:Strands Agents零基础入门指南

【免费下载链接】harness-sdkBuild an agent harness and control it end-to-end. Open-source SDK for production AI agents in Python & TypeScript - any model, any cloud.项目地址: https://gitcode.com/GitHub_Trending/sdkpython13/harness-sdk

Strands Agents是一个简单而强大的SDK,采用模型驱动的方法来构建和运行AI智能体。从简单的对话助手到复杂的自主工作流,从本地开发到生产部署,Strands Agents都能满足你的需求。本文将带你快速上手,在短短5分钟内创建你的第一个AI助手。

✨ 为什么选择Strands Agents?

Strands Agents之所以能让你快速构建AI助手,得益于其四大核心优势:

  • 轻量级且灵活:简单的智能体循环,易于使用且完全可定制
  • 模型无关:支持Amazon Bedrock、Anthropic、Gemini、LiteLLM、Llama、Ollama、OpenAI、Writer等多种模型提供商
  • 高级功能:多智能体系统、自主智能体和流式支持
  • 内置MCP:原生支持模型上下文协议(MCP)服务器,可访问数千种预构建工具

🚀 快速开始:5分钟安装与配置

一键安装步骤

确保你已安装Python 3.10或更高版本,然后执行以下命令:

# 创建并激活虚拟环境 python -m venv .venv source .venv/bin/activate # Windows用户使用: .venv\Scripts\activate # 安装Strands和工具包 pip install strands-agents strands-agents-tools

最快配置方法

Strands Agents默认使用Amazon Bedrock模型提供商,你需要配置AWS凭证并在us-west-2区域启用Claude 4 Sonnet模型访问权限。对于其他模型提供商的配置细节,请参考快速入门指南。

💻 创建你的第一个AI助手

基础计算器助手

下面是一个简单的计算器AI助手示例,只需5行代码:

from strands import Agent from strands_tools import calculator # 创建带有计算器工具的智能体 agent = Agent(tools=[calculator]) # 向智能体提问 result = agent("What is the square root of 1764") print(result) # 输出: 42

这个简单的AI助手能够使用计算器工具来回答数学问题。Strands Agents会自动决定何时需要调用工具,何时可以直接回答。

自定义工具开发

除了使用预构建工具,你还可以轻松创建自己的工具。以下是一个简单的单词计数工具示例:

from strands import Agent, tool @tool def word_count(text: str) -> int: """计算文本中的单词数量。 这个文档字符串会被LLM用来理解工具的用途。 """ return len(text.split()) # 创建包含自定义工具的智能体 agent = Agent(tools=[word_count]) response = agent("这句话有多少个单词?") print(response) # 输出: 这句话有7个单词。

工具热重载功能

Strands Agents还支持从目录自动加载和热重载工具,非常适合开发过程:

from strands import Agent # 智能体将监视./tools/目录的变化 agent = Agent(load_tools_from_directory=True) response = agent("使用工具目录中的任何工具来帮助我")

🔄 连接MCP服务器:获取更多强大工具

Strands Agents原生支持模型上下文协议(MCP)服务器,让你能够访问数千种预构建工具:

from strands import Agent from strands.tools.mcp import MCPClient from mcp import stdio_client, StdioServerParameters # 创建AWS文档MCP客户端 aws_docs_client = MCPClient( lambda: stdio_client(StdioServerParameters(command="uvx", args=["awslabs.aws-documentation-mcp-server@latest"])) ) with aws_docs_client: # 从MCP服务器加载工具 agent = Agent(tools=aws_docs_client.list_tools_sync()) # 提问关于Amazon Bedrock的问题 response = agent("告诉我关于Amazon Bedrock以及如何用Python使用它") print(response)

🌐 支持多种AI模型提供商

Strands Agents支持多种模型提供商,你可以轻松切换不同的AI模型:

Amazon Bedrock示例

from strands import Agent from strands.models import BedrockModel # 配置Bedrock模型 bedrock_model = BedrockModel( model_id="us.amazon.nova-pro-v1:0", temperature=0.3, streaming=True, # 启用/禁用流式传输 ) agent = Agent(model=bedrock_model) agent("告诉我关于智能体AI")

Google Gemini示例

from strands import Agent from strands.models.gemini import GeminiModel # 配置Google Gemini模型 gemini_model = GeminiModel( client_args={ "api_key": "your_gemini_api_key", }, model_id="gemini-2.5-flash", params={"temperature": 0.7} ) agent = Agent(model=gemini_model) agent("告诉我关于智能体AI")

Ollama本地模型示例

from strands import Agent from strands.models.ollama import OllamaModel # 配置本地Ollama模型 ollama_model = OllamaModel( host="http://localhost:11434", model_id="llama3" ) agent = Agent(model=ollama_model) agent("告诉我关于智能体AI")

Strands Agents还支持Anthropic、Cohere、LiteLLM、llama.cpp、LlamaAPI、MistralAI、OpenAI、SageMaker和Writer等模型提供商,完整列表可查看模型提供商文档。

🎯 进阶功能:双向流式传输

Strands Agents提供实验性的双向流式传输功能,支持实时语音和音频对话:

# 安装双向流式传输支持 pip install strands-agents[bidi] # 如需音频I/O支持 pip install strands-agents[bidi,bidi-io]

以下是一个简单的实时音频对话示例:

import asyncio from strands.experimental.bidi import BidiAgent from strands.experimental.bidi.models import BidiNovaSonicModel from strands.experimental.bidi.io import BidiAudioIO, BidiTextIO from strands.experimental.bidi.tools import stop_conversation from strands_tools import calculator async def main(): # 创建带有Nova Sonic v2模型的双向智能体 model = BidiNovaSonicModel() agent = BidiAgent(model=model, tools=[calculator, stop_conversation]) # 设置音频和文本I/O audio_io = BidiAudioIO() text_io = BidiTextIO() # 运行实时音频流对话 # 说"stop conversation"可以优雅地结束对话 await agent.run( inputs=[audio_io.input()], outputs=[audio_io.output(), text_io.output()] ) if __name__ == "__main__": asyncio.run(main())

📚 学习资源与文档

想要深入了解Strands Agents的更多功能?以下资源可以帮助你:

  • 用户指南
  • 快速入门指南
  • 智能体循环
  • 示例代码
  • API参考
  • 生产部署指南

🤝 开始你的AI助手之旅

现在你已经了解了Strands Agents的基础知识,是时候开始创建你自己的AI助手了!无论是简单的工具调用还是复杂的多智能体系统,Strands Agents都能让你轻松实现。

要开始使用,只需克隆仓库并按照本文的指南操作:

git clone https://gitcode.com/gh_mirrors/sdkpython13/sdk-python cd sdk-python

祝你在AI助手开发的旅程中取得成功!如有任何问题,欢迎查阅官方文档或参与社区讨论。

【免费下载链接】harness-sdkBuild an agent harness and control it end-to-end. Open-source SDK for production AI agents in Python & TypeScript - any model, any cloud.项目地址: https://gitcode.com/GitHub_Trending/sdkpython13/harness-sdk

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 20:30:36

Word内容粘贴到富文本编辑器样式丢失?一套清洗管线方案彻底解决

1. 问题根源:为什么Word内容一进浏览器就“变脸”做前端的人,尤其是跟CMS后台、富文本编辑器、协同文档打过交道的,基本都遇到过一个让人抓狂的场景:客户或者运营同事在Word里排版排得漂漂亮亮,标题带色、段落缩进、表…

作者头像 李华
网站建设 2026/9/24 20:30:26

BeautifulSoup解析HTML:从网页中精准提取结构化数据

经常有初学者跑来问我:拿到一个网页源码,接下来该怎么办?requests 明明已经把 HTML 全抓回来了,可看着满屏的标签和属性,就是不知道怎么把想要的书名、价格、链接一个个摘出来。这其实就是爬虫路上的第一道真正的坎——…

作者头像 李华
网站建设 2026/9/24 20:29:20

跨模型Skill适配实战:让一套技能兼容GPT、Claude与Llama

作为一个经常在大模型应用层折腾的开发者,我遇到最常见也最头疼的问题,就是明明在GPT上写得飞起的Skill,换个模型,比如切到Claude,或者本地部署的Qwen,立刻就"智障"了。输出的JSON格式乱了、工具…

作者头像 李华
网站建设 2026/9/24 20:29:01

Dynamics 365全模块数据打通:基于OData API的实时同步实践

1. 项目概述:这不是简单的系统对接,而是一场数据主权的重新定义Dynamics 365不是一套“买来就能用”的软件,它是一套由CRM(客户关系管理)和ERP(企业资源计划)两大核心支柱构成的、高度可配置的企…

作者头像 李华
网站建设 2026/9/24 20:27:08

C# WinForm排队叫号系统实战:号池、多窗体通信与TCP广播

简介:基于C#(WinForm)开发的排队叫号系统项目,覆盖智能排队全流程:预约、取号、微信取号、绿色通道、服务评价与数据统计分析,并整合取号端、软件/硬件叫号器、LED条屏端、综合显示屏端、消息服务端及语音端…

作者头像 李华