Skip to main content
控制托管智能体的工具行为靠两个字段:enabled 决定工具是否暴露给模型,permission_policy 决定模型调用工具时如何评估。用它们禁用写文件、执行命令、调用外部服务等可能改变外部状态的工具。

两个配置字段

两个字段都适用于内置工具集(agent_toolset)和 MCP 工具集(mcp_toolset),并且都可以在两个层级上设置:
  • 工具集级:在工具声明的 default_config 中设置,作为该工具集内所有工具的默认值;
  • 单工具级:在 configs 中对某个具体工具设置同名字段,覆盖工具集级默认值。
两个层级都未设置时,工具默认启用,并按 always_allow 评估——模型调用该工具时会直接执行。每次工具调用的评估结果都会通过 agent.tool_use 事件的 evaluated_permission 字段下发给客户端;当前该字段的值只会是 always_allow
推荐实践:只读、不改变外部状态的工具保持默认放行即可;不希望智能体使用的工具,在工具集级或单工具级设置 enabled: false 彻底禁用。

配置工具权限

创建智能体 时,通过工具声明携带这两个字段。已有智能体也可以修改这两个配置:更新智能体 时传入 tools 字段即可(tools 会整体替换当前工具声明),更新会生成新的智能体版本,无需重建。下面的示例为内置工具集设置默认自动放行,并把其中的写文件工具单独禁用:

MCP 工具集

MCP 工具集同样在 default_configconfigs 中设置 enabledpermission_policymcp_server_name 必须引用同一智能体 mcp_servers 中已声明的服务;configs[].name 使用该 MCP 服务实际提供的工具名。
MCP 服务的声明方式、工具名来源,以及服务清单变化后 configs 的生效规则见 接入 MCP

下一步

工具

了解内置工具集与 MCP 工具的声明方式。

订阅事件流

实时接收工具调用与会话状态事件。