AIエージェントの実行予算とは、1回の実行で消費できる時間、ループ回数、ツール使用量、ローカル計算リソースに対してオーケストレーターが適用する上限です。
ホームサーバー上では、エージェントはバックアップ、メディア、スマートホームサービス、検索インデックス、その他の家庭内ワークロードと、CPU、RAM、ストレージ、ネットワーク帯域幅、場合によってはGPUを共有します。モデルに「効率的に動作する」よう指示するプロンプトは、あくまで振る舞いに関するガイダンスであり、混乱したワークフローが別のツール呼び出しを行ったり、さらにループを繰り返したり、アクセラレーターを無期限に占有したりするのを止めるものではありません。実行予算を設定すると、こうしたリソースの期待値がカウンターと期限に変換され、モデルが続行したい場合でもランタイムが強制できます。
実行予算は、単一の標準プロトコルフィールドではなくランタイムの枠組み
「実行予算」は、すべてのエージェントフレームワークで共有される単一の普遍的な設定ではなく、強制可能な複数の上限をまとめて表す運用上の概念として理解するのが適切です。あるシステムはツール呼び出し数やグラフのステップ数を数え、別のシステムは実時間の期限を適用し、コンテナランタイムはCPUやメモリに別途上限を設ける場合があります。
LangChainのミドルウェアでは、1回の実行またはスレッドごとにツール呼び出し数の制限を設定できます。これは、「数回の操作で停止する」という自然言語の要求と、カウントに基づくランタイム制約との重要な違いを示しています。厳格な境界を管理するのは、モデルが指示を記憶しているかどうかではなく、オーケストレーターです。
したがって、実用的な予算は多次元で設定されます。ローカルマシンに負荷を与える可能性のある要素に応じて、モデルのターン数、グラフのステップ数、ツール呼び出し数、トークン数、経過時間、同時実行タスク数、CPU時間、メモリ、アクセラレーターの占有率などを含められます。
これらの各次元は互いに代替できません。ツール呼び出しが2回だけでも、そのうち1回の待機に10分かかることがあります。一方で、読み取り専用の軽量な呼び出しを多数完了しても、GPUにはまったく負荷をかけない場合があります。
ステップ数とツール呼び出し数の予算で、サイクルが無限実行になる前に停止する
エージェントグラフには、モデルが情報を取得し、結果を確認し、ツールを選択し、結果を評価して再試行することがあるため、正当なサイクルが含まれる場合があります。しかし、状態が終了条件に到達せず、新しい証拠を生み出さないアクションをエージェントが繰り返すと、同じ柔軟性が障害の原因になります。
LangGraphには、1回の実行におけるスーパーステップ数を制限するグラフステップの上限があります。ハードカウンターを設けることで、ローカルモデルがエラーを誤解したり、同じクエリを何度も言い換えたり、計画が進展していないことを認識できなかったりしても、停止できる境界が確保されます。
ZimaSpaceによる繰り返されるツール呼び出しループの分析では、モデルレベルの反復がセルフホスト型ワークフローで長く続く理由を説明しています。実行予算はループの根本原因を診断するものではありませんが、システムが制御を取り戻す前に、その障害がどこまで実行されるかを制限できます。
実時間の予算で、カウンターだけでは見逃す遅い依存関係を制限する
NASへのクエリが停止したり、リモートAPIのタイムアウトに時間がかかったり、複数の再試行が順番に待機したりすると、ワークフローはステップ数の上限を下回っていてもサーバーを長時間占有することがあります。経過時間は、ユーザーの総待ち時間とローカルリソースが予約されたままになる時間を測定します。これは、論理的なアクション数を数えることとは異なります。
ワークフローシステムでは、個々のタスク数とは独立して最大実行時間を適用できます。エージェントでは、外側の期限をツール内部のタイムアウトや再試行ポリシーと連携させる必要があります。そうしないと、1つの依存関係が許容時間をすべて消費し、オーケストレーターが有用な部分結果を返す時間がなくなる可能性があります。
時間予算は、インタラクティブな処理とバックグラウンド処理のスケジューリング境界にもなります。音声コマンドには短い期限が必要な一方、夜間の写真インデックス作成エージェントには、家庭内のインタラクティブサービスを妨げない範囲で、はるかに長い時間を割り当てられます。
長時間実行されるすべてのワークフローに、期限を設ければよいとは限りません。耐久性のあるバックグラウンドジョブは、数日間にわたって一時停止と再開を行うよう設計される場合があります。予算は、すべてのエージェントに任意のタイムアウトを一律適用するのではなく、タスクのサービスレベルに対する期待値を反映させるべきです。
CPUとメモリの上限で、他のホームサーバーワークロードを保護する
論理的なカウンターでは、許可された1回のモデル呼び出しが利用可能なRAMやCPUのほぼすべてを消費することを防げません。そのため、物理リソースの上限は実行の枠組みにおける別の層として必要です。エージェントがストレージ、メディア、オートメーション、バックアップサービスと共存する統合型ホームサーバーでは、特に重要になります。
Dockerでは、コンテナにCPUとメモリの制約を適用できます。これにより、プロセス自体が家庭内の優先順位を適切に認識できなくても、ホスト上でエージェントを定義したリソース範囲内に収められます。プラットフォームが対応していれば、同様のデバイス制御やスケジューラー制御によってアクセラレーターへのアクセスを制限することも可能です。
物理的な上限と論理的な予算は、異なる問題を解決します。メモリ上限は1つのプロセスによるホストのメモリ枯渇を防ぎ、ツール呼び出し予算は、メモリ消費の少ないエージェントが何百回も外部アクションを実行するのを防ぎます。堅牢なローカル設計では、両方が必要になる場合があります。
予算の使い切りには、サイレントな打ち切りではなく明示的な結果が必要
上限に達したときに何が起こるかをシステムが定義して初めて、制限はワークフローのセマンティクスの一部になります。実行を突然強制終了すると、ユーザーに説明がないままになる可能性があり、最後のステップが阻止される前にエージェントが一部の副作用を完了していた場合は危険です。
一部のエージェントランタイムでは、ワークフローが境界に近づいていることを把握し、より短い完了経路を選択できるように残りステップの状態を公開しています。これによりオーケストレーターは、部分結果で停止したり、追加予算の承認を求めたり、バックグラウンド処理を延期したり、未完了の作業を正確に返したりできます。上限を黙って超える必要はありません。
副作用を伴うツールでは、さらに明確なルールが必要です。予算を使い切ったからといって、すでに成功している可能性のあるアクションを未検証のまま再試行してはなりません。また、予算を拡張しても、安全に再開するために必要な操作ID、承認、その他の状態を消去してはなりません。
したがって、最善の予算とは、暴走する処理を防ぐための最小の数値とは限りません。ユーザーに見える進捗を維持し、同じホスト上で稼働するサービスを保護し、次のアクションを明確にする使い切りポリシーと組み合わせたリソースの枠組みこそが、優れた予算です。
よくある質問
AIエージェントの実行予算は、単なるトークン上限ですか?
いいえ。トークンはモデル側のコンテキストと生成を対象とします。一方、実行予算では、ワークフローやホストにとって重要なグラフステップ数、ツール呼び出し数、経過時間、同時実行数、CPU、メモリなども制限できます。
すべてのホームAIタスクで同じ実行予算を使うべきですか?
いいえ。インタラクティブなコマンド、文書調査、バックグラウンドのインデックス作成、長時間のメンテナンスでは、レイテンシー、副作用、リソース使用の特性が異なります。そのため、予算の枠組みはタスクの種類と、同じマシン上で稼働するサービスを反映させるべきです。
予算を使い切ったときは、どうすべきですか?
ランタイムは、部分結果を返す、再開可能な状態を保持する、追加予算の承認を求める、安全に停止するなど、明示的なポリシーに従うべきです。制限を黙って無視したり、完了済みの副作用を見失ったりしてはいけません。
テック&AIハブ
もっと読む

Plexの状態とは何か、どの部分を永続化する必要があるのか?
永続的なPlexの状態情報とは、再起動や再構築後もサーバー環境を維持する情報を指します。メディアデータと一時的なトランスコードデータは、それぞれ別の役割を担います。

Plexはローカルセッションとリモートセッションで認証をどのように処理しますか?
Plexの認証はサーバーとアカウントの識別から始まり、その後、ローカルまたはリモートのネットワーク経路によって到達可能性と安全な接続の動作が決まります。

ライブラリデータが増えると、Plexの検索が遅くなるのはなぜですか?
ライブラリの増加だけが原因とは限りません。データベースのサイズを問題視する前に、クエリの形状、インデックス、キャッシュの状態、ストレージのレイテンシ、書き込みアクティビティを確認してください。

