はじめに
今日、AIアプリケーション開発プラットフォームの「Dify」を触っていて、ちょっと面白い現象に出会いました。
一言で言うと、実際には gpt-5-nano を指定しているのに、AI本人は「自分はGPT-4系です」と言い張ったのです。
やり取りはこんな感じでした。
私:「きみのモデルは?」
AI:「GPT-4系です」
私:「違うよ、Dify の設定では gpt-5-nano を選んでるよ。じゃあ知識のカットオフは?」
AI:「GPT-5-nanoというモデルは知りません。私の知識は2023年12月までです」
Dify のモデル選択画面で、実際に gpt-5-nano を指定していました。それでもなお、AIは自分を「GPT-4系」「2023年12月まで」と自己紹介してきたのです。
この現象は、LLM(大規模言語モデル)が持つ「自己認識の限界」と、Difyのようなツールで「素のモデル」をそのまま使うときの落とし穴をよく表しています。
LLMにとっての「自分」とは何か?
人間は「自分は何者か」という感覚を持っていますが、LLMにはそれがありません。
モデルが「自分はGPT-4です」「カットオフは○年○月です」と語るとき、それは意識ではなく、ざっくり言うと次のような仕組みです。
-
学習データに含まれていた“自己紹介テンプレ”
学習時点で- 「私はOpenAIのGPT-4系モデルです」
- 「知識は2023年9月/12月までです」
といったテキストが大量に入っていると、「モデル名」「カットオフ」を聞かれたときに、それっぽい文章を出してしまいます。
-
外側から与えられる指示(プロンプト)
ChatGPT 製品版のような環境では、裏側で「あなたはGPT-5系モデルで、カットオフは2024年○月です」といった追加指示(systemメッセージ)が入っています。
そのおかげで「自称スペック」と「本当のスペック」が揃います。
今回 Dify で行っていたのは、
- モデル指定:
gpt-5-nano - 追加指示:特に何も書いていない
という“素の gpt-5-nano にいきなり聞いてみた状態”です。
その結果として、モデルは内部に残っている古い自己紹介テンプレに引っ張られて、
「GPT-4系です」「2023年12月までです」
という回答を返してきた、と考えるのが自然です。
「モデル指定しているのに自己紹介が違う」理由
ここでポイントになるのは、
モデルは自分が API でどの名前で呼ばれているかを見ていない
ということです。
Dify からはちゃんと model: "gpt-5-nano" でリクエストが飛んでいますが、LLM自身はその「model パラメータ」を読んで自己紹介を組み立てているわけではありません。
つまり、
- どのモデルとして呼ばれているか
- 自分のカットオフが本当はいつなのか
といった“メタ情報”は、モデルの外側(サービス側)が管理しています。
ChatGPT 製品版は、そこをうまく埋めるために、
- 「あなたは○○モデルです」
- 「カットオフは△△です」
という指示を毎回こっそり足してから、ユーザーとの会話を始めています。
一方、Difyで素の gpt-5-nano をそのままチャットボットにすると、この補正が入らないので、
モデル指定:gpt-5-nano
自己紹介:GPT-4系・2023年12月
という“外側の現実と、本人の自己申告がズレている状態”がそのまま出てくるわけです。
これは「嘘」なのか?
人間的な感覚で言えば「学歴詐称」に見えますが、モデル側からすると、
学習時点で知っている“いちばんそれらしい答え”を出しただけ
とも言えます。
- 学習データの中に「GPT-5-nano」という自己紹介はまだほとんど無い
- 一方、「GPT-4系で、2023年○月までがカットオフです」という文章は山ほどある
この条件で「きみは何者?」と聞かれると、確率的に「GPT-4系です」が選ばれてしまうのは、ある意味で素直な挙動でもあります。
結論:LLMに「なりきって」もらうには、外側から上書きが必要
今回の教訓はシンプルです。
モデルに「自分は何者か」を任せてはいけない。
なりきってほしい姿は、外側から明示的に書いてあげる必要がある。
Dify のチャットボットでも、最初のプロンプト(役割設定)のところに、例えばこんなふうに書いておけば、
「あなたは gpt-5-nano モデルを利用したアシスタントです。
ユーザーからモデル名やカットオフを聞かれたときは、
『私は gpt-5-nano です』『知識はおおむね 2024年ごろまでです』と答えてください。
それ以外の自己紹介は行いません。」
モデルはその指示を優先して、「はい、私はgpt-5-nanoです」とロールプレイしてくれるようになります。
今回の出来事を通じて、
- AIは「自分が何であるか」を“本当の意味では”知っているわけではない
- 知っているのは、「自分が何だと“学習したことがある”か」だけ
という当たり前の事実を、改めて体感しました。
Difyでキャラクターや役割を設計するときは、
「名前もスペックも、こちらからきっちり文章として教える」
これがやっぱり鉄則だな、と思います。





