AI英会話のアプリに自分のテキストを渡すと、その中身を踏まえた返事が返ってくる。この教材読み込みは、AIが教材を覚え直しているわけではない。
裏で動いているのは、渡したファイルを別の置き場にしまい、質問が来るたびにそこを探しにいく道具のほうだ。
OpenAI の File search は、この道具を、あらかじめ上げておいたファイルの知識ベースから情報を取り出すためのものだと説明している。
同じページは、この道具が Responses API 側に用意されたものであることも明記している。
そしてもう一行、見落とせない書き方がある。
ファイルを入れた置き場をモデルから見えるようにすることで、モデルがもとから持っている知識を「増やす」という言い方が取られている。
増やすのであって、書き換えるのではない。
この記事では、開発者向けの公式ドキュメントに書かれた手順とイベントだけを材料に、教材を渡してから返事が戻るまでに何が起きているかを開けていく。
サービスの順位づけはしない。
【結論】AI英会話の教材読み込みは、覚え込ませるのではなく「その場で探して引く」仕組み
先に答えを置いておく。
教材を渡す行為は、モデルの中身をいじる行為ではなく、検索できる置き場を1つ用意する行為として設計されている。
その置き場の名前が vector_stores(ベクトルストア)で、公式は「知識ベース」という語をそのまま当てている。
そして探し方は1種類ではなく、意味で探す検索と、語そのもので探す検索の両方が挙げられている。
⇒ AI英会話のアプリが教材を「読んだ」ように見えるとき、実際には質問のたびに置き場を引き直している。
この違いが分かると、同じ教材を渡しても返事に出てくるときと出てこないときがある理由まで、仕様の側から説明がつく。
AI英会話の教材読み込み①|実行を頼む必要がない「据え付けの道具」になっている
この道具は、アプリ側が実行を引き受けなくてよい種類のものだ。
公式の表現では、OpenAI 側が面倒を見るホスト済みのツールであり、実行を処理するためのコードを自分の側に書く必要はない、とされている。
モデルがこれを使うと決めた時点で、呼び出しから情報の取り出し、出力の返却までが自動で進む。
ここは、開発者が書いたコードを走らせる関数呼び出しとはっきり性格が違う。
使える場所も広く、ドキュメントの利用上の注記では、Responses に加えて Chat Completions と Assistants が並んでいる。
⇒ 学習者から見ると「教材を渡した」だけだが、渡された側では道具を呼ぶかどうかの判断がもう1つ挟まっている。
AI英会話の教材読み込み②|使えるようになるまでに4段の手続きがある
ファイルを上げた瞬間に使えるわけではない。
ドキュメントは、道具を呼ぶ前にやっておくこととして、置き場を用意してファイルを入れておくことを条件に挙げている。
手順は4つに分かれている。
| 段 | やること | 公式が使っている語 |
|---|---|---|
| ① | ファイルを File API へ上げる | purpose に assistants や user_data を指定する |
| ② | 置き場を新しく作る | 例として knowledge_base という名前が使われている |
| ③ | 上げたファイルをその置き場に足す | ファイルIDと置き場IDを結びつける |
| ④ | 状態を見て、準備が終わるまで待つ | 状態が completed になるまで確認を繰り返す |
④がわざわざ手順として立てられているところが、この仕組みの性格をよく表している。
公式は、ファイルが使える状態になるまでこのコードを走らせ続けるように、と書いている。
⇒ 教材をアップロードした直後に質問すると引けないことがあるのは、この④が終わっていない状態に当たる。
AI英会話の教材読み込み③|返ってくるのは2つの出力で、片方は「引いた記録」
道具が呼ばれると、返事は1本ではなく2本立てになる。
公式は、複数の出力を含むレスポンスが返ると書いたうえで、その中身を2つに分けている。
| 出力 | 入っているもの | 学習者の画面での意味 |
|---|---|---|
file_search_call | 呼び出しのID、status、queries、search_results | 「いつ、どんな言葉で教材を探したか」の記録 |
message | モデルの答えの本文と、annotations | 実際に読める返事と、その裏づけ |
裏づけのほうは file_citation という型で並び、公式が載せている例では index・file_id・filename が入っている。
ファイル名が出力の中に入っている、という点は押さえておく価値がある。
もう1つ注目したいのが queries だ。
ここには、学習者が投げた質問そのものではなく、探すために組み立てられた問い合わせの文字列が配列で入っている。
⇒ 「教材に書いてあるのに引いてくれない」と感じる場面は、答えの良し悪しではなく、この探し言葉の当たり外れとして観測できる。
AI英会話の教材読み込み④|引く件数を絞ると速くなるが、答えの質は落ちうる
取り出す件数は、アプリ側で決められるようになっている。
公式が挙げている調整は3つある。
max_num_results=置き場から取り出す件数の上限を決める。includeにfile_search_call.resultsを入れる=検索の中身そのものをレスポンスに含める。filters=ファイルに付けた属性で、探す範囲をあらかじめ狭める。
1つ目について、ドキュメントははっきりと両面を書いている。
件数を減らせばトークンの消費と待ち時間の両方を減らせる一方で、その代償として答えの質が落ちることがある、という書き方だ。
2つ目は、既定の挙動を知っておかないと誤解しやすい。
出力本文に付く引用は見えるものの、検索結果そのものは既定では返らない、と明記されている。
⇒ 「何を根拠にしたか」を画面に出すかどうかは、アプリを作った側が明示的に選んでいる。
AI英会話の教材読み込み⑤|タグを付けておくと、探す範囲を教材ごとに切り替えられる
置き場に入れたファイルには、属性という形で目印を付けられる。
公式は、ファイルのメタデータをもとに検索結果を絞り込めると書き、詳しい手順は retrieval のガイドに預けている。
そちらで扱われているのは2点で、ファイルに属性を付ける方法と、絞り込み条件の書き方だ。
File search 側に載っている例は、category という鍵に対して、いくつかの値のどれかに当てはまるものだけを対象にする、という形になっている。
これを学習の文脈に置き換えると、想像しやすい。
単語帳・長文・試験対策といった区分を属性として持たせておけば、質問の種類に応じて引く先を切り替えられることになる。
⇒ 同じ教材を入れていても、アプリの設計次第で引かれる範囲は変わる。
AI英会話の教材読み込み⑥|読める形式と文字コードが決まっている
どんなファイルでも入るわけではない。
ドキュメントには対応形式の一覧表が置かれていて、拡張子とMIMEタイプが対で並んでいる。
| 教材としてありそうな形 | 拡張子 | MIMEタイプ |
|---|---|---|
| 配布されたテキストや問題集 | .pdf | application/pdf |
| 自分で作った文書 | .docx | Office文書向けの長いMIMEタイプ(openxmlformats で始まる) |
| 授業スライド | .pptx | 同じく openxmlformats で始まる、スライド用のMIMEタイプ |
| 単語リストやメモ | .txt | text/plain |
| 整形済みのノート | .md | text/markdown |
| 保存したWebページ | .html | text/html |
表にはこのほか、プログラムのソースコードに当たる形式もいくつも並んでいる。
そして表の直前に、文字コードの条件が小さく添えられている。
text/ で始まる種類については、エンコードが utf-8・utf-16・ascii のいずれかでなければならない、という条件だ。
⇒ 日本語の教材をそのまま渡して弾かれる場面があるとしたら、まずここが疑いどころになる。
AI英会話の教材読み込み⑦|呼べる回数に上限があり、保管の条件も別に書かれている
この道具には、1分あたりに呼べる回数の上限がある。
ドキュメントの注記欄は、契約の段階ごとに数字を分けている。
| 段階 | 1分あたりのリクエスト数(RPM) |
|---|---|
| Tier 1 | 100 RPM |
| Tier 2 と Tier 3 | 500 RPM |
| Tier 4 と Tier 5 | 1000 RPM |
上限そのものの考え方は Rate limits の側で扱われている。
同じ注記欄には、もう1つ別の行き先が示されている。
データを残さない運用と、処理をどの地域で行うかの話が、データの取り扱いのページへ分けて置かれている。
⇒ 教材を預ける仕組みである以上、置き場の話と、置いたデータの扱いの話は別々に確認する必要がある。
AI英会話の教材読み込みが、学習者の画面に出てくる場面
仕様の話を、使っているときに見えるものへ置き換えておく。
- アップロード直後だけ反応しない=置き場への取り込みが
completedになるのを待つ段が、手順として明示されている。 - 返事にファイル名が添えられる=
file_citationにfilenameが入っているからで、アプリが作った表示ではない。 - 根拠の抜粋までは出てこない=検索結果は既定では返らず、
includeで明示的に求める必要がある。 - 教材に書いてあるのに拾われない=組み立てられた
queriesと、件数の上限の両方が効いてくる。 - 渡したのに取り込めないファイルがある=対応形式の表と、文字コードの条件が先にある。
どれも英語力とは関係がなく、アプリの組み方で決まっている部分だ。
逆に言えば、この5つは仕様を見れば説明がつく範囲にとどまる。
AI英会話の教材読み込み|よくある質問
Q. 教材を渡すと、AIがその内容を覚えるのか。 A. 公式ドキュメントの書き方は、置き場を作ってファイルを入れ、モデルからその知識ベースを見られるようにすることで、もとの知識を増やす、というものだ。
モデルそのものを作り替える話としては書かれていない。
Q. 探し方は単語の一致だけなのか。 A. 意味による検索と語による検索の両方が挙げられている。
加えて、実際に投げられた探し言葉は queries として出力に残る。
Q. どのファイルを見たのかは分かるのか。 A. 答えの本文に付く annotations に file_citation が並び、file_id と filename が入る。
ただし検索結果の中身そのものは、include で求めないかぎり返らない。
Q. 教材をたくさん入れるほど答えは良くなるのか。 A. そこは書かれていない。
書かれているのは逆側で、取り出す件数を絞るとトークンと待ち時間が減る代わりに答えの質が落ちることがある、という但し書きのほうだ。
Q. 日本語のテキストファイルはそのまま使えるのか。 A. 形式の表に .txt と text/plain が載っている。
ただし text/ 系は、エンコードが utf-8・utf-16・ascii のどれかであることが条件として添えられている。
まとめ|AI英会話の教材読み込みは「置き場」と「探し方」で決まる
もう一度、要点だけを並べ直す。
- 教材はベクトルストアという別の置き場に入り、質問のたびに引き直される。モデルの中身は書き換わらない。
- 使えるようになるまでに4段ある=上げる/置き場を作る/入れる/
completedを待つ。 - 返ってくる出力は2本立てで、片方は
queriesを含む引いた記録、もう片方が引用つきの答えになる。 - 件数・検索結果の同梱・属性での絞り込みという3つのつまみがあり、速さと答えの質は引き換えになりうる。
- 対応形式と文字コード、呼べる回数の上限が先にある。渡せば必ず読まれる、という作りではない。
⇒ AI英会話で教材を渡す機能を見るときは、「AIが覚えたか」ではなく「どこに置かれ、どう探されているか」で線を引く。
そこが分かっていれば、引かれない教材も、引用の出ない返事も、仕様の側から読み解ける。
※本記事の一次ソースは、各公式ドキュメントを2026-09-20に取得した生テキストで確認した。
仕様は更新されるため、最新は各公式ドキュメントで確認してほしい。
前の発言を覚えていられる範囲を仕様から分解した記事です。
覚えていられる範囲まで分解した記事
Comments