跳转到主要内容
当后续的模型轮次需要依据应用上下文或之前的结果时,就传入一个函数而不是固定值。运行时会在每次模型请求之前调用它,并传入轮次编号、步骤索引、消息和上下文。Rust 没有按轮次的回调;它按运行设置模型。

每一轮更改设置

每一轮可以更改什么

TypeScript、Python、PHP 和 Ruby 用一个函数代替固定字段。Go、C# 和 Java 在固定的 Model 和 Instructions 旁边使用单独的回调字段。在 TypeScript 中,未列入 activeTools 的工具仍然可以调用,所以之前的调用依然能得到处理。 轮次参数在每种语言中都包含相同的四个值: 在 Python 中,传给 run() 的 model 或 preset 会在每一轮替换定义中的模型。

从工具更新应用上下文

工具可以替换之后轮次读取的应用上下文:TypeScript 中用 context.setContext(),Python 中用 runtime.set_context(),其他语言的等价写法见工具。当你保存运行并在之后继续时,请保持上下文精简且可序列化。

只覆盖下一轮

在工具上设置下一轮参数,即可更改紧随其后的那次请求,而不改变智能体定义。在那一轮中,它们优先于按轮次的函数。
下一轮参数接受模型、指令、temperature、top-p、最大输出 token 数和工具,名称遵循各语言的大小写习惯。在 Python 中,这是在轮次之间更改工具列表的唯一方式。 如果工具在等待审批,它的覆盖项会随已暂停的运行一起保存,并在你继续后应用到下一轮: 对于希望每一轮都重新计算的策略,使用按轮次的函数;对于某个特定工具的一次性交接,使用下一轮参数。

在 Rust 中按运行设置模型

Rust 的 phaseo-agent 0.2 没有按轮次的回调、来自工具的上下文更新,也没有下一轮参数。请用 RunOptions 按运行设置模型、步数上限和应用上下文:
最后修改于 2026年11月5日