【Dify】モデルにちゃんと「gpt-5-nano」を指定しているのに、なぜか自分をGPT-4と名乗った話。

はじめに

今日、AIアプリケーション開発プラットフォームの「Dify」を触っていて、ちょっと面白い現象に出会いました。

一言で言うと、実際には gpt-5-nano を指定しているのに、AI本人は「自分はGPT-4系です」と言い張ったのです。

やり取りはこんな感じでした。


:「きみのモデルは?」
AI:「GPT-4系です」

:「違うよ、Dify の設定では gpt-5-nano を選んでるよ。じゃあ知識のカットオフは?」
AI:「GPT-5-nanoというモデルは知りません。私の知識は2023年12月までです」


dify

Dify のモデル選択画面で、実際に gpt-5-nano を指定していました。それでもなお、AIは自分を「GPT-4系」「2023年12月まで」と自己紹介してきたのです。

この現象は、LLM(大規模言語モデル)が持つ「自己認識の限界」と、Difyのようなツールで「素のモデル」をそのまま使うときの落とし穴をよく表しています。

LLMにとっての「自分」とは何か?

人間は「自分は何者か」という感覚を持っていますが、LLMにはそれがありません。
モデルが「自分はGPT-4です」「カットオフは○年○月です」と語るとき、それは意識ではなく、ざっくり言うと次のような仕組みです。

  1. 学習データに含まれていた“自己紹介テンプレ”
    学習時点で

    • 「私はOpenAIのGPT-4系モデルです」
    • 「知識は2023年9月/12月までです」

    といったテキストが大量に入っていると、「モデル名」「カットオフ」を聞かれたときに、それっぽい文章を出してしまいます。

  2. 外側から与えられる指示(プロンプト)
    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でキャラクターや役割を設計するときは、

「名前もスペックも、こちらからきっちり文章として教える」

これがやっぱり鉄則だな、と思います。

Share the Post: