ターンごとに設定を変える
ターンごとに変えられるもの
TypeScript、Python、PHP、Ruby は、固定のフィールドの代わりに関数を受け取ります。Go、C#、Java は、固定の
Model と Instructions とは別のコールバックフィールドを使います。TypeScript では、activeTools から外したツールも呼び出し可能なままなので、以前の呼び出しは引き続き解決されます。
ターンの引数は、どの言語でも同じ4つの値を持ちます。
Python では、
run() に渡した model または preset が、すべてのターンで定義のモデルを置き換えます。
ツールからアプリケーションのコンテキストを更新する
ツールは、後のターンが読むアプリケーションのコンテキストを置き換えられます。TypeScript ではcontext.setContext()、Python では runtime.set_context()、その他の言語の同等のものはツールにあります。実行を保存して後で続行する場合は、コンテキストを小さく、シリアライズ可能に保ってください。
次のターンだけを上書きする
ツールに次のターンのパラメーターを設定すると、エージェント定義を変えずに、そのツールの直後のリクエストを変更できます。その1ターンについては、ターンごとの関数より優先されます。
毎ターン再計算したい方針にはターンごとの関数を、特定のツールからの1回限りの引き継ぎには次のターンのパラメーターを使ってください。
Rust で実行ごとにモデルを設定する
Rust のphaseo-agent 0.2 には、ターンごとのコールバック、ツールからのコンテキスト更新、次のターンのパラメーターがありません。モデル、ステップ上限、アプリケーションのコンテキストは、RunOptions で実行ごとに設定します。