Insights·2026-06-11

ChatGPTはなぜ会話を記憶しないのか

ChatGPTをはじめとするLLMは会話を記憶しません。毎ターン、それまでの対話全体を再送信すると、モデルはその塊を初めて見るテキストのように読み、次のトークンを予測するだけです。会話が長くなるほどコンテキストウィンドウが埋まり、コストが膨らむ理由がここにあります。トークナイザーの韓国語非効率からハルシネーション、temperature、システムプロンプトまで、すべて数行のコードで画面上に直接確認できます。

会話が続いているように見えるのはなぜか

秘密はmessages配列にあります。API呼び出しの核心はsystem、user、assistantの三つのロールで構成されたメッセージリストで、マルチターン対話を実装するには、毎ターン、それまでの質問と回答のすべてを束ねて再送信しなければなりません。初対面の人にこれまでの会話を毎回最初から聞かせる構造です。だからこそ会話が長くなるほど、履歴管理がコンテキストウィンドウとコストの面で実務の中核的な設計課題になります。

トークナイザーを開くと何が見えるのか

韓国語の構造的な不利が見えます。「안녕」はトークン二つに切られ、「안녕하세요, 어떻게 지내세요?」は八つなのに、「How are you?」は六つで済みます。同じ文章を文字数あたりのトークン比率で測ると、韓国語は0.47~0.75、英語は0.13~0.26程度です。コンテキストウィンドウの大きさが同じでも韓国語はより少ない内容しか収められないということで、韓国語のAIサービスを企画するならスタートラインから織り込むべき制約です。

モデルはなぜ存在しない論文をもっともらしく語るのか

2019年の学会誌に載ったという架空の韓国語感情分析論文について尋ねると、モデルは著者名は明かせないと言いながら、その論文の主要な貢献をもっともらしく作り上げます。次トークン予測器にとっては、知らないと答えるより、もっともらしい次のトークンをつなぐほうが自然だからです。知識の断絶も同じ場面で露わになります。今日の日付と為替レートを尋ねると、知識が2023年10月で止まっているという答えが返ってきます。リアルタイム情報が必要なサービスならモデル単独では足りず、RAGやツールユースのような補完構造が必要です。

同じモデル、同じ入力なのに答えはなぜ分かれるのか

temperatureが確率分布の形を変えるからです。同じ文を0.1で三回走らせるとほぼ同じ答えが出ますが、1.8に上げると毎回まったく違う文が始まります。コード生成のように一貫性が必要なら低く、発想が必要なら高く取るというように直接制御できます。システムプロンプトも同じ重みを持ちます。親切な科学の先生、物理学博士、ソクラテス式教育者と一行を差し替えるだけで、同じブラックホールの質問に比喩と数式と逆質問がそれぞれ返ってきます。プロンプト一行がモデルの挙動全体を定義し直すわけです。

非開発者にもコードデモが必要なのはなぜか

説明として聞くときと画面で直接見るときでは重みが違うからです。ハルシネーションを目で確認した人はモデルを責める代わりに検証手順を付け、毎ターン履歴全体が再送信される場面を見た人は、長い対話のコンテキスト管理を設計課題として扱い始めます。SH ConsultingがAX研修でプログラミング経験のない実務者にもトークナイザーとAPI呼び出しの画面を直接見せる理由です。動作原理を一度見た人と聞いただけの人では、道具を扱う深さが違います。