ChatGPTやGeminiにコードを貼り付けて「なんでこの部分うまくいかないの?」と聞くのは、もはや日常の光景になりました。でも最近、周りの開発者の話を聞いていると、なんか話の質が違うんですよね。「昨夜Claude Codeに頼んだらリファクタリング全部終わってたよ」「Cursorが自分でファイル探して直してくれた」——ただ答えをもらうのとは違う、AIが自分で仕事をしているような話ばかり。でも正確に何が違うのか、どうすればそうなるのか、よく分からないままスルーしてしまった経験、ありませんか?同じAIなのに、一方は代わりに全部やってくれて、もう一方はこちらがコピペして適用しなければならない——この差がどこから来るのか、この記事で整理していきます。
この記事の要点
– チャットボットAI:質問-回答方式、ファイルアクセスなし、毎ステップ人が介入
– エージェントAI:目標提示後に自律実行、ファイルを直接編集、エラー時は自己修正ループ
– チャットボットが有利な場面:概念探索、ブレインストーミング、短いコードの質問
– エージェントが有利な場面:実際のファイル編集、複数ファイルにわたるリファクタリング、繰り返し作業の自動化
AIの基本概念を学びたい方は、AI・機械学習・ディープラーニング・LLM完全解説 もご参照ください。
目次
- チャットボットAI — 博識なアドバイザー、でも実行するのはあなた
- エージェントAI — 目標を渡せば自分で動く
- 一目でわかる違い
- ゲーム開発者が現場で感じる違い
- カスタマイズの方法も根本的に違う
- どちらを選ぶべきか
- エージェントを使う前に知っておくべきこと
- よくある質問
- まとめ
チャットボットAI:博識なアドバイザー、でも実行するのはあなた
最もなじみ深い形のAIです。ChatGPTやClaude.aiのようなWebインターフェースを思い浮かべてください。
仕組みはシンプルです。質問すれば答えが返ってくる。それだけです。「このC#コードのどこが問題?」と聞けば原因を説明してくれます。「Unityでオブジェクトプーリングの実装方法を教えて」と言えばサンプルコードと解説が返ってきます。答えが気に入らなければまた質問して、方向を修正していけばいい。
電話サポートの担当者をイメージするとぴったりです。どんな質問にも的確に答えてくれる博識な専門家ですが、あなたの画面を直接見ることはできません。コードファイルにアクセスすることも、ビルドを実行することもできない。アドバイスは的確でも、実行はあなた自身がやらなければなりません。電話を切れば(タブを閉じれば)、記憶もリセットされます。
チャットボットAIの主な特徴をまとめると:
- 入力 → 出力: 質問一つに回答一つ、ターン制の会話
- ツールなし: ファイルアクセス、コード実行、検索——すべて不可。テキスト生成のみ
- 記憶はセッション内のみ: ウィンドウを閉じれば会話は消える(有料プランのメモリ機能は別)
- 毎ステップ自分が介入: 回答を読んでコードに貼り付け、結果を確認してまた質問——解決まで繰り返す
エージェントAI:目標を渡せば自分で動く
エージェントAI(Agent AI)は全く別物です。Codex、Claude Code、Cursor、GitHub Copilot Agentといったツールがこれにあたります。
核心的な違いはツール使用(Tool Use)です。エージェントはファイルを直接読み、コードを編集し、ターミナルでコマンドを実行し、Web検索もできます。「こうすればどうでしょう?」とアドバイスするだけでなく、実際に手を伸ばして作業を行います。
動作の流れも異なります。チャットボットが質問-回答の単一ループであるのに対し、エージェントは計画 → 実行 → フィードバック → 修正が繰り返されるマルチステップ(Multi-step)構造です。「このUnityプロジェクトでシーン遷移時にメモリリークが起きている原因を見つけて直して」と目標を与えると、関連スクリプトを読み込み、リークのパターンを特定し、修正案を書き、ビルドエラーが出ればまた自分で直す——この一連の流れを自律的にこなします。
隣に座って一緒に作業している新人開発者を想像してみてください。「この機能実装して」と言うと、プロジェクトの構造を自分で把握し、関連ファイルを開いてコードを書き、「こうしましたが確認してもらえますか?」と報告してくる——そういう存在です。
エージェントの主な特徴:
- 目標 → 自律実行: 大きな目標を与えると複数のステップを自分でこなす
- ツール使用: ファイルR/W、コード実行、Web検索、APIコールなど実環境と直接やりとり
- プロジェクトのコンテキスト把握: プロジェクト構造、ファイル間の依存関係、コードパターンを自分で読んで理解
- 自己修正: 実行中にエラーが発生すれば原因を分析してリトライ
一目でわかる違い
| 比較項目 | チャットボットAI | Agent AI |
|---|---|---|
| インタラクション | 質問-回答(ターン制) | 目標-自律実行(マルチステップ) |
| ツール使用 | なし(テキストのみ) | ファイル、実行、検索など環境を直接操作 |
| 実行フロー | 単一の回答 | 計画 → 実行 → 修正ループ |
| コンテキスト | 会話に貼り付けた内容のみ | プロジェクト全体のファイルを直接把握 |
| 自分の介入 | 毎ステップ必要 | 目標設定後は自律的に進む |
| 代表ツール | ChatGPT, Claude.ai | Codex, Claude Code, Cursor |
2つのAIの処理フローを並べて見ると、構造的な違いがより鮮明になります。
ゲーム開発者が現場で感じる違い
同じ作業でも、チャットボットとエージェントではまったく異なる体験になります。実際のシナリオで比較してみましょう。
シナリオ1 — バグを見つける
チャットボットを使う場合、エラーメッセージをコピーして貼り付け、関連するコードも一緒に貼ります。AIが原因を推測して修正コードを提案してくれたら、自分でファイルを開いて修正します。バグが複数のファイルにまたがっていれば、ファイルごとにコードを貼り付けながら質問を繰り返すことになります。
エージェントを使う場合は、「インゲームでNullReferenceExceptionが発生しているので原因を見つけて直して」と伝えるだけです。エージェントがログを読み、関連スクリプトを探して分析し、原因を特定して修正します。複数ファイルにまたがる問題も一度に処理します。
シナリオ2 — リファクタリング
チャットボットに「このMonoBehaviourをリファクタリングして」と言う場合、コードを貼り付けて、返ってきた改善コードを自分でファイルに適用する必要があります。プロジェクト内の他のファイルがこのクラスをどう使っているかは、チャットボットには分かりません。
エージェントは対象クラスのコードだけでなく、そのクラスを参照している他のファイルまで把握し、リファクタリング後の互換性も一緒に担保します。連鎖的な修正が自動で行われます。
シナリオ3 — 新機能の実装
「Unityでオブジェクトプーリングってどうやって作るの?」——チャットボットは汎用的なサンプルコードを返します。プロジェクト構造に合わせて調整し、Bulletクラスに繋げ、シーンに設定するのはすべて自分の作業です。
エージェントに「オブジェクトプーリングシステムを作って、既存のBulletクラスに適用して」と伝えると、Bullet関連のコードを分析した上で、最適化されたプーリングシステムを新しいファイルとして作成し、既存コードを修正して連結まで完了します。
シナリオ4 — 概念の理解とアイデア探索
エージェントAIに「URPのCustom Render Passって何?」と聞いても、ちゃんと答えてくれます。ただ、こういった場面ではチャットボットの方が適しています。理由はシンプルです——概念の探索やブレインストーミングは素早いやりとりが命ですが、エージェントはファイルを開いてプロジェクトを把握する準備フェーズを経るのに対し、チャットボットは質問した瞬間に答えが返ってきます。「それってGPU Instancingとどう違うの?」「その場合はDOTSを使うべき?」というように、話を深掘りしていく会話の流れもチャットボットの方がずっと自然です。エージェントの強みであるファイルアクセスやコード実行が一切必要ない状況なら、重いツールをわざわざ使う必要はありません。
カスタマイズの方法も根本的に違う:GemとスキルやRuleの差
どちらも「自分好みにAIを設定する」方法ですが、その性質は根本的に異なります。
GemやCustom GPT——役割を与えること
GeminiのGem、ChatGPTのCustom GPTは、チャットボットに特定のペルソナと指示を保存しておく機能です。「Unityの専門家として答えて」「返答は必ず日本語で」「コードより先に概念を説明して」といった形で会話スタイルを固定します。毎回同じ説明を繰り返さずに済むのは便利ですが、チャットボットとしての本質的な限界は変わりません。ファイルを開いたりコードを実行したりする能力が生まれるわけではなく、ただ慣れ親しんだ口調で答えてくれるようになるだけです。
Gemは担当者に「Unityの専門家として話してください」と役割を与えるようなものです。担当者は依然として電話の向こうにいて、あなたの画面は見えません。
スキルとRule——実行の仕方を定義すること
エージェントAIのRule(ルール)とスキルは、次元が違います。Ruleはエージェントがすべての作業において常に守るべき原則です。「コミット前に必ずテストを実行する」「コメントは英語で書く」といったルールが常時機能します。スキルは特定の作業の実行順序そのものを定義します。例えば /find-memory-leak というスキルを作っておけば、コマンド一つでログ分析 → 疑わしいコードの特定 → 修正候補リストの出力まで続くワークフローが自動で実行されます。
Ruleとスキルはまるでチームメンバーへのマニュアルを渡すようなものです。「この作業は常にこの順番で」というマニュアルに従って、実際にファイルを開き、コードを書き、成果物を作り上げます。
まとめると、Gemは会話のスタイルをカスタマイズし、スキルとRuleは実行の動作をカスタマイズします。チャットボットとエージェントの根本的な違いが、カスタマイズの方法にもそのまま表れています。
どちらを選ぶべきか
AIツールを使いこなす人はこの選択を直感的に行います。簡単な判断基準を整理しました。
チャットボットが向いている場面:
- 概念や仕組みをすばやく理解したいとき(「レイキャストってどう動いてるの?」)
- アイデアをブレインストーミングしてフィードバックがほしいとき
- 短いコードスニペットの例が必要なとき
- 設計の方向性やアーキテクチャについて話し合いたいとき
- モバイルや外出先で手軽に質問したいとき
- 特定のエラーメッセージや短いコード断片をすばやく分析したいとき
エージェントAIが向いている場面:
- 実際にファイルを読んで修正する作業が必要なとき
- 複数のファイルにまたがるリファクタリングやパターン変更が必要なとき
- 繰り返しのボイラープレートコードを大量に生成しなければならないとき
- プロジェクト全体を分析して問題を洗い出したいとき
- 新機能の実装と既存コードへの統合を一度に処理したいとき
- 実行中にエラーが発生し得る作業で自動修正ループが必要なとき
チャットボットは自分が運転してAIがナビゲーションを担う構造、エージェントは目的地を伝えるだけでAIが自分で運転する構造です。近所への買い物なら自分で行く方が早いですが、複雑な長距離移動は専任のドライバーに任せた方がずっと効率的です。
エージェントを使う前に知っておくべきこと
強力さにはリスクが伴います。エージェントは複数のファイルを一度に変更するため、何か問題が起きるとプロジェクト全体に影響が及びます。
作業前には必ずgitコミットやブランチを作る習慣をつけましょう。エージェントが出力したコードをレビューなしにそのまま信頼するのは危険です。エージェントも間違えます。特に複雑なビジネスロジックや、フレームワーク特有の暗黙のルールがあるコードでは間違いが起きやすいです。出力を確認して理解することも、作業の一部です。
チャットボットが「アドバイスするAI」なら、エージェントは「実行するAI」です。実行には責任が伴い、その責任は最終的に使用者にあります。
—
よくある質問
Q. ChatGPTもファイルを添付できますが、それもエージェントAIですか?
ファイル添付は「読み取り専用」です。ファイルの内容をコンテキストとして参照することはできますが、ファイルを直接修正したりターミナルを実行したりはできません。ツールを使わずテキスト生成のみを行うなら、チャットボット型AIです。
Q. Claude.aiとClaude Codeはどう違うのですか?
Claude.aiはWebインターフェースのチャットボット型AIです。Claude Codeはターミナルで動作するエージェントで、ファイルシステムへのアクセス・コード実行・プロジェクト探索が可能です。同じClaudeモデルを使っていますが、動作方式は根本的に異なります。
Q. エージェントがファイルを誤って修正した場合はどうなりますか?
エージェントは複数のファイルを一度に修正できるため、ロールバックが困難です。作業前に必ずgit commitや新しいブランチ作成を習慣にしてください。結果物は必ずコードレビューを行ってください。
Q. 初心者開発者にはチャットボットとエージェント、どちらが向いていますか?
概念理解やコード学習の段階ではチャットボットが適しています。エージェントの出力を適切にレビューするには、コードを読む基礎力が必要です。エージェントのコードをレビューなしで使用すると、学習機会を失い、エラーを検証できないリスクがあります。
まとめ
チャットボットAIとエージェントAIは、どちらが優れているかという話ではありません。どんな作業をするかによって、適切なツールが変わるのです。
概念をすばやく理解したり、会話でアイデアを探ったりするなら、チャットボットの方が軽くて効率的です。しかし実際のコードを修正したり、複数のファイルをまたいで作業を処理したりする場面では、エージェントが生産性を圧倒的に高めてくれます。
20年近く開発をしてきて感じるのは、ツールをうまく使いこなす能力が開発者の競争力を決めるということです。AI時代も変わりません。チャットボットとエージェントを状況に応じて自由に使い分けられる開発者が、どちらか一方しか使わない開発者よりも、はるかに大きな生産性の差を生み出していくでしょう。
次回は、エージェントAIをUnity開発の実務でどう設定して使うか、具体的なプロンプト戦略とともに詳しく解説します。