図解なしでもわかるAIチャットボットの仕組み
トークン、学習、文脈枠、同じ質問でも回答が変わる理由など、AIと対話するときに内部で何が起きているのかを平易に解説します。

AIチャットを使いこなすために、難しい数学の知識は必要ありません。ただし、裏側で何が起きているかの基本的なイメージを持っておくと、多くの疑問が解消されます。間違っているのに自信満々に答える理由、同じ質問で違う答えが返ってくる理由、長いチャットで話が通じなくなる理由、最新の出来事を知らない理由などです。ここでは、不要な専門用語を使わずにわかりやすく解説します。
ざっくり言うと
AIチャットボットは、大規模言語モデル(LLM)をベースに構築されています。これは膨大なテキストデータで訓練され、「次に来る言葉」を予測する巨大なニューラルネットワークです。メッセージを送信すると、モデルはそれまでの会話を読み取り、前後の文脈から最も確率の高い言葉を少しずつ選びながら返答を生成します。さらに追加のトレーニングによって、指示に従う、会話を成立させる、有害なリクエストを断るといった振る舞いを身につけています。
あらかじめ用意された答えのデータベースを検索しているわけでも、裏で人間がタイピングしているわけでもありません。この仕組みが、本ガイドで解説するすべての動作の基本となっています。
ステップ1:テキストが「トークン」に分解される
AIモデルは、文字や単語をそのまま読んでいるわけではありません。テキストをトークンと呼ばれる単位に分割して処理します。よく使われる単語は1つのトークンになり、長い単語や珍しい単語は複数の破片に分割されます。スペース、句読点、数字もそれぞれトークンになります。単語に含まれる文字数を数えたり、文字列を逆順に並べ替えたりする作業でAIが間違えやすいのは、人間のように文字単位で見ていないためです。
また、同じ意味でも言語によってトークン数が異なるため、言語ごとに回答の質や一度に扱える文字数の上限に差が出ることがあります。
ステップ2:膨大なテキストによる事前学習
最初の最も大規模な段階では、公開ウェブページ、書籍、コードなど、開発元に応じた膨大なテキストがモデルに提示され、次のトークンを予測する学習を行います。何度も修正を繰り返すことで、パラメータ(重み)と呼ばれる内部の数値を徐々に調整していきます。
テキストを正確に予測できるようになる過程で、モデルは文法、事実、論理的な思考パターン、文体に関する膨大な知識を取り込みます。しかし、図書館のように学習データをそのまま保存しているわけではありません。蓄積しているのは統計的なパターンです。そのため、概念を流暢に説明できる一方で、特定の日付、名前、引用などを誤って出力してしまうことがあります。
ステップ3:ファインチューニングで予測器からアシスタントへ
次の言葉を予測するだけのモデルでは、質問に答えるのではなく、ユーザーのメッセージの続きを勝手に書いてしまいます。そこで開発者は、適切な会話のサンプルを使って追加の学習を行い、役立つ回答、正確な回答、安全な回答を評価するフィードバック(人間によるものや、自動化されたチェック、他のモデルによるものなど)を与えます。代表的な手法が「人間のフィードバックによる強化学習(RLHF)」です。
この段階によって、指示に従う、読みやすく整形する、分からないときは不確かさを認める、有害なリクエストを断るといった、チャットボットとしての礼儀や振る舞いが身につきます。一方で、ユーザーに同調しすぎたり、必要以上に自信ありげに答えたりするような癖が生じることもあります。
また、近年の多くのモデルは推論を行うよう訓練されています。最終的な答えを出す前に、段階的な思考プロセスを経ることで、数学、プログラミング、計画立案などの精度が向上しています(それでも完璧ではありません)。
ステップ4:会話の流れと「コンテキストウィンドウ」
チャットでメッセージを送ると、アプリは一連のテキストをまとめてモデルに送信します。これには、普段目に見えないサービス側の指示(システムプロンプト)、過去のやり取り、そしてあなたの新しいメッセージが含まれます。モデル自体はリクエスト間で記憶を保持しません。会話を「覚えている」ように見えるのは、毎回それまでの会話内容が丸ごと再送されているためです。
簡略化すると、チャットの3回目のやり取りは次のようなデータとして送られます:
[system] 親切なアシスタントとして、わかりやすく回答してください... [user] パン屋のいい店名はない? [assistant] たとえば次のような名前はどうでしょう:あさひベーカリー、こむぎ日和... [user] もっとフランス語っぽい雰囲気にして。 [assistant] (モデルはこの部分をトークン単位で生成します)
「もっとフランス語っぽい雰囲気にして」という指示が成立するのは、直前の会話が含まれているからです。アプリが過去の会話を省略してしまうと、モデルは何をフランス風にすればよいのか理解できません。
モデルが一度に処理できるテキストの量をコンテキストウィンドウと呼び、アプリは制限内に収めるために過去の会話を適宜切り詰めます。非常に長いチャットの途中で、最初のほうの詳細をAIが忘れてしまうのはこのためです。話が通じなくなってきたら、要約を添えて新しいチャットを始めるのが効果的です。
一部のサービスには、チャットをまたいでユーザーの情報を記憶する機能がありますが、これはモデル単体の機能ではなく、アプリ側で追加された仕組みです。
ステップ5:回答の生成
次のトークンを選ぶ際、モデルは多くの候補に対して確率を計算します。アプリはその中から1つを選択しますが、機械的で単調な文章にならないよう、通常は適度なランダム性を持たせています。この仕組みから、以下の特徴が生まれます:
- 同じ質問でも毎回異なる回答が返ってくることがあります。別の表現を見たい場合は、再生成機能が手軽です。
- 流暢な文章だからといって、内容が正しいとは限りません。モデルはその場に適した言葉を選んでいるだけであり、事実確認を行いながら書いているわけではありません。
ぜひ実際に試してみてください:チャットにトークンの仕組みを例を挙げて説明させ、その後に回答を再生成して2つのバージョンを比較してみましょう。
AIが嘘をつく理由(ハルシネーション)
モデルが自信満々に誤った情報を出力する現象は、ハルシネーション(幻覚)と呼ばれます。これは、モデルが「もっともらしい文章」を生成するように作られているためです。たとえ正確な情報がわからなくても、それらしい出典、統計データ、経歴などを簡単に作り出してしまいます。学習の改良によって減少しているものの、完全に防ぐことはできません。特に以下のような内容はリスクが高くなります:
- 正確な数値、日付、引用。
- 書籍、論文、判例、ウェブページの参照情報。
- 学習データが少ないニッチなトピック。
- モデルの学習期間が終了した後の出来事。
すばやく情報を検証する方法については、ファクトチェックガイドをご覧ください。
AIが最新の出来事を知らない理由
モデルの知識は、一定の時点までに収集されたデータに限られており、これを知識のカットオフと呼びます。その日以降の出来事については、ウェブ検索ツールを使ったり、ユーザーがテキストを直接貼り付けたりしない限り、モデルは何も知りません。また、ウェブ検索を行った場合でも、見つかったページ以上の精度にはならないため、ソースの確認は依然として重要です。最新情報に関する質問をする際は、関連するテキストを直接貼り付けるか、信頼できる最新の一次情報で裏付けを取りましょう。
モデル、開発元、モデル選択メニュー
OpenAI(ChatGPTのベースとなるGPTモデル)、Anthropic(Claude)、Google(Gemini)、Meta(Llama)、xAI(Grok)、DeepSeek、Alibaba(Qwen)、Mistral AIなど、多くの企業が大規模言語モデルを開発しています。誰でもダウンロードして実行できるようにモデルの重みを公開している企業もあれば、専用アプリやAPI経由でのみ提供している企業もあります。モデルごとに文体、得意分野、対応言語、慎重さの度合いなどが異なります。詳細は各モデルガイドやChatGPTとClaudeの比較をご覧ください。
ChatGでは、メニューからお好みのモデルを選択することも、「ChatG Auto」におまかせにすることもできます。ChatGは独立したサイトであり、これらの企業の関連会社ではありません。
よくある質問
AIは自分が言っていることを理解していますか?
これには現在も議論があります。モデルが言語や世界に関する構造を深く捉えており、未知の問題を解決できるのは確かです。しかし、実際の体験を持っているわけではなく、その分野を本当に理解している人間なら決してしないような初歩的な間違いを犯すこともあります。実用上は、専門家ではなく「優秀なツール」として扱うのが賢明です。
AIは私の会話から学習しますか?
チャットの最中に学習することはありません。会話の最中にモデルの重みがリアルタイムで書き換わることはありません。ただし一部のサービスでは、利用規約や設定に応じて、将来のモデルをトレーニングするために会話ログが使用される場合があります。
AIはインターネットに接続されていますか?
モデル単体では接続されていません。事前学習で得た知識と、そのチャット内で提供された情報のみをもとに動作します。一部のアプリでは外部ツールとしてウェブ検索機能が追加されています。検索したソースが明示されていない限り、回答は古い可能性のある学習データに基づいていると考えてください。
なぜ他の言語より英語のほうが回答の精度が高いのですか?
多くのモデルにおいて、学習データの大部分を英語が占めているためです。また、他の言語は同じ内容を表現するのにより多くのトークンを消費することがあります。日本語などの主要言語は問題なく扱えますが、使用者の少ない言語では精度が落ちる場合があります。


