批处理

SDK 中没有 batch() 辅助方法。在 agent 回合内,模型可以用内置的 batch 工具把工具调用 分组执行(最多 32 个调用,按依赖步骤运行,并发数有上限)。当宿主工作流已经有一组清晰、 相互独立、确定性的步骤时,你可以直接用会话提供的确定性辅助方法(readFile、grep、glob、ls、 git)把它们组合起来,并自行汇总结果。这样"批处理"就完全在你的掌控之中:无需任何模型调用, 执行顺序明确,且除非你主动调用,否则不会执行任何破坏性操作。

下面的示例读取包元数据、changelog 和 release script,然后在不编辑任何文件的前提下报告版本不一致之处。readFile 返回 read 工具的输出, 每行都以行号加一个制表符开头。读取失败(例如文件不存在)时返回的是工具的错误文本, 而不是抛出错误,因此请校验你解析的内容。

Rust
Node.js
Python
Go

不要把破坏性操作混入这些分组读取之中。直接辅助方法以宿主权限运行:它们会跳过会话的 permissionPolicy / permission_policy 和确认提示。任何破坏性宿主步骤(写入、git 提交、bash)都应放在你自己的应用确认之后,或者通过 governedTool / governed_tool / GovernedTool 执行——它无需模型即可执行工具,但仍会应用会话的权限与确认关卡。

如果这些步骤并非相互独立——每一步都依赖上一步的结果,并且你希望由 agent 来驱动它们—— 请改用 session.pipeline(...),它会分阶段运行任务, 每个阶段都能接收到上一阶段的输出。