AIエージェントとは結局何なのか ──関数呼び出しではなく「意思決定ループ」だった

  • エンジニアにとって身近なのは「GitHub Copilot」などPG開発をサポートするAIエージェント
  • ザリガニマークのディスコードなどのチャットツールから「OpenClaw」
  • CHATGPTについてるカレンダーなどの連携ができるエージェント機能
  • エージェントに牛丼頼んでみたら2つ頼んでくれた技術記事

問題:AIエージェントの定義が曖昧

どういう使い方ができるんだろって観点だと、何者なのか分からなかった。
私個人も下記のような理解度の1人だった。

  • ファイルの読み書きとか外とLLMがつながる機能?
  • 便利なツール?
  • 自動化ツール?

AIエージェントはただの関数呼び出しなのか?

GPT-4の時代になり、生成AIを触っていると「AIエージェント」という言葉をよく見かけるようになりました。

私も最初は、エージェントとは次のような仕組みだと思っていました。

つまり

LLMが関数を選択して呼び出す仕組み

です。

実際、Function Callingみててそう思いました。

しかし、ここで疑問が出てきます。

それって、ただの関数呼び出しでは?

もしそうなら、わざわざ「エージェント」という言葉を使う必要はないはずです。


最近のAIツールを見て気づいたこと

最近のAIツールを見ていると、少し違う動きをしていることに気づきました。

例えば

  • ChatGPTで中間の思考が表示されることがある
  • GitHub Copilotが参照ファイルを読み込めなかったときに再試行する

これらを見ると、単にツールを呼び出しているだけではなさそうです。

何か処理をして
失敗したら修正して
もう一度試している。

つまり処理が

一回で終わっていない。


エージェントはループしている

よく見ると、AIエージェントの動きは次のようになっています。

プロンプト生成
↓
コード生成
↓
プログラムを実行
↓
結果を評価
↓
エラーなら修正
↓
再生成

これは

ツール呼び出しではなくループ処理

です。

この構造に気づいてから、「エージェント」という言葉の意味が少し見えてきました。


状態遷移として考える

さらに理解が進んだのは、LangGraphの考え方を知ってからでした。

LangGraphでは、AIエージェントを状態遷移として設計します。

つまり

状態
↓
判断
↓
ツール
↓
状態更新
↓
次の判断

という流れです。これはどちらかというと

AIというより状態機械(State Machine)に近い考え方です。


結論

AIエージェントは

  • ChatGPTの拡張
  • 自動化ツール

といったものではありません。

整理すると

AIエージェントとは LLMを使った意思決定を制御する仕組み

だと理解すると、かなりしっくりきます。

ツールを呼び出すだけではなく、状況を見て判断し、失敗したら修正し、次の行動を決める。

そうした意思決定のループを管理する仕組みこそが、AIエージェントの本質なのだと思います。

返信を残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です