Pydantic AI 新增了由另一个模型先审查工具执行审批请求,以及使用 Meta 模型和工具关联网页的功能。智能体开发者可减少提交给人工的审批请求,也可减轻自行实现模型连接与界面数据传递的负担。
1. 减少审批请求,但保留人工判断
按 GitHub 的公开时间,v2.57.0 于 2026 年 10 月 16 日发布。发布标题中标注的日期是 10 月 15 日。
智能体执行功能集 Harness 中的 ApprovalReviewer 是一项可选功能,会将需人工批准的工具调用先交给另一个模型询问。若对风险问题回答“否”,调用便获批准,工具在同一执行步骤运行。认为有风险、回答不确定、模型出错或审查预算不足时,仍交由人工处理。审查者本身不会拒绝或执行调用。
可按名称或元数据条件缩小待审查工具的范围。默认范围为所有函数工具,但仅审查需要批准的调用。
与可在执行前阻止调用的 ToolCallJudge 配合使用时,自动批准的调用也会经过其判定。减少审批请求和阻止执行是两种不同的功能。
这是对人工待处理请求进行分类的过滤器,而非安全边界。仍须保留工具内外的权限检查与隔离执行。若配置为同时发送对话上下文,外部文档等内容便可能诱导审查模型作答,从而扩大提示注入攻击的暴露范围。
2. 提供 Muse 模型连接,同时带来配置限制
MetaProvider 用于连接 Meta 的 Muse 模型,默认使用 Responses API。
该集成需要安装包含 OpenAI SDK 的版本。将 Meta 开发者平台颁发的 API 密钥设为 META_API_KEY 环境变量后,即可按以下原文示例连接。
from pydantic_ai import Agent
agent = Agent('meta:muse-spark-1.3')
...Meta 仅允许自动选择工具。如果库原本要强制使用让模型按指定格式给出最终答案的“输出工具”,则会改为自动选择;但用户若强制指定工具或要求必须调用,就会报错。API 也拒绝明确禁用工具的配置,因此不能直接照搬其他提供商的设置。
Muse 无法关闭推理,因此 thinking=False 会被忽略。
该集成会在下一次请求中回传工具调用前进度消息的分隔标记及加密推理,以防模型把进度报告误当成最终答案,提前结束耗时较长的工具执行。不过,非流式已通过实际 API 录制验证,流式工具调用则使用模拟测试。流式模式下分隔标记出现在哪个事件中仍属假设,有待实际录制确认。
3. MCP Apps 保留界面所需的结果
MCP Apps 允许服务器为工具关联网页。此次变更 不直接绘制界面,而是传递供前端展示页面的材料。关联了页面的工具正常调用后,无需额外配置便会保留资源地址、模型生成的输入、完整结果及工具集标识符。但若拦截调用的钩子改动了结果或未实际调用工具,就不会附加应用记录;出错的调用也不会附加。模型看到的内容不变。
AG-UI 和 Vercel AI 适配器会在工具结果之后发送界面事件。客户端若将这些记录作为对话历史传回,两个适配器都会忽略,不会再将界面记录作为模型的对话输入。
页面通过 read_resource_for_app 读取。该方法返回 MCP 结果,其中保留了表示内容格式的 MIME 类型,以及页面的内容安全策略与权限信息。
在符合上述条件而附加应用记录时,MCPToolset.call_tool 的返回值 不再是值本身,而是由 ToolReturn 包装。用于包装并处理结果的包装器应修改内部值;若不应向页面展示原始内容,还须丢弃元数据。没有页面的工具不受影响。
4. 需同时权衡自动化收益与额外成本
减少审批请求的代价是,每个选中的调用都会增加串行审查延迟及模型用量。审查用量计入整体执行限额。
即使请求最终交给人工,调用参数也会发送给审查模型提供商。处理敏感参数的工具应排除在审查范围外,或选择可托付这些数据的提供商。
界面集成会传递原先被遗漏的结果,但每次附加应用记录的调用,都会在历史中增加一份结果副本及一个界面事件。
本版本的实际价值,与其说在于自动化本身,不如说在于能够区分审批权限与数据传递的边界,并将它们衔接起来。
