メインコンテンツへスキップ
後のモデルターンをアプリケーションのコンテキストやそれまでの結果に応じて変えたい場合は、固定値の代わりに関数を渡します。ランタイムは、各モデルリクエストの前に、ターン数、ステップ番号、メッセージ、コンテキストを渡してその関数を呼び出します。Rust にはターンごとのコールバックがなく、実行ごとにモデルを設定します。

ターンごとに設定を変える

ターンごとに変えられるもの

TypeScript、Python、PHP、Ruby は、固定のフィールドの代わりに関数を受け取ります。Go、C#、Java は、固定の Model と Instructions とは別のコールバックフィールドを使います。TypeScript では、activeTools から外したツールも呼び出し可能なままなので、以前の呼び出しは引き続き解決されます。 ターンの引数は、どの言語でも同じ4つの値を持ちます。 Python では、run() に渡した model または preset が、すべてのターンで定義のモデルを置き換えます。

ツールからアプリケーションのコンテキストを更新する

ツールは、後のターンが読むアプリケーションのコンテキストを置き換えられます。TypeScript では context.setContext()、Python では runtime.set_context()、その他の言語の同等のものはツールにあります。実行を保存して後で続行する場合は、コンテキストを小さく、シリアライズ可能に保ってください。

次のターンだけを上書きする

ツールに次のターンのパラメーターを設定すると、エージェント定義を変えずに、そのツールの直後のリクエストを変更できます。その1ターンについては、ターンごとの関数より優先されます。
次のターンのパラメーターには、モデル、指示、temperature、top-p、最大出力トークン数、ツールを、各言語の命名規則で指定できます。Python では、ターンの間にツールのリストを変える唯一の方法です。 ツールが承認を待っている場合、その上書きは一時停止した実行と一緒に保存され、続行した後のターンに適用されます。 毎ターン再計算したい方針にはターンごとの関数を、特定のツールからの1回限りの引き継ぎには次のターンのパラメーターを使ってください。

Rust で実行ごとにモデルを設定する

Rust の phaseo-agent 0.2 には、ターンごとのコールバック、ツールからのコンテキスト更新、次のターンのパラメーターがありません。モデル、ステップ上限、アプリケーションのコンテキストは、RunOptions で実行ごとに設定します。
最終更新日 2026年11月5日