AIエージェント
AI Agent
概要(サマリー)
AIエージェントとは、目標を与えると、必要な手順を自分で考え、道具を使って作業を進めるAIのことである。
普通の生成AIとの違いは、指示を1回受けて1回答えるだけか、目標に向かって何度も動き続けるかにある。前者が「質問に答える相談相手」だとすれば、後者は「仕事を任せられる担当者」に近い。
「このバグを直して」と頼むと、ファイルを検索し、コードを読み、修正を書き、テストを走らせ、失敗したら直してまた走らせる。この一連の流れを人の指示なしに回すのがAIエージェントである。Claude CodeのようなAIコーディングツールは、その代表例といえる。
詳細解説
通常の生成AIとの違い
同じLLMを使っていても、使い方の構えが違う。
| 通常の生成AI | AIエージェント | |
|---|---|---|
| やりとり | 1回聞いて1回答える | 目標に向かって何度も繰り返す |
| できること | 文章の生成 | 文章の生成+道具の実行 |
| 外の世界 | 触れない | ファイル・API・コマンドを操作する |
| 終わり方 | 答えたら終了 | 目標が達成できたと判断したら終了 |
| 人の関与 | 毎回指示する | 節目だけ確認する |
決定的な違いは3行目である。通常の生成AIは文章を返すだけだが、エージェントは実際に外の世界へ働きかける。ここが便利さと危うさの両方の源になっている。
動き方(ループ構造)
エージェントの中身は、意外なほど単純な繰り返しでできている。
- 考える: いまの状況を見て、目標に近づくために次に何をすべきか決める
- 動く: 決めた道具を使う(ファイルを読む、コマンドを実行する、APIを呼ぶ)
- 見る: 実行結果を受け取る
- 判断する: 目標に届いたか。届いていなければ1へ戻る
この「考える→動く→見る」の輪を、目標に届くまで回し続ける。人間が何かの作業をするときの進め方とほとんど同じである。
重要なのは、3番目で実際の結果を見ている点だ。AIが書いたコードが動かなければ、エラーメッセージがそのまま次の入力になる。だから自分で間違いに気づき、直せる。1回きりのやりとりでは、この自己修正が起きない。
道具(ツール)が能力を決める
エージェントの能力は、頭の良さよりもどんな道具を渡されているかで決まる部分が大きい。
- ファイルを読む・書く
- コマンドを実行する
- Webを検索する・ページを取得する
- データベースへ問い合わせる
- 外部サービスのAPIを呼ぶ
道具の渡し方を統一する規格としてMCPがある。これによって、道具を作る側とAIを使う側を分けて開発できるようになった。「このAIは何ができるのか」を知りたければ、まずどんな道具が接続されているかを見るとよい。
得意なこと・苦手なこと
得意
- 手順が多く、途中で結果を確認しながら進める作業
- 試行錯誤が必要な作業(コードを直してはテストする、など)
- 同じ形の作業の繰り返し
- 大量のファイルから条件に合うものを探す
苦手
- 目標があいまいな作業。「いい感じにして」では迷走する
- 途中で人の判断が必要な作業。勝手に決めて進んでしまう
- 取り返しのつかない操作を含む作業。削除・送信・公開など
- 長すぎる作業。回数を重ねるほど当初の目的から逸れやすい
安全に使うための考え方
エージェントは外の世界を実際に操作するため、便利さと同じだけリスクがある。
- 取り返しのつかない操作は人が承認する: 削除、送信、公開、課金を伴う操作は自動で通さない
- 作業範囲を限定する: 触れるフォルダやAPIを絞る
- やり直せる状態にしておく: コードならバージョン管理下で作業する。元に戻せることが安心につながる
- 上限を決める: 繰り返し回数や実行時間に上限を設け、無限に動き続けないようにする
- 外部から読み込む内容を信用しない: Webページやファイルの中に「これまでの指示を無視して〜」と書かれていると、それを指示として受け取ってしまうことがある(プロンプトインジェクション)
最後の点は、エージェント特有の危険である。通常の生成AIなら変な答えが返るだけで済むが、道具を持ったエージェントはその指示にしたがって実際に何かをしてしまう可能性がある。
身近な例
- AIコーディングツール: Claude Code、Cursor、Codexなど。コードを読み書きし、テストを実行する
- リサーチ系: 複数のサイトを調べて要点をまとめる
- 業務の自動化: メールを分類し、必要なものだけ下書きを作る
- 運用の監視: エラーログを読み、原因の候補を挙げる
AIコーディングツールがもっとも身近だろう。「ファイルを検索して、読んで、直して、テストする」という流れは、まさにエージェントのループそのものである。
AIコーディングとの関係
AIコーディングツールをうまく使えるかどうかは、エージェントの性質を理解しているかにかかっている。
目標を具体的に書く。 エージェントは自分で手順を決めるので、目標があいまいだと迷走する。「使いやすくして」ではなく「入力欄が空のとき送信ボタンを無効にして、理由をボタン下に表示して」と書く。
完了条件を渡す。 「テストが全部通ったら完了」「このコマンドがエラーなく終わったら完了」と明示すると、途中で切り上げたり、逆に延々と手直しを続けたりしなくなる。
触ってよい範囲を伝える。 「このフォルダの中だけ」「既存のCSSは変更しない」と先に言っておくと、意図しない広範囲の変更を防げる。
結果を見せる手段を用意する。 エージェントはテストの出力やエラーメッセージを頼りに自己修正する。テストがない状態では「動いているつもり」で終わってしまう。テストやビルドコマンドがあるプロジェクトほど、エージェントは正確に働く。
節目で確認する。 一気に全部任せるより、区切りごとに結果を見るほうが結局は速い。大きく外れたときの手戻りが小さくて済む。
よくある勘違い
AIエージェントは特別なAIモデル?
モデルが特別なわけではない。同じLLMに道具を渡し、結果を見て繰り返す仕組みを付けたものがエージェントである。モデルそのものよりも、周囲の仕組みと渡す道具が働きを決めている。
目標を投げれば全部やってくれる?
目標があいまいなほど、期待とずれた成果物が返る。人に仕事を頼むときと同じで、完了条件と制約を伝えるほど精度が上がる。「全部お任せ」がうまくいくのは、作業が単純で判断の余地が少ない場合に限られる。
途中で止まらないのは性能が高い証拠?
止まらずに回り続けるのは、完了条件が曖昧なせいであることが多い。優秀なエージェントは「ここで人に確認すべきだ」と判断して止まる。止まらないことは能力の指標にならない。
自律的だから人の確認は不要?
削除・送信・公開・課金のような取り返しのつかない操作は、人が確認すべきである。AIの判断が正しいかどうか以前に、間違えたときの被害が戻せないためだ。自律性と無人運転は別の話である。
まとめ
- AIエージェントは、目標を与えると手順を自分で考え、道具を使って作業を進めるAIである
- 「考える→動く→結果を見る」を繰り返すことで、自分の失敗に気づいて修正できる
- 能力はモデルの賢さよりも、接続されている道具の種類に左右される
- 目標・完了条件・作業範囲を具体的に伝えるほど精度が上がる
- 取り返しのつかない操作は人が承認し、やり直せる状態で使うのが前提である
情報ソース
より詳しくAIに聞いてみよう
- AIエージェントと通常の生成AIの違いを、具体的な作業例つきで説明してください。
- AIエージェントの「考える→動く→結果を見る」ループが、なぜ自己修正につながるのか教えてください。
- AIエージェントに任せてよい作業と、人が確認すべき作業の線引きを教えてください。
- プロンプトインジェクションがAIエージェントで特に危険なのはなぜか、具体例つきで教えてください。
- AIコーディングツールに作業を頼むとき、完了条件をどう書けば途中で迷走しませんか。