第 1 课
安装 SDK 并跑首个 Agent:选 provider + python -u
按官方 Python Quickstart 安装 strands-agents,选 Bedrock / Anthropic / OpenAI / Gemini / Ollama 之一写 agent.py,用 python -u agent.py 完成首调。
课程目录第 1 / 2 课
学习位置仅保存在当前浏览器,有效期 180 天。
图文讲义
来源:Strands Agents · Python Quickstart。本讲义为中文跟做整理,命令、包名与模型 ID 以官方当前文档为准;密钥只用环境变量占位,勿把真实 Key 写入代码或仓库。
你将得到什么
- 本机可用的 Strands Harness SDK(
pip install strands-agents) - 一份可运行的
agent.py,用 Bedrock 默认或 Anthropic / OpenAI / Gemini / Ollama 之一完成首调 - 清楚「模型是一个对象交给 Agent,其余代码与 provider 无关」这一官方设计
开始前准备
- Python 3.10+,并已激活虚拟环境(官方要求)。不确定时可先核对:
python3 --version
对照结果:版本号应 ≥ 3.10。若更低,请先升级或改用符合要求的解释器。
- 选定一个模型提供商(本课主路径五选一;官方默认是 Amazon Bedrock)。
- 按所选 provider 准备凭证(下一节表格);不要把密钥写进
agent.py。
核心事实(先记住)
| 项 | 官方值 |
|---|---|
| 安装 | pip install strands-agents |
| 默认 provider | Amazon Bedrock(Claude Sonnet 4.6,us-west-2) |
| 运行方式 | python -u agent.py(-u 便于流式输出到终端) |
| 其他 provider 额外包 | strands-agents[anthropic] / [openai] / [gemini] / [ollama] |
步骤 1:建虚拟环境并安装 SDK
官方安装命令:
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install strands-agents
对照结果:pip show strands-agents 应能打印出包名与版本;终端无报错即安装成功。
需要虚拟环境说明时,可参考 Python 官方 venv 文档(官方 Quickstart 亦指向该页)。
步骤 2:配置所选 provider 的凭证
按你实际能用的通道选一行;命令里的 YOUR_…_HERE 只是占位,请换成自己控制台里签发的值,且优先写进 shell 环境或本地未入库的 .env(本课不演示密钥管理工具)。
A. Amazon Bedrock(默认,无需额外 pip 包)
官方给出三种本地/云上凭证方式之一即可:
# 方式 1:Bedrock API key(官方称本地开发最快)
export AWS_BEARER_TOKEN_BEDROCK=YOUR_BEDROCK_API_KEY_HERE
# 方式 2:AWS 访问密钥(也可用 aws configure)
export AWS_ACCESS_KEY_ID=YOUR_AWS_ACCESS_KEY_ID_HERE
export AWS_SECRET_ACCESS_KEY=YOUR_AWS_SECRET_ACCESS_KEY_HERE
# 可选:
# export AWS_SESSION_TOKEN=YOUR_SESSION_TOKEN_HERE
对照结果:环境变量已 echo 可见(勿截图外传);并在 Amazon Bedrock 控制台 为所用模型开通访问(官方要求)。
B. Anthropic
pip install 'strands-agents[anthropic]'
export ANTHROPIC_API_KEY=YOUR_ANTHROPIC_API_KEY_HERE
C. OpenAI
pip install 'strands-agents[openai]'
export OPENAI_API_KEY=YOUR_OPENAI_API_KEY_HERE
D. Google Gemini
pip install 'strands-agents[gemini]'
export GEMINI_API_KEY=YOUR_GEMINI_API_KEY_HERE
E. Ollama(本机,无需云账号)
pip install 'strands-agents[ollama]'
ollama serve
ollama pull llama3.1
对照结果:ollama list 中可见 llama3.1;http://localhost:11434 可访问。
步骤 3:写 `agent.py`(按 provider 复制对应片段)
在项目目录新建 agent.py。以下片段与 Python Quickstart · Run your first agent 各 Tab 一致。
Bedrock(默认,最简)
from strands import Agent
# Bedrock is the default, so no model object is needed.
agent = Agent()
agent("What is an agent harness, in one sentence?")
Anthropic
from strands import Agent
from strands.models.anthropic import AnthropicModel
# Reads ANTHROPIC_API_KEY from the environment.
model = AnthropicModel(model_id="claude-sonnet-5", max_tokens=4096)
agent = Agent(model=model)
agent("What is an agent harness, in one sentence?")
OpenAI
from strands import Agent
from strands.models.openai import OpenAIModel
# Reads OPENAI_API_KEY from the environment.
model = OpenAIModel(model_id="gpt-5.4")
agent = Agent(model=model)
agent("What is an agent harness, in one sentence?")
Gemini
from strands import Agent
from strands.models.gemini import GeminiModel
# Reads GEMINI_API_KEY from the environment.
model = GeminiModel(model_id="gemini-2.5-flash")
agent = Agent(model=model)
agent("What is an agent harness, in one sentence?")
Ollama
from strands import Agent
from strands.models.ollama import OllamaModel
model = OllamaModel(host="http://localhost:11434", model_id="llama3.1")
agent = Agent(model=model)
agent("What is an agent harness, in one sentence?")
步骤 4:运行并对照结果
官方运行命令:
python -u agent.py
对照结果(成功时):
- 终端开始流式打印模型回复(一句解释什么是 agent harness)。
- 进程正常退出,无
AuthenticationError/AccessDenied/ 连接超时。 - 若失败:先核对步骤 2 的环境变量名是否与官方一致,再确认 Bedrock 模型访问已开通,或 Ollama 是否在监听
11434。
官方说明:看不到你的 provider 时,Strands 还支持 LiteLLM、Mistral、SageMaker、Llama API、llama.cpp、Writer、OpenAI 兼容端点与自定义 provider——详见官方 Model Providers 文档(本课不展开)。
本课检查清单
-
pip show strands-agents成功 - 所选 provider 的环境变量或 Ollama 已就绪(无真实 Key 进仓库)
-
python -u agent.py打出一句自然语言回答 - 理解:换 provider 时主要改 model 对象与安装额外包,
Agent(...)/agent(...)调用形态不变
下一课:在同一 agent.py 上加 @tool、挂载官方 file_editor,并把 Strands MCP 接到 Cursor / Claude Code。
