模型切换
会话会使用你在 model 选项中传入的模型运行。先声明一次智能体可以访问的所有模型,
然后为每个会话选择其一——用快速模型处理高频、低风险的工作,用能力更强的模型进行
评审。当你希望在不改动任何提示词的前提下,于成本与能力之间取得平衡时,可以使用这
种方式。
声明模型
模型在智能体文件中配置。每个 provider 列出它对外暴露的模型(tool_call 默认为 true,
这里写出只是为了清晰),当会话未设置 model 时则使用 default_model。
按会话设置模型
model 选项在打开会话时设置。该会话运行的一切——send、run、parallel、
pipeline 以及被委派的 task 子运行——都会使用该模型。同一个智能体配置可以为不同会话驱动不同的
模型选择。
按工作智能体设置模型
worker 规格可以携带自己的 model。当你用 session_for_worker(Node.js 为
sessionForWorkerAsync,Go 为 SessionForWorker)从该规格打开会话时,它才会生效:
会话选项中未设置的项,会由 worker 的模型、步数上限、提示词和权限补上。显式传入的选项
优先,因此如果希望使用 worker 的模型,就不要在这些选项里再设置 model。
被委派的 task 子运行不会切换模型。即使 worker_agents 中注册的 worker 设置了
model,子运行仍使用委派它的会话的模型。若想让探索工作跑在更廉价的模型上,可以为它
单独打开一个 worker 会话,再把结果交给使用更强模型的会话:
说明:
model的值是provider/model形式的引用,必须对应智能体文件中声明的 provider 与模型 (且配置了 API Key),否则创建会话会以model配置错误失败。SDK 中没有硬编码的模型名。parallel与pipeline的步骤规格没有model字段,所有步骤都使用会话的模型。task工具没有model字段。每个任务项只接受agent、description、prompt、background、max_steps和output_schema,其他字段都会被拒绝。
在会话上使用 model 选项的可运行示例位于
sdk/node/examples/basic/test_api_alignment.ts。