メインコンテンツへスキップ
モデルの判断ではなく自分の予算で実行を終わらせるには、エージェントに停止条件を設定します。最初に一致した条件が、その理由を実行の停止理由として記録し、ステータス stopped で実行を返します。これとは別に、ステップ上限が各 run または continue の呼び出しのモデルターン数を制限します。Rust にあるのはステップ上限だけです。

組み込みの上限を組み合わせる

トークン数とコストの上限はプロバイダーが報告する使用量に依存するため、ステップ数または時間の上限も併用してください。

使えるヘルパー

ヘルパーは、C#、PHP(AgentSdk::)、Java では AgentSdk に、Ruby では PhaseoAgentSdk にあり、TypeScript、Python、Go ではパッケージ関数です。時間の引数は言語によって異なります。

条件が確認されるタイミング

条件を確認するタイミングと、ステップ上限の扱いは言語によって異なります。
Python の停止条件は、ツールループを途中で止めません。ツールループは max_steps で制限してください。run() に渡した stop_when は無視されます。定義に設定してください。

実行が停止した理由を読む

停止した実行は、エラーではなく通常の戻り値です。実行のステータスが stopped であることを確認し、停止理由を読んでから、使用量と最後のステップを読みます。どの理由を成功、再試行可能、ユーザーに見せるべきものとして扱うかは、アプリケーションで決めてください。

カスタム条件を書く

カスタム条件は実行の状態を受け取り、停止する理由か、続行する場合は「いいえ」を表す値を返します。運用担当者やインターフェースが実行の終了理由を説明する必要がある場合は、理由の文字列を返してください。それが停止理由として保存されます。
最終更新日 2026年11月5日