AI英会話のアプリを開くと、たいてい最初に「あなたのレベル」を決めさせられる。
初級・中級・上級で選ばせるものもあれば、A1からC2までの記号で選ばせるものもある。
数分しゃべっただけで「あなたはB1です」と判定を返してくるものもある。
ここで気になるのは、その数字や記号が、いったい何を根拠に出ているのかだ。
試験機関が定義した物差しなのか、それともアプリ側が勝手に名前を借りているだけなのか。
この記事では、AIの部品を売っている会社とCEFRを運用している試験機関の公式ドキュメントだけを材料にして、「レベル」という言葉が指しているものを層ごとに分解する。
サービスの順位づけはしない。どのアプリが正確かという話もしない。仕組みの話だけをする。
【結論】AI英会話のレベルは「外の物差し」と「中のプロンプト」の2層でできている
先に答えを置く。
AI英会話で「レベル」と呼ばれているものは、性質の違う3つがひとつの言葉にまとめられている。
| 層 | 正体 | 誰が決めているか |
|---|---|---|
| ① レベルの名前 | CEFR(A1〜C2)などの外部基準 | 試験機関・国際的な枠組み |
| ② AI側の話し方の調整 | 言語モデルへの指示文(プロンプト) | アプリを作った開発者 |
| ③ あなたへの採点 | 発音評価や語彙・文法の採点API | 音声・言語の部品を売っている会社 |
⇒ ①は物差しの名前でしかなく、②と③はまったく別の仕組みで動いている。
つまり「B1に設定した」ことと「B1と判定された」ことは、技術的にはつながっていない可能性がある。
レベルという1語が、設定と判定という別の動作を同時に指してしまっているのが、混乱の原因だ。
だからここからは、①②③を1つずつ開けていく。
AI英会話のレベル表示が借りているCEFRとは、そもそも何なのか
A1・A2・B1・B2・C1・C2という記号は、AI英会話が作ったものではない。
これはCEFR(Common European Framework of Reference for Languages)という枠組みの区分で、Cambridge English の International language standards のページに定義が置かれている。
英語原文はこうだ。
「CEFR is an international standard for describing language ability.」= 言語能力を記述するための国際基準である、と定義されている。
続く1文が、6段階の中身だ。
「It describes language ability on a six-point scale, from A1 for beginners, up to C2 for those who have mastered a language.」
日本語にすると「A1(初学者)からC2(その言語を習得した人)までの6段階の尺度で言語能力を記述する」となる。
ここで見落とされやすいのが describing(記述する) という動詞だ。
CEFRは点数を出す装置ではなく、できることを言葉で説明するための共通の枠として定義されている。
同じページには、この枠があることで「anyone involved in language teaching and testing, such as teachers or learners」が異なる資格のレベルを見比べられるようになり、「employers and educational institutions can easily compare our qualifications to other exams in their country」とも書かれている。
⇒ CEFRの役目は「換算のための共通語」であって、測定器そのものではない。
だから、あるアプリが「B1」と表示したとき、それがCEFRの定義に沿った判定なのか、単に6段階のうち3番目という意味でラベルを借りているだけなのかは、表示そのものからは区別がつかない。
AI英会話のレベル設定は、プロンプトで話し方を変えているだけの場合がある
②の層、つまり「AI側がレベルに合わせて話し方を変える」仕組みを開ける。
言語モデルの振る舞いを指定する方法は、OpenAI の Prompt engineering ガイドにそのまま書かれている。
同ガイドは instructions パラメータについて「gives the model high-level instructions on how it should behave while generating a response, including tone, goals, and examples of correct responses」と説明し、さらに「Any instructions provided this way will take priority over a prompt in the input parameter」と書いている。
日本語にすると、口調・目標・望ましい応答の例までを含む「どう振る舞うか」の指示を先に渡せて、それが利用者側の入力より優先されるということだ。
役割の優先順位も表で明記されている。
| ロール | 公式ドキュメントの説明 | AI英会話でいうと |
|---|---|---|
developer | 「instructions provided by the application developer, prioritized ahead of user messages」 | アプリ側が仕込んだレベル設定 |
user | 「instructions provided by an end user, prioritized behind developer messages」 | 学習者が打ち込む要望 |
assistant | 「Messages generated by the model」 | AI講師の発話 |
同ガイドはこの関係を、プログラミングの関数にたとえている。
developer メッセージは「provide the system’s rules and business logic, like a function definition」=システムのルールと業務ロジックを与える、関数の定義のようなものだと書かれている。
いっぽう user メッセージは「inputs and configuration to which the developer message instructions are applied, like arguments to a function」=そのルールが適用される入力と設定であり、関数の引数のようなものだとされている。
⇒ レベル設定の実体は、開発者側が先に書いた関数定義であり、学習者の入力はその引数にすぎない、という構造になりうる。
難易度の指定に使える手段も、同じガイドに列挙されている。
- Identity・Instructions・Examples・Context の4区画で
developerメッセージを組む型が示されている。難易度は Instructions に書くことになる。 - Few-shot learning=「lets you steer a large language model toward a new task by including a handful of input/output examples in the prompt」。お手本の英文を数例入れて、その語彙水準に寄せるやり方だ。
- モデルは「implicitly “picks up” the pattern from those examples」=例から暗黙にパターンを拾うと説明されている。明示的なルールでなくてもよい。
つまり「A2レベルで話して」という設定は、仕様のうえでは指示文と数個の例文で語彙と文の長さを寄せる操作として実装できる。
そこにCEFRの試験が介在している必要は、技術的には無い。
AI英会話のレベル指示が安定しない理由は、仕様に書いてある
「レベルを下げたのに、急に難しい単語が出てくる」という現象にも、仕様側の説明がある。
同じ Prompt engineering ガイドは、冒頭で「Because the content generated from a model is non-deterministic, prompting to get your desired output is a mix of art and science」と書いている。
生成される内容は非決定的(non-deterministic)である、というのが公式側の前提だ。
さらに「Even different snapshots of models within the same family could produce different results」とあり、同じモデルファミリーでもスナップショットが違えば結果が変わりうるとされている。だから本番では「Pinning your production applications to specific model snapshots」が推奨されている。
もう1つ、会話が続くAI英会話では効いてくる記述がある。
「Note that the instructions parameter only applies to the current response generation request.」= instructions はその1回の生成にしか効かない、と明記されている。会話の状態を previous_response_id で引き継ぐ場合、「the instructions used on previous turns will not be present in the context」とも書かれている。
⇒ レベル指示は放っておくと持続しない。毎ターン入れ直す設計になっていなければ、会話が進むほど元の話し方に戻っていく。
「最初はやさしかったのに、後半から難しくなる」という体感は、性能ではなく設計の問題として説明がつく。
モデルの種類によって、指示の効き方が変わることも書かれている。
同ガイドは推論モデルとGPTモデルを比べて、「reasoning models will provide better results on tasks with only high-level guidance. This differs from GPT models, which benefit from very precise instructions」と説明している。
⇒ 「B1で話して」というざっくりした指示が効くモデルと、語彙リストまで渡さないと効かないモデルがある、ということになる。
AI英会話のレベル判定に使われる採点指標は、発音の採点とは別物
③の層、採点に移る。ここが「レベル判定」と混同されやすい。
マイクロソフトの発音評価のドキュメントには、返ってくる指標の名前と中身がそのまま書かれている。
| 指標 | ドキュメントの説明 | 粒度 |
|---|---|---|
AccuracyScore | 「音声の発音精度。精度は、音素がネイティブ スピーカーの発音とどの程度一致するかを示します」 | 音素・音節(en-US のみ)・単語・全文 |
FluencyScore | 「流暢さは、音声がネイティブ スピーカーによる単語間のサイレント区切りの使用にどの程度近づくかを示します」 | 全文レベル |
CompletenessScore | 「音声の完全性。入力参照テキストに対する発音された単語の比率によって計算されます」 | 全文レベル |
ProsodyScore | 「ストレス、イントネーション、話す速度、リズムなど、与えられたスピーチがいかに自然であるか」 | 全文レベル |
PronScore | 上記から重み付きで計算される「発音品質の全体的なスコア」 | 全文レベル |
この5つを並べて分かるのは、どれも「音」の評価であって、言語能力の段階を表すものではないということだ。
点数の刻み方も設定値で決まっている。GradingSystem は「FivePoint は、0 から 5 の浮動小数点スコアを提供します。HundredMark は、0 から 100 の浮動小数点スコアを提供します」とあり、既定値は FivePoint と明記されている。
⇒ 同じ発音でも、アプリが100点満点で出すか5点満点で出すかは、ただの設定の違いにすぎない。
どこまで細かく返すかも Granularity という設定で切り替わる。Phoneme(既定値)なら全文・単語・音節・音素まで、Word なら全文と単語、FullText なら全文レベルだけのスコアになる。
そして重要な制限が2つある。
- 「プロソディ評価は、
en-USロケールでのみ利用可能です。」 イントネーションやリズムの点は、米国英語でしか返らない。 - 音節レベルの精度スコアも
en-USのみと表に書かれている。他のロケールでは粒度が落ちる。
単語ごとの判定にも線がある。ErrorType には None Omission Insertion Mispronunciation UnexpectedBreak MissingBreak Monotone が定義され、単語の AccuracyScore が 60 未満のときに Mispronunciation として扱われると書かれている。
⇒ 発音の採点は主観ではなく、名前と閾値が公開された機械の処理だ。ただし、それは「レベル」ではない。
AI英会話のレベル判定が「語彙・文法・話題」を返すとき、中でチャットモデルが動いている場合がある
ここが、この記事でいちばん見てほしい部分だ。
発音とは別に、話した内容そのものを採点する仕組みがある。マイクロソフトの同じドキュメントの「コンテンツ評価」がそれだ。
ドキュメントには「認識された音声によっては、ボキャブラリ、文法、トピックの関連性に関するコンテンツ評価の結果を取得することもできます」と書かれている。
そして、その取得方法がはっきり書いてある。「コンテンツ評価 (プレビュー) は、Speech SDK バージョン 1.46.0 以降から廃止されます。別の方法として、Microsoft Foundry モデルの Azure OpenAI を使用して、このセクションで説明するようにコンテンツ評価の結果を取得できます。」
つまり専用の採点エンジンではなく、チャットモデルに採点させる形に置き換わっている。
ドキュメントには、実際に送るシステムメッセージの中身まで載っている。
役割の指定は 「You are an English teacher」=あなたは英語教師です、の一言から始まる。
採点の観点は 「from vocabulary and grammar and topic relevance」=語彙と文法と、題名に対する話題の合致度、と指定されている。
出す形まで文章で指定してある。「output format as: {“vocabulary”: *.*(0-100), “grammar”: *.*(0-100), “topic”: *.*(0-100)}」=3項目をそれぞれ0〜100の数値で返せ、という書き方だ。
専用のモデルでも、統計的な尺度でもない。ただの指示文である。
ユーザーメッセージ側には、採点例を3つ並べたうえで「first add punctuations when needed, remove duplicates and unnecessary un uh from oral speech」=必要なら句読点を補い、重複や「un」「uh」のような口語のつなぎを取り除いてから採点せよ、という手順まで書かれている。
⇒ 語彙スコアや文法スコアの正体が、プロンプトと数例のお手本で作られた「先生役の言語モデルの出力」である場合がある。
ここで前の章の記述が効いてくる。生成は非決定的で、モデルのスナップショットが変われば結果も変わりうると公式が書いている以上、この種のスコアは同じ発話でも揺れうる。
発音の AccuracyScore と、語彙・文法のスコアは、同じ画面に並んでいても出自がまったく違う。
AI英会話のレベル判定は、音声認識の設定でも動いてしまう
採点の前段には、必ず音声認識がいる。ここの設定もレベル表示に効く。
まず、英語という言語の扱いが1つではない。Azure AI Speech の言語サポート一覧には、英語だけで en-AU en-CA en-GB en-GH en-HK en-IE en-IN en-KE en-NG en-NZ en-PH en-SG en-TZ en-US en-ZA の15のロケールが載っている。
どのロケールで動いているかによって、同じ発音でも認識結果が変わる余地がある。
次に、採点の土台になるテキストの取り方だ。発音評価のドキュメントには、参照テキストを設定する「スクリプト化された評価」と、設定しない「スクリプトなしの評価」の2通りがあると書かれている。
そのうえで、スクリプトなしの側にこう注記されている。「スクリプトなしの評価では、使用される音声テキスト変換 (STT) モデルは、STT Azureとは異なります。非常に正確に認識されたテキストに基づく評価が必要な場合は、最初Azure STT を呼び出して参照テキストを取得してから、スクリプト化された評価を実行することをお勧めします。」(訳文のまま)
⇒ 自由に話した内容の採点は、読み上げ課題の採点より土台が弱い。
さらに、認識されやすい単語は開発者側で操作できる。
グーグルのModel adaptation のドキュメントには、特定の語句に重みを付ける boost の仕組みが説明されている。「Boost values must be a float value greater than 0. The practical maximum limit for boost values is 20.」=0より大きい浮動小数点で、実用上の上限は20だ。
同ドキュメントは副作用も明記している。値を上げると認識漏れ(false negatives)は減るが、「boost can also increase the likelihood of false positives」=音声に無かった語が書き起こしに現れる確率も上がる。
⇒ レッスンの単元語彙をブーストしてあれば、その単元の単語は多少崩れても拾われやすくなる。逆に、範囲外の単語で話すと拾われにくいことがありうる。
レベルが上下して見えるとき、原因が自分の英語ではなく設定側にある可能性は、仕様のうえで残っている。
AI英会話のレベルを、自分で確かめるときに見る4か所
ここまでの仕様から、そのまま導ける確認手順を並べる。精神論は入れない。
- そのレベル表示がCEFRを名乗っているかを見る。 CEFRは「言語能力を記述するための国際基準」であり、6段階の尺度であるとCambridge Englishが定義している。名乗っていないなら、それはアプリ内部の段階分けだ。
- 同じ発話を2回投げて、スコアが揺れるかを見る。 発音系の指標は式と閾値が公開されているが、語彙・文法の採点はチャットモデルに任せる形がドキュメントに示されており、生成は非決定的だと公式が書いている。
- 読み上げ課題と自由会話で、点の意味が変わることを前提にする。 参照テキストなしでは使われるSTTモデルが違うと明記されている。
- 会話の後半で難易度が戻っていないかを見る。
instructionsはその1回の生成にしか効かず、過去のターンの指示は文脈に残らないと書かれている。
音声側の指示についても、限界がドキュメントに書かれている。
OpenAI の Speech to text ガイドは Whisper について「Whisper doesn’t follow instructions like a general-purpose text model and accepts prompts of up to 224 tokens」と書いている。汎用テキストモデルのようには指示に従わず、プロンプトは224トークンまでだ。
⇒ 「私はA2なので簡単な単語だけ認識して」といった要望は、認識の層には渡らない。
話し方の調整が効くのは、あくまで言語モデルの層だけだと考えておくと、期待値がずれない。
音声で会話する構成そのものにも選択肢がある。OpenAI の Voice agents ガイドは「The key design choice is how speech connects to reasoning and tools」として、単一の音声モデルで動かす形と、段階ごとに分けたパイプラインを自分で組む形を並べている。
同ガイドは「Keep speaking behavior in the live model’s prompt and business rules in the backend prompt」とも書いていて、話し方はモデル側のプロンプト、業務ルールは裏側のプロンプトという分け方を推奨している。
⇒ レベルに応じた話し方は、この「speaking behavior」の側に書かれるものだ。
AI英会話のレベルに関するよくある質問
Q. アプリの「B1」はCEFRのB1と同じか。 A. 同じとは限らない。CEFRはCambridge Englishのページで「言語能力を記述するための国際基準」「A1からC2までの6段階の尺度」と定義されているが、その定義に沿った判定をしているかどうかは、表示そのものからは読み取れない。判定方法が説明されているかを見るのが先になる。
Q. レベルを下げたのに難しい単語が出てくるのはなぜか。 A. 生成は非決定的だと公式ガイドが明記している。加えて instructions はその回の生成にしか効かず、過去ターンの指示は文脈に残らないとも書かれている。毎ターン入れ直す設計でなければ、話し方は戻りうる。
Q. 発音スコアが100点満点だったり5点満点だったりするのはなぜか。 A. GradingSystem という設定値の違いだ。HundredMark が0〜100、FivePoint が0〜5で、既定値は FivePoint だとドキュメントに書かれている。満点の数は精度の差ではない。
Q. 語彙スコアと発音スコアは同じ精度で見ていいか。 A. 出自が違う。発音側は指標名・粒度・60未満で Mispronunciation という閾値まで公開された処理だが、語彙・文法・話題の採点はチャットモデルに0〜100で出させる形がドキュメントに示されている。後者のほうが揺れやすい前提で見るのが妥当だ。
Q. イギリス英語で練習しているが、レベル判定が荒く感じる。 A. プロソディ評価は en-US ロケールでのみ利用可能と書かれており、音節レベルの精度スコアも en-US のみとされている。英語には en-GB を含む15のロケールがあるが、返る粒度は一律ではない。
まとめ|AI英会話のレベルは「何を測った数字か」で読む
もう一度、層に分けて整理する。
- CEFRは物差しの名前であって測定器ではない。 Cambridge Englishは「an international standard for describing language ability」「a six-point scale, from A1 for beginners, up to C2」と定義している。
- レベル設定の実体は、開発者が書いた指示文でありうる。
developerメッセージはuserより優先され、関数定義と引数の関係にたとえられている。 - 指示は持続しない。
instructionsはその回の生成にしか効かず、過去ターンの指示は文脈に残らないと明記されている。 - 発音の採点と、語彙・文法の採点は別物。 前者は指標名と閾値が公開された処理、後者はチャットモデルへのプロンプトで得る形がドキュメントに示されている。
- 判定は設定でも動く。 ロケールは英語だけで15あり、プロソディ評価は
en-USのみ。参照テキストなしでは使われるSTTモデルが違い、boostは上限20で誤検出も増やしうる。
⇒ 「自分のレベルはいくつか」ではなく、「この数字は、どの層の、何を測ったものか」で読む。そこさえ分けられれば、AI英会話のレベル表示は十分に使える目安になる。
設定のレベルは練習の負荷を決めるつまみで、判定のレベルは測定結果だ。この2つを混ぜないことが、いちばん実用的な結論になる。
※本記事の一次ソースはすべて2026-09-11に各公式ドキュメントで確認した。仕様は更新されるため、最新は各公式ドキュメントで確認してほしい。
Comments