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エージェントの本質なのだと思います。

返信を残す

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