09

12:23 - 14:23

エージェント・ループが強力で危険な理由

この章の要点

プログラムの基本的な流れには、順序、条件分岐、反復があります。エージェント・システムは、この反復を使って、観察し、判断し、行動する流れを何度も続けられます。そのため強力ですが、止まらないことや、目的からずれることもあります。

1. ループを理解する三つの部品

話者は、エージェント・ループを理解する前に、通常のプログラムにもある三つの制御構造を挙げます。制御構造とは、処理をどの順番で進めるかを決める仕組みです。

  • 順序(sequence):命令を上から順番に実行します。
  • 条件分岐(conditional):条件を調べ、その結果に応じて別の道を選びます。たとえば、入力が正しければ次へ進み、正しくなければエラーを返します。
  • 反復(iteration):同じ種類の処理を繰り返します。処理を続ける条件がある間、観察や計算をもう一度行います。

エージェントは、ただ一度だけ答えを生成するのではありません。順序に沿って状況を読み、条件を確認し、必要なら次の反復へ進みます。この構造によって、エージェントは一回の返答では終わらない仕事を扱えます。

2. チューリング完全性が意味すること

話者は、ベーム=ヤコピーニの結果をこの三つの部品と結び付けます。話者の高いレベルでの説明では、順序、条件分岐、反復がそろうと、言語は**チューリング完全(Turing complete)**になります。これは、計算機が実行できる種類の計算を、その言語で表せるという意味です。

ここで注意が必要です。チューリング完全であることは、プログラムが正しい、安全、または役に立つことを意味しません。それは、十分に表現力のある計算を組み立てられる、という性質です。間違った条件や終わらない反復も、同じ仕組みで書けます。

3. エージェント・ループが加える力

エージェント・システムでは、反復が「観察する、判断する、行動する」という能力を何度も使えるようにします。たとえば、エージェントが最初の情報だけでは答えられないとします。その場合、ツールを使って情報を取り、結果を見て、次の行動を決められます。これを必要な回数だけ続けられる点が、ループの強みです。

補足の例:問い合わせに答えるエージェント

これは説明のための例です。顧客の問い合わせに答えるエージェントがあるとします。エージェントは問い合わせを読み、注文情報を調べ、結果を確認し、必要なら別の情報を調べます。最後に、十分な情報が集まったら返答します。この流れでは、ループがなければ一回の検索で止まります。ループがあれば、観察と行動を交互に続けられます。

4. 強力さと同じ仕組みから生まれる危険

しかし、反復は自動的に「必要な回数」を知りません。エージェントが次の観察や行動を要求し続ければ、ループも続きます。話者は、特に次の危険を挙げます。

  • 無限ループ:終了条件に到達しないため、処理が止まりません。エージェントが毎回「もう一度調べる」と判断すれば、同じ種類の処理を永遠に繰り返す可能性があります。
  • 会話のドリフト(drift):複数のエージェントが互いに話す場合、会話の方向が少しずつ変わることがあります。最初の目的から離れ、別の話題や行動へ進む状態です。
  • トークン数と費用の増加:反復するたびに、質問、返答、ツールの結果などが処理対象になります。その結果、使うトークン数が増え、費用も増える可能性があります。

これらは同じ問題ではありません。無限ループは終了しない問題です。ドリフトは、終了するかどうかとは別に、目的や方向が変わる問題です。トークンの増加は、長く続く処理を運用する費用の問題です。実際の停止条件や安全策の詳しい設計は、この章の後に出てくるコード例で扱われます。ここでは、話者が危険を示し、まだ完全な対策を示していない点を押さえてください。

5. 記号的AIへの回帰という見方

話者は、現在のエージェント・ループを、過去の記号的AIやエキスパート・システムとのつながりでも見ています。記号的なシステムは、明示的な手順や規則を使って処理を制御します。現在のシステムにはニューラル言語モデルがありますが、ループによって、規則に沿って処理を進める構造も取り入れています。

これは、現在のエージェントが過去のエキスパート・システムとまったく同じだ、という意味ではありません。話者が示すのは、柔軟な言語モデルに、反復や制御の構造が組み合わさることで、記号的AIの考え方をもう一度使う場面が生まれている、という見方です。

まとめ

エージェント・ループの強みは、観察、判断、行動を繰り返して、一度の生成を超える仕事ができることです。その基礎には、順序、条件分岐、反復という制御構造があります。一方で、ループは無限に続いたり、会話を目的からずらしたり、トークン数と費用を増やしたりします。したがって、チューリング完全性という表現力と、実際に正しく安全に動くことは分けて考える必要があります。次の章では、このループがClaudeエージェントのツール呼び出しとしてどのように書かれるかを見ます。

100% スペースキーとドラッグで移動 | Ctrl/Cmdとホイールで拡大縮小