こんにちは、サイオステクノロジーの佐藤 陽です。
本日は、最近話題が尽きることのない「AIエージェント」についてご紹介したいと思います!
とは言いつつ、最新のトピックに関する内容ではなく
そもそも「AIエージェント」とは何か?といった、根本に立ち返った内容となっています。
- RAGは分かった!次はAIエージェントだ!
- AIエージェントって最近よく聞くけどよく分かんない
- AIエージェントについてざっくり知りたい
といった方は是非、最後までご覧ください!
はじめに
本記事は、こちらの記事を非常に参考にしており、元記事に対して、
- 理解を容易にするための追記
- 自分なりの解釈の加筆
をおこなったものです。 そのため、元記事と内容が重複していかと思いますがこの点、了承いただければと思います。
そして本記事を読んで興味を持った方がいたら、是非元の記事も読んでいただければと思います。
ちなみに元記事は、オライリーのAI Engineeringという書籍の筆者が、書籍の内容を一部抜粋したものということです。
まだ日本語版が発売していないようなので、今後の発売に期待です。
AIエージェントとは
AIエージェントの定義については様々な場面で、様々な定義がされております。
これはまだまだAIエージェントが新興分野であることが要因です。
今回ご紹介する内容についても、あくまで複数ある定義のうちの1つであることを踏まえて読んでいただければと思います。
それではAIエージェントの定義について考えていきます。
まずはAIエージェントを 「AI」 と 「エージェント」 の要素に分解し、それぞれを定義を見ていきたいと思います。
AIとは
まずは「AI」とは何かについてですが、NTTデータさんのページに以下のように定義されていました。
いま最も注目されているテクノロジーの1つに人工知能(AI:Artificial Intelligence)があります。AIは、一般的には「人が実現するさまざまな知覚や知性を人工的に再現するもの」という意味合いで理解されています。 しかし実際には、AIに対して一意に決まった定義がなされているわけではありません。コンピューター・サイエンスや認知科学、医学、心理学、さらには哲学にいたるまで、今もさまざまな立場で論じられ続けている領域です。
これは最近の様々なAIサービスの登場により、実感できている部分かと思います。
例えば、ChatGPTは人間のように考え質問に対して答えることができます。
他にも人間のように絵を描いたり、作曲するサービスなど、知覚や知性を再現するサービスが多く存在しています。
エージェントとは
次に、「エージェント」についてです。
エージェントとは、環境を認識し、その環境に応じて行動できるもののことです。
『Artificial Intelligence: A Modern Approach』 (1995) では、エージェントを、センサーを通じて環境を認識し、アクチュエータを通じてその環境に応じて行動できるものとして定義しています。
これにより、エージェントは「環境」と「実行出来るアクションのセット」によって構成されることが分かります。
環境
ではまず環境とは何を示すのでしょうか?
これは、ユースケースによって異なります。
例えば、自動運転を行うエージェントであれば「道路状況」が環境となります。
一方で、株の売買を行うエージェントであれば「社会情勢」や「株価指数」などが環境となります。
アクションセット
次にアクションとは何を示すのでしょうか?
こちらも環境と同様、ユースケースによって異なります。
自動運転エージェントであれば、車の操作、例えば「アクセルを踏む」や「ハンドルをきる」といった操作がアクションに該当します。
一方で、株の売買を行うエージェントであれば、「社会情勢を調査する」、「株を売る」といった内容がアクションに該当します。
AIエージェントにおけるAIの役割
ここまででAIエージェントとは何かについて、なんとなく分かっていただけたのではないかと思います。
ではAIエージェントを実現するにあたって、AIはどういった役割をしているのでしょうか。
そもそもAIエージェントの目的は、 ユーザーから与えられたタスクを実行し、完遂すること です。
もう少し具体的に述べると、 AI自身が「環境」と「アクションセット」を認識し、特定の環境下でどのツールを使えばタスクを完遂することができるかを考え、行動します。
この時のAIの役割としては以下2点です
- ユーザーから与えられたタスクを完遂するために計画を立てる
- その計画通りにタスクを実行し、完了したかどうかを判断する
これらを見ると、生成AI単体や、RAGで利用される場合よりも、生成AIに対してより複雑な処理が要求されることが分かります。
こういったことから、AIエージェントを構築するためには強力なAIモデルが必要であると一般的に言われています。
より具体的な理由としては以下のようなものがあげられます。
エージェントにおいて強力なモデルが求められる理由1
1つのタスクを完遂するためには、複数のステップが行われます。
そしてステップが積み重なるごとに全体の成功率も下がってしまいます。
例えば1つのステップの成功率が98%であっても、そのステップが20個連なった場合、全体の成功率としては約67%まで下がります。
この対策としては
- 強力なモデルを採用して、ステップ単体の成功率を上げる
- ステップ数を減らす
といった内容が考えられます。
この1.の対策が、賢く強力なAIモデルを利用する理由となります。
エージェントにおいて強力なモデルが求められる理由2
AIエージェントはアクションを行うことで、外部にも影響を及ぼします。
例えばデータベースへのアクセスや、外部へのメール送信などを行うことができます。
想定通りの処理を行ってくれればいいのですが、想定しない処理を行われる可能性もあります。
例えば意図しないデータの書き換えや、誤った情報の外部へのメール送信などが該当します。
こういった誤った操作を行わないためにも、より賢い強力なモデルが必要となります。
AIエージェントの性能を決定づける要因
次に「良いAIエージェント」とは、どういったものを指すかについて考えてみたいと思います。 AIエージェントの性能を決定づける主な要因が以下2つです。
- ツール
- プランニング
ツール
ツールはAIエージェントが利用できる道具です。 そしてこのツールは以下の3つの種類に大別できます。
- 知識の拡張ツール
- 機能拡張ツール
- エージェントが環境に応じて動作できるようにするツール
これらのツールが豊富されている場合、生成AIが計画を行う際の選択肢が広がります。
知識の拡張ツール
1つ目が知識の拡張ツールです。
これは生成AIの知識を拡張するためのもので、本来生成AIのモデルが知りえない情報などを補完する際に利用されます。
具体的には以下のようなツールが該当します。
- インターネットでの検索
- データベースの検索
お気づきかもしれませんが、知識の拡張ツールを利用する点ではRAGと類似しています。
ただし、AIエージェントは取得した情報を基に自律的に行動計画を立て、複数のアクションを実行できる点でRAGとは異なります。
非常に簡素な形で実装してあるAIエージェントを、RAGとみなすことができる…とはいえるかもしれないです。
機能拡張ツール
2つ目が拡張機能ツールです。 以下のようなツールが該当します。
- 計算
- 単位変換
「計算などは生成AI単体でもできるのでは?」と思われるかもしれません。
生成AIは基本的な算数計算は可能ですが、複雑な数値計算や高精度な計算においては限界があります。
これは、生成AIが学習データのパターンから推論を行うため、計算専用ツールのような正確性は保証されないためです。
特に大きな数値や複雑な数式、統計計算などでは外部の計算ツールを使用する必要があります。
動作ツール
3つ目が動作ツールです。 以下のようなツールが該当します。
- データベースの更新
- 電子メールの送信
これが一番のAIエージェントの醍醐味である一方で、リスクも伴うツールになります。
先ほども少し言及しましたが、外部に影響を与えることで得られる恩恵が多い一方で、誤動作などによるリスクは見逃すことができません。
プランニング
次に、性能を決定づける要素の2つ目である「プランニング」についてご紹介します。
プランニングとは、AIエージェントが与えられたタスクに対して、どのような処理を行えばタスクを完遂できるかを検討し、計画を立てることを指します。
例えば
「大手ECサイトで、人気スポーツブランド『サイオス』のTシャツのうち、現在セール価格になっているものを探してください」
というタスクが与えられたとします。
この時、AIエージェントは少なくとも2つの計画を立てることが考えられます。
計画1
- ECサイトで開催中のセール対象商品をすべてリストアップする。
- その膨大なリストの中から、ブランドが「サイオス」のものを絞り込む。
- さらにその中から、商品カテゴリが「Tシャツ」であるものを探す。
計画2
- ECサイトで、ブランドが「サイオス」のTシャツをすべてリストアップする。
- そのリストアップした商品それぞれが、現在セール価格になっているかを確認する。
この2つの計画を比較してみましょう。
ECサイト全体のセール対象商品は、キャンペーンの規模によっては数十万〜数百万点にも及ぶ可能性があります。
計画1では、まずこの膨大なデータを取得してから絞り込むため、非常に多くの情報を処理する必要があり、時間もかかってしまいます。
一方で計画2は、最初に比較的母数の少ない「『サイオス』のTシャツ」という条件で商品を絞り込みます。
これなら対象は多くても数百点程度でしょう。
その上で、各商品がセール対象かどうかをチェックする方が、はるかに効率的にタスクを完了できそうです。
このように、同じゴールにたどり着く場合でも、より効率の良い計画を立てられるかどうかで、処理時間やコストが大きく変わってきます。
そして、どうしたらより良い計画が立てられるかについては、先ほども少し言及しましたが、状況を的確に判断できる性能の良いLLMモデルを利用することが一番の近道かと思います。
上記で説明したように、どのようなツールが用意されており、どのような計画が立てられるかで、与えられたタスクが正しく完遂されるかが決定されます。
- ツールを豊富に用意したところで、正しく計画できなければタスクは完遂できません
- 正しい計画が行えたとしても、ツールが不足していればタスクが完遂できません
そのため、AIエージェントに対して、適切なツールを与え、適切な計画を立てさせること が良いAIエージェントを構築する上で重要となります。
フィードバック
これまでご紹介したように、AIエージェントは与えられた「ツール」を利用して、「プランニング」を実行し、タスクを完遂しようとします。
ただ、ここでさらに注目するべきポイントが、AIエージェントが単に計画を立てて、実行するだけにとどまらない点です。
AIエージェントは自ら立てたプランを評価し、問題なければそれに従いタスクを実行していきます。
この時、もし計画に問題がある(タスクを完遂できなさそう)場合は、再度計画を練り直します。
更に、そのプランの実行中および実行後に実行結果を評価し、問題があるようであれば再度プランニングから行います。
具体的な流れは以下のようになります。
- ユーザーからの要求を分解して、解決するための一連のタスク(=プラン)に分解する
- 生成したプランを評価する
- プランが適切でない場合は再生成する
- 生成されたプランを実行する
- 実行された結果を判定し、完了していない場合は再度計画し直す
このフィードバックループにより、AIエージェントは失敗から学習し、より効果的な解決策を見つけることができます。
以下に参考にした記事の、非常に分かりやすい図を掲載しておきます。
(引用:https://huyenchip.com/2025/01/07/agents.html)
まとめ
今回はAIエージェントについて初心に帰り、基礎的な部分のご紹介をしました。
近年、様々なAIエージェント開発ツールや、MCP(Model Context Protocol)などの登場によりAIエージェントの開発が非常に容易なものとなってきています。
その一方で、今回ご紹介したようなAIエージェントの基礎的な部分も抑えておく必要はあるかと思うので、是非参考にしていただければと思います。
ではまた!