首页/新闻资讯/正文详情

strands SDK Python v0.2.0 技术解读:迭代式事件循环、Agent State、多模型推理与可观测性升级

发布时间:2026/9/27 6:34:37 来源:云帆数科 栏目:资讯中心
strands SDK Python v0.2.0 技术解读:迭代式事件循环、Agent State、多模型推理与可观测性升级
人工智能大模型AI AgentAgent 框架多智能体工具调用MCP 服务【免费下载链接】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 SDK Python 分支 v0.2.0 版本的发布变更展开系统梳理该版本在 Agent 执行模型、结构化输出、模型接入、可观测性与内部架构上的关键演进。读者将掌握新引入的迭代式事件循环与迭代式 Agent 用法、Agent State 状态管理的语义、Mistral / OpenAI reasoning 内容等模型层能力、tracer 重构后的自定义配置方式以及本次破坏性变更移除 FunctionTool对升级的影响。文中所有结论均以当前仓库源码与配置为佐证。版本总览strands SDK 的 Python 分支在 v0.2.02025-07-02 发布完成了从一次性调用到可迭代、可状态化执行模型的转变。本次版本的核心主题可以概括为四类迭代式执行模型事件循环event loop、Agent 与结构化输出全部迭代化Agent 状态Agent StateAgent 携带可序列化状态跨会话运行模型层扩展新增 Mistral 支持、OpenAI 推理内容reasoning content、Bedrock 常见错误补充异常信息、boto3 会话区域复用可观测性与内部清理tracer 重构、自定义 tracer provider、GenAI 语义约定更新、移除 FunctionTool 等破坏性变更。该版本同时迎来了两位新贡献者siddhantwaghjale 与 RingoIngo2涉及 A2A tools as skills 与模型并发请求 debug 日志两项功能。包的版本由 git tag 驱动tag_regex ^python/v(?Pversion.)$见 strands-py/pyproject.toml。迭代式执行模型事件循环、Agent 与结构化输出的统一迭代化v0.2.0 最核心的架构变化是 PR #268、#291、#295、#328 共同将执行链路改造为迭代器iterator驱动迭代式事件循环iterative event loopPR #268Agent 主循环被重构成可逐步推进的迭代过程调用方可以按需拉取事件流而不是被动等待整个回合结束迭代式 Agentiterative agentPR #295Agent 本身支持迭代式执行允许在回合之间注入控制逻辑迭代式结构化输出iterative structured outputPR #291结构化输出流程同样改为迭代器语义配合 Mistral 的structured_output迁移PR #305见 strands-py/src/strands/models/mistral.py实现统一的流式体验executor 工具运行改为 yieldPR #328工具执行器executor - run tools - yield工具结果以生成器方式产出进一步强化整条链路的流式特性。从源码看Agent.run的内部实现调用self._execute_event_loop_cycle(...)循环推进事件循环见 strands-py/src/strands/agent/agent.pyStructuredOutputContext在每次调用中注册并清理结构化输出工具。这意味着 v0.2.0 之后开发者可以用标准的 Python 迭代/异步迭代方式消费 Agent 产生的中间事件为流式 UI、逐步调试和细粒度控制打开了空间。Agent State可序列化的状态管理PR #292 引入Agent StatePR #334 将相关单元测试整合。当前仓库中AgentState定义为JSONSerializableDict的类型别名见 strands-py/src/strands/agent/state.py是 Agent 构造参数之一。Agent构造函数接受state: AgentState | dict | None见 strands-py/src/strands/agent/agent.py传入AgentState对象时直接使用传入普通 dict 时包装为AgentState(state)其他类型抛出ValueError(state must be an AgentState object or a dict)见 strands-py/src/strands/agent/agent.py缺省时初始化为空AgentState()。在会话恢复场景中Agent从持久化数据里还原self.state AgentState(data[state])见 strands-py/src/strands/agent/agent.py说明 state 是跨调用持久化的核心载体。对构建多轮、可恢复的生产 Agent 而言这是 v0.2.0 提供的标准状态通道。模型层Mistral 接入、OpenAI 推理内容与 Bedrock 错误增强新增 Mistral 模型支持PR #284 为 strands 引入 Mistral 支持PR #305 将 Mistral 的structured_output迁移为迭代器实现。安装时需要引入对应 extrapip install strands-agents[mistral]extra 声明位于 strands-py/pyproject.tomlmistral [mistralai2.0.0,3.0.0]。模型实现位于 strands-py/src/strands/models/mistral.py。OpenAI Provider 增加 reasoning contentPR #187 为 OpenAI 模型 provider 增加推理内容支持。在 strands-py/src/strands/models/openai.py 中可以看到完整的推理内容链路读取message.reasoning_content兼容message.reasoning字段作为推理文本L638-L646流式场景下从choice.delta提取reasoning_content或reasoning并切换到reasoning_content数据块类型L755-L767流式事件中reasoning_content数据会被转换为contentBlockDelta下的reasoningContent文本块L584-L585。同时代码中保留了对推理模型多轮对话限制的警告当检测到历史消息中包含reasoningContent时提示 Chat Completions API 不支持多轮推理内容L410-L419。Bedrock 常见错误补充异常信息PR #290 为常见 Bedrock 错误增加异常信息。从 strands-py/src/strands/models/bedrock.py 可以观察到模型层对reasoningContent的完整处理包括对 DeepSeek 系列模型的特殊过滤——reasoningContent在 DeepSeek 多轮对话中存在已知问题代码会丢弃并记录过滤日志L836-L896完整保留reasoningText的text与signature字段、redactedContent字段L1064-L1080流式增量事件中同样透出reasoningContent的文本与签名L1606-L1621。会话区域复用PR #299 让 strands 在可能时使用 boto3 会话中的 region避免重复配置区域信息属于 Bedrock/会话层的一致性问题修复。结构化输出保留$defs与工具化实现PR #294 修复了工具 schema 生成时移除$defs的问题使嵌套 JSON Schema 的$defs定义得以保留——这对于包含复用子模型的复杂 Pydantic 输出类型至关重要。当前仓库中的实现为StructuredOutputTool见 strands-py/src/strands/tools/structured_output/structured_output_tool.py工具 spec 按 Pydantic 模型类缓存_TOOL_SPEC_CACHE命中后深拷贝返回L55-L57工具描述被强制改写为仅在返回最终结果前最后一次调用的指令L38-L42校验成功时通过StructuredOutputContext.store_result保存结果L112-L114校验失败时ValidationError逐字段生成错误明细以error状态的 ToolResult 回传给模型让其自行决定是否修正重试L124-L146其他异常则记录堆栈并返回错误结果L148-L157。这解释了 v0.2.0 中结构化输出迭代化的落地形态结构化输出不再是一个独立的黑盒 API而是注册进工具注册表的普通工具走统一的工具执行与错误处理管线。可观测性tracer 重构与自定义 providerv0.2.0 对可观测性做了密集投入共 6 项相关变更tracer 重构PR #286重构 tracer 模块refactor tracer同时修正了 tracer.py 中一处引用不存在参数的 docstringPR #293自定义 tracer_provider 与 chain 设置PR #316允许用户注入自定义的tracer_provider并支持自定义链路chain装配GenAI span 语义约定更新PR #319按 OpenTelemetry 生成式 AI 语义约定更新 span 属性token span 更新PR #296更新 spanKind 与 token 相关 attributes停止传递 callback handlerPR #323执行链路不再层层传递回调处理器简化了追踪上下文的管理模型并发请求 debug 日志PR #297为模型 converse 请求增加 debug 级日志便于排查 Bedrock 等服务的请求明细。依赖侧otel 相关依赖作为顶层依赖固定为opentelemetry-api/opentelemetry-sdk1.30.x 以上见 strands-py/pyproject.toml且提供otelextra 引入 OTLP HTTP 导出器strands-py/pyproject.toml。升级到 v0.2.0 后需要按新语义约定重新核对既有 dashboard 的 span 命名与 token 属性。A2ATools as SkillsPR #287 在 A2AAgent-to-Agentscope 下将tools 作为 skills暴露使跨 Agent 调用时可以按技能skill粒度描述与路由工具。A2A 相关依赖集中在a2aextraa2a-sdk、uvicorn、fastapi 等见 strands-py/pyproject.toml相关实现可参考 strands-py/src/strands/agent/a2a_agent.py。破坏性变更与内部清理v0.2.0 包含若干破坏性/移除性变更升级时需特别注意移除 FunctionToolPR #325Remove FunctionTool as a breaking change。依赖FunctionTool的代码必须迁移到新的工具抽象如AgentTool体系见 strands-py/src/strands/tools/structured_output/structured_output_tool.py 中的实现模式移除 Agent 调用后的 kwargs 展开PR #289remove kwargs spread after agent call调用返回值的处理方式需要调整移除未使用代码PR #326清理死代码减少维护面。此外还有两项涉及调用形态的other类变更stop passing around callback handlerPR #323见上与executor - run tools - yieldPR #328都要求使用者以迭代/事件流的方式消费工具结果。杂项修复与文档文档警告修复PR #303修复文档构建警告#320 复现测试PR #322新增复现测试用例为后续修复提供回归保障新增贡献者siddhantwaghjaleMistral 支持与 RingoIngo2debug 日志。升级建议与源码指引升级到 v0.2.0 时建议按以下顺序核对工具层替换所有FunctionTool用法PR #325确认$defs保留后嵌套 schema 仍能通过校验PR #294执行层将 Agent/事件循环调用改造成可迭代消费形态PR #268/#295/#328工具结果改为从生成器获取状态层如有跨会话需求通过Agent(state...)传入AgentStatestrands-py/src/strands/agent/state.py模型层Mistral 用户按strands-agents[mistral]extra 安装strands-py/pyproject.tomlOpenAI 推理模型用户确认reasoning_content的消费逻辑strands-py/src/strands/models/openai.py可观测性按 GenAI 语义约定更新 span 属性如需自定义链路可注入tracer_providerPR #316/#319。本文涉及的版本事实均来自 site/src/content/changelog/sdk/python-v0.2.0.md源码佐证见 strands-py/src/strands/agent/agent.py、strands-py/src/strands/models/ 与 strands-py/pyproject.toml。相关集成测试可在 strands-py/tests_integ/ 中继续追踪对应能力的行为验证。赞分享人工智能大模型AI AgentAgent 框架多智能体工具调用MCP 服务【免费下载链接】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 Python SDK v0.1.6 深度解析Bedrock 非流式模式、工具名校验与可观测性修复Strands Agents Python SDK v0.1.6 深度解析Bedrock 非流式模式、工具名校验与可观测性修复 Strands Agents人工智能大模型AI AgentAgent 框架多智能体工具调用MCP 服务Nitro 内置数据库层完全指南SQLite 开箱即用与多连接配置实战Nitro 内置数据库层完全指南SQLite 开箱即用与多连接配置实战 本指南基于开源仓库 ni/nitro Next Generation Server人工智能大模型AI AgentAgent 框架多智能体工具调用MCP 服务Easy-Vibe 三阶段 Vibe Coding 学习路径全解从零基础到 AI 原生产品工程师Easy Vibe 三阶段 Vibe Coding 学习路径全解从零基础到 AI 原生产品工程师 Easy Vibe 是一个面向 AI 时代产品构建者的开源编人工智能大模型AI AgentAgent 框架多智能体工具调用MCP 服务创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

【QT】初识QT与基本代码、对象树认识
【QT】初识QT与基本代码、对象树认识

前言:Qt是一个强大的跨平台开发工具,主要是用来做客户端开发,是非常值得学习的开发工具所以我决定开坑Qt。 1.初识Qt Qt是一个跨平台的应用程序开发框架,主要使用C进行开发。我们可以利用它提供的类和接口创建窗口、按钮、标签等… · 2026/9/27 6:34:37

智能家居开源硬件的四层认知体系与资源决策树
智能家居开源硬件的四层认知体系与资源决策树

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 6:34:37

松门建设规划局网站从零搭建避坑指南
松门建设规划局网站从零搭建避坑指南

松门建设规划局网站从零搭建避坑指南 改个需求建站公司拖一周,这种痛谁懂?很多甲方对接人在做 松门建设规划局网站 时,最容易踩的坑就是被外包公司牵着鼻子走。你以为只是改个按钮颜色,对方却告诉你需要排期、需要重构、需要升级服务器,这一拖就是一周… · 2026/9/27 6:34:31

Laravel Lang 本地化补全指南:以 Akan(ak)语言为例解析缺失翻译键
Laravel Lang 本地化补全指南:以 Akan(ak)语言为例解析缺失翻译键

后端 【免费下载链接】lang List of 128 languages for Laravel Framework, Laravel Jetstream, Laravel Fortify, Laravel Breeze, Laravel Cashier, Laravel Nova and Laravel UI. 项目地址: https://gitcode.com/gh_mirrors/la/lang 点击查看 免费下载 本篇技术… · 2026/9/27 7:04:58

Gophercloud:用 Go 语言驱动 OpenStack 云的 SDK 实战指南(含 LinuxKit 集成实例)
Gophercloud:用 Go 语言驱动 OpenStack 云的 SDK 实战指南(含 LinuxKit 集成实例)

操作系统云原生容器运行时 【免费下载链接】linuxkit A toolkit for building secure, portable and lean operating systems for containers 项目地址: https://gitcode.com/gh_mirrors/li/linuxkit 点击查看 免费下载 本指南以 LinuxKit 仓库中内嵌的 Gopherclou… · 2026/9/27 7:04:58

Bootstrap Icons Basket 图标系列解析:SVG 源码、Codepoint 与前端用法全指南
Bootstrap Icons Basket 图标系列解析:SVG 源码、Codepoint 与前端用法全指南

前端 【免费下载链接】icons Official open source SVG icon library for Bootstrap. 项目地址: https://gitcode.com/gh_mirrors/ic/icons 点击查看 免费下载 本文以 Bootstrap Icons 官方开源图标库中 basket(购物篮)系列图标为切入点&… · 2026/9/27 7:04:52

CodeQL C/C++ 静态缓冲区溢出检测:从 `cpp/static-buffer-overflow` 的精度升级看安全查询工程化
CodeQL C/C++ 静态缓冲区溢出检测:从 `cpp/static-buffer-overflow` 的精度升级看安全查询工程化

静态分析SAST应用安全漏洞扫描代码质量 【免费下载链接】codeql CodeQL: the libraries and queries that power security researchers around the world, as well as code scanning in GitHub Advanced Security 项目地址: https://gitcode.com/gh_mirrors/co/code… · 2026/9/27 7:04:52

用 Penrose 语言建模化学结构式:structural-formula 领域示例的开发日志复盘与源码解读
用 Penrose 语言建模化学结构式:structural-formula 领域示例的开发日志复盘与源码解读

开发工具数据可视化 【免费下载链接】penrose Create beautiful diagrams just by typing notation in plain text. 项目地址: https://gitcode.com/gh_mirrors/pe/penrose 点击查看 免费下载 本文以 Penrose 仓库中 packages/examples/src/structural-formula/ 目… · 2026/9/27 7:04:52

不会代码也能做站?wordpress模拟word哪家好用实测
不会代码也能做站?wordpress模拟word哪家好用实测

不会代码也能做站?wordpress模拟word哪家好用实测 想做个网站但一碰代码就头大?别慌,这行干久了就知道,很多老板其实根本不想学 PHP,就想要个像 Word 一样拖拖拽拽就能改内容的后台。这时候,wordpress 模拟… · 2026/9/27 7:04:34

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码