AIエージェント入門 ── AIに「仕事」をさせるとはどういうことか

概要
AIエージェント入門 ── AIに「仕事」をさせるとはどういうことか
「AIエージェント」という言葉をよく目にするが、これが何を指しているのか明確に答えられる人は多くない。AIチャットとは別のものを指しているわけだが、本記事ではAIエージェントとは何か、従来のAIチャットと何が違うのか、そしてその仕組みはどうなっているのかを、専門知識がなくても理解できるようにわかりやすく解説する。
AIエージェントとは何か
「答える」から「働く」へ
AIチャットは、人間が質問を投げかけると、それに対して回答を返してくれるものである。たとえば「日本の首都はどこか」と聞けば「東京だ」と答えてくれるし、「この文章を英語に翻訳して」と頼めば翻訳してくれる。これらはすべて人間とAIのやりとりだ。やりとりは1回で完結するものもあれば、壁打ちのように何度もやり取りをするものもある。いずれにせよ、AIは人間と言葉をやり取りするだけである。
AIエージェントは、これとは根本的に異なる。AIエージェントとは、AIに「仕事」をさせる仕組みのことである。ここでいう「仕事」とは、単に質問に答えることではなく、複数のステップにまたがる具体的なタスクを、AIが自分で考えながら遂行することを意味する。
身近な例で理解する
たとえば、次のような場面を想像してほしい。
あなたが「今日の天気を調べて、その天気と季節感に合ったSNS投稿の文面を作って」とAIに頼んだとする。この場合、AIはまず天気予報を取得し、次にその情報をもとに投稿文を考え、さらに適切なハッシュタグを付けるところまで自分で判断して行う。あるいは「東京で3月20日から2泊、予算は1泊1万5千円以内、駅から徒歩5分以内のホテルを探して予約して」と指示すれば、AIが条件に合うホテルを検索し、比較し、最適なものを選んで予約手続きまで進めてくれる。
これらに共通するのは、AIが自律的に――つまり自分で考え、判断し、行動する――という点だ。人間はゴール(最終的にやってほしいこと)を伝えるだけでよく、途中の細かい手順をすべて指定する必要はない。
もっと高度なタスクの例
ビジネスの現場では、さらに複雑なタスクをAIエージェントに任せる動きが広がっている。いくつかの例を見てみよう。
データ分析の場合、AIエージェントは次のように動く。まず、指定されたKPIに異常がないかを検知する。異常が見つかれば、その原因の仮説を立て、仮説を検証するために追加のデータを取得する。取得したデータに対して統計的な検定を行い、結果をグラフなどに可視化したレポートを作成し、最後にその要約をSlackに投稿するところまで自動で行う。
プログラミングの場合は、仕様書からソフトウェアの設計を行い、実際のコードを生成し、そのコードが正しく動くかテストを実行し、問題がなければ本番環境に近い検証環境に反映するところまでを一連の流れとして遂行する。
こうした複雑なタスクにおいて特に重要なのは、途中で想定外の事態が起きたときにもAIが自分で考えて対処できるという点だ。たとえばデータ分析中にデータの形式が想定と違っていた場合、AIエージェントはその場で適切な変換方法を考え出して処理を続行できる。
AIチャットとAIエージェントは何が違うのか
2つの軸で整理する
AIチャットとAIエージェントの違いを明確にするために、2つの軸で考えてみよう。1つ目の軸は「やり取りだけか、作業もするか」、2つ目の軸は「決められた通りに動くか、自律的に判断して動くか」である。
| 確定的(決められた通りに動く) | 非確定的(自律的に判断して動く) | |
|---|---|---|
| やり取りだけ(質問→回答) | チャットボット 事前に用意されたシナリオやルールに基づいて応答する。想定外の質問には対応できない。 | AIチャット(ChatGPT、Claudeなど) LLMが文脈を理解し、テキストのやり取りや成果物の生成(クリエイティブ、ソースコード)を柔軟に行う。ただし「作業」はせず、あくまで受け答えの範囲に留まる。 |
| 作業をする(タスクを実行) | RPA 事前に組まれたロジック通りに作業を自動実行する。決められたルール外の状況には対応できない。 | AIエージェント その場の状況を判断し「気を利かせて」自律的に作業を遂行する。柔軟に対応できる反面、結果が非確定的になる。 |
やり取りだけかつ決められた通りに動くのが、従来型のチャットボットだ。企業のWebサイトでよく見かける「よくある質問」に自動応答するタイプのもので、事前に用意されたシナリオやルールに基づいて応答する。「営業時間は何時か」という質問には答えられるが、想定外の質問には対応できない。
やり取りだけかつ自律的に判断して動くのが、ChatGPTやClaudeといったAIチャットだ。大規模言語モデル(LLM)が文脈を理解し、柔軟にテキストのやり取りを行う。ただし、あくまで「受け答え」の範囲にとどまり、外部のシステムを操作するといった「作業」は基本的に行わない。
作業をするかつ決められた通りに動くのが、RPA(ロボティック・プロセス・オートメーション)だ。事前に組まれたロジック通りに作業を自動実行する。「このExcelのA列のデータを、毎朝9時にこのシステムに入力する」といった処理は得意だが、ルール外の状況が発生すると止まってしまう。
作業をするかつ自律的に判断して動くのが、AIエージェントだ。その場の状況を判断し、「気を利かせて」自律的に作業を遂行する。
つまりAIエージェントの特徴は、自律的に判断できることと実際に作業を遂行することの両方を兼ね備えている点にある。
確定的と非確定的 ── 安定性と柔軟性のトレードオフ
確定的アプローチとは
「確定的」とは、同じ入力に対して常に同じ出力が返ってくる性質のことだ。RPAや従来型のチャットボットがこれにあたる。
確定的アプローチの強みは、アウトプットの品質が安定していることである。細かい手順がロジックとして事前に組まれているため、毎回同じ品質の結果が得られる。また、同じ入力に対して常に同じ出力が保証されるため、検証や監査がしやすく、何が出力されるかを事前に把握できるので後続の工程を設計しやすいという利点もある。
一方で、弱みもある。事前に組まれたロジックの範囲外のケースが発生すると、処理が止まるか誤った結果を返してしまう。また、あらゆるケースを事前に洗い出して手順として定義する必要があるため、最初の構築にも、その後の保守にも大きなコストがかかる。業務の変化や例外的なパターンへの対応にはそのたびにロジックの改修が必要だ。
非確定的(自律的)アプローチとは
「非確定的」とは、同じ入力に対しても毎回異なる出力が返ってくる可能性がある性質のことだ。AIエージェントがこれにあたる。
非確定的アプローチの強みは、想定外の状況にも柔軟に対応できることである。その都度考えて判断するため、確定的ロジックでは想定できなかったケースにも対処できる。文脈や状況を踏まえて、人間が明示的に指示していない部分まで自律的に判断・補完する「気を利かせた」対応が可能であり、場合によっては人間が事前に設計した手順よりも優れたアウトプットが得られることもある。
弱みとしては、アウトプットの品質が不安定になりうることが挙げられる。AIが勝手に内容を省略したり、意図と異なる判断をしたりして、期待より低い品質になるリスクがある。同じ入力でも毎回異なる出力が返る可能性があるため結果の保証が難しく、またAIがなぜその判断をしたのかが外からはわかりにくい「ブラックボックス」状態になりやすいという課題もある。
実際の運用ではハイブリッドが有効
ここまで読むと、確定的と非確定的のどちらが優れているかという話に見えるかもしれないが、実はそうではない。両者は品質の安定性と柔軟性のトレードオフの関係にある。確定的アプローチは「決まったことを確実にやる」のに強く、非確定的アプローチは「決まっていないことにも対応する」のに強いのだ。
実際の運用においては、品質を安定させたい定型的な部分は確定的ロジックでしっかり固め、判断や例外対応が求められる部分にAIエージェントを活用するという、ハイブリッド(組み合わせ)の設計が最も効果的である。
品質の安定性と柔軟性はトレードオフ
品質の安定性 高 ◄──────────────────► 低
柔軟性 低 ◄──────────────────► 高
確定的 非確定的(自律的)
AIエージェントの仕組み ── LLMとツールの役割分担
モデルが考え、ツールが実行する
AIエージェントが実際にどうやって作業を遂行しているのか、その仕組みを見てみよう。基本的な枠組みは非常にシンプルで、LLM(大規模言語モデル)+ツールという構成だ。
LLMは「頭脳」の役割を果たす。何をすべきかを考え、判断し、指示を出す。一方、ツールは「手足」の役割を果たす。LLMからの指示を受けて、ファイルの操作、Webの検索、データベースへの問い合わせといった具体的な作業を実行する。
たとえば「明日の東京の天気に合わせたSNS投稿を作って」というタスクであれば、次のような流れで処理が進む。まずLLMが「天気情報が必要だ」と判断し、天気予報を取得するツールを選んで「東京、明日」という条件で実行を指示する。ツールは天気予報APIにアクセスして「晴れ、最高気温22度」といった結果を返す。LLMはその結果を受け取り、「春の陽気で晴天だから、お出かけを促す明るいトーンの投稿が適切だ」と考えて文面を作成する。
このように、LLMが処理内容を考える → 適したツールを選ぶ → ツールに指示を送る → ツールが実行する → 結果をLLMに返す → LLMが次の処理を考える → …… というループが繰り返されることで、複雑なタスクが段階的に遂行されていく。
ここで重要なのは、LLMは自律的に動き、ツールは確定的に動くという役割分担だ。前章で説明した「確定的」と「非確定的」の強みを、それぞれの得意な役割に割り当てることで、AIエージェント全体としてバランスの取れた動作を実現しているのである。
ツールとは具体的に何か
「ツール」と聞くと大掛かりなものを想像するかもしれないが、実態はシンプルだ。ツールとは、特定の処理を行う小さなプログラムや機能のことである。「ファイルを読み込む」「Webページを取得する」「データベースを検索する」「メールを送信する」といった、一つひとつの処理がそれぞれ独立したツールとして用意されている。
ツールの種類としては、AIエディタなどのソフトウェアやサービスにあらかじめ組み込まれているものもあれば、PythonやNode.jsなどのプログラミング言語で書かれた外部のスクリプトもある。そして近年注目されているのがMCPサーバと呼ばれるものだ。
MCPサーバ ── ツール接続の共通規格
MCP(Model Context Protocol)は、Anthropic社が提唱した標準規格である。LLMと外部のさまざまなツール(ファイル操作、ブラウザ操作、データベースなど)を接続する際の「共通ルール」を定めたものと考えるとわかりやすいだろう。
なぜ共通ルールが必要なのかというと、ツールごとに接続方法がバラバラだと、開発や管理がとても大変になるからだ。家電製品にたとえると、もしメーカーごとにコンセントの形状が違っていたら非常に不便だろう。MCPは、いわば「どのメーカーの家電でも同じコンセントで使える」ようにする規格である。MCPという共通ルールに従って作られたツール(これをMCPサーバと呼ぶ)は、どのLLMからでも同じ形式で呼び出して使うことができる。MCPサーバの中身自体は、Pythonなどで書かれた比較的単純なプログラムだ。
LLMとツール、それぞれに何を任せるべきか
AIエージェントを設計する際に重要になるのが、LLMに任せる処理とツールに任せる処理を適切に分けることだ。
LLMに任せるべきなのは、事前にロジックを決めきれないような自律的な判断が求められる処理、すべてのパターンを網羅するのが現実的でない状況への対応、そしてテキストを扱うような定性的な処理である。
一方、ツールに任せるべきなのは、やるべきことが事前に明確に決まっている処理、対応パターンが網羅されている処理、大量のデータに対する計算や検索といった定量的な処理だ。
この区分は非常に重要で、ツールに任せるべきことをLLMにやらせてはならない。なぜなら、LLMの出力は非確定的であるため、たとえば数値計算や正確なデータ検索をLLMに任せると不正確な結果が返ってくるリスクがあるからだ。問題はそれだけではない。AIエージェントは前述の「LLM → ツール → LLM → ……」というループ構造で動いているため、ある段階で不正確な中間結果が生まれると、それに基づいてLLMが次の判断を行い、さらにその誤った判断に基づいて次の処理が進む、というようにエラーが雪だるま式に連鎖するリスクがあるのだ。ツールが正確な結果を返すからこそ、LLMの次の判断が地に足のついたものになるという関係を忘れてはならない。
AIにツール自体を作らせるという発想
非確定的から確定的への変換
前章で「ツールに任せるべきことをLLMにやらせてはならない」と述べたが、ここで一つ興味深い考え方がある。それは、ツール自体をLLMに作らせるという方法だ。
これはどういうことか。たとえば、「売上データから月次の増減率を計算してグラフにする」という処理があったとする。この処理を毎回LLMに依頼すると、計算結果が微妙にずれたり、グラフの形式がばらついたりする可能性がある(非確定的であるがゆえのリスクだ)。
そこで、LLMに「この処理を行うプログラム(ツール)を書いて」と依頼する。LLMがプログラムを書き、テストし、デバッグしてくれる。こうして一度完成したプログラムは、以降は確定的に――つまり毎回同じ正確さで――動作する。
これは、確定的と非確定的のトレードオフに対する実践的な解決策とも言える。非確定的なLLMに毎回同じ処理をやらせると品質が不安定になる。それならばLLMに一度だけコードを書かせてツール化してしまえば、以降はそのツールが確定的に実行するので品質が安定する。言い換えれば、「非確定的な処理を確定的な処理に変換する作業」そのものをLLMに担わせるという、一段メタな活用法なのである。
最近では、ユーザーがタスクを命令すると、AIがそのタスクの性質を分析し、「これはプログラムに処理させたほうが正確だ」と自ら判断してPythonプログラムを生成し、そのプログラムを実行するというケースも増えてきている。AIが自分自身の得意・不得意を理解し、不得意な部分はツールに任せるための橋渡しを自分で行うわけだ。
おわりに
AIエージェントの核心をまとめると、次のようになる。AIエージェントとは、LLM(頭脳)とツール(手足)の組み合わせによって、人間から与えられたゴールに向かって自律的に作業を遂行するAIの仕組みである。LLMの「柔軟に考える力」とツールの「正確に実行する力」を適切に組み合わせることで、従来は人間にしかできなかった複雑な業務の自動化が可能になりつつある。
AIエージェントは万能ではない。品質の安定性と柔軟性のトレードオフは常に存在し、すべてをAIに丸投げすればうまくいくというものでもない。しかし、「AIに仕事をさせる」という視点を持ち、確定的な処理と非確定的な処理を適切に使い分けることで、AIエージェントは私たちの働き方を大きく変える可能性を秘めている。
