File Search は「RAG を自作するか否か」ではなく責務の切り方を問い直す
このノートは原文の代替ではありません。読むべきポイントと実装上の意味を整理し、原典への入口を示します。
要点まとめ
- 社内資料を AI に読ませる時、本当に難しいのは『検索を作れるか』より、『どこまでを外部サービスに任せ、どこを自分で持つか』を切ることだ。
- OpenAI の File Search は便利機能紹介で終わらない。vector store、結果件数、metadata filtering、citation 表示まで含めて、managed retrieval の責任境界を API として見せている。
- つまり RAG の性能競争より先に、文書更新、閲覧権限、出典表示、削除漏れを誰が持つかを決めろ、という原典として読む価値がある。
- 日本の小規模開発でありがちな『全部自作するか全部ベンダー任せにするか』の二択を崩し、検索基盤と文書ガバナンスを分けて考えさせる。
何が変わったのか
この guide の重要点は、retrieval を prompt 前の裏処理ではなく Responses API の tool 呼び出しとして扱っていることです。`file_search` は vector store を前提にしつつ、`max_num_results`、`include`、metadata filtering、citation/result handling のような制御面を API 契約として持っています。つまり『検索は managed に寄せるが、freshness、permission boundary、citation UX は application 側で持つ』という責務分担を、実装しやすい形に前へ出しています。
なぜ重要か
日本の AI 導入では、RAG が検索精度の話だけに縮みやすいです。しかし実務で止まるのは『どの文書を読ませたか』『古い資料が残っていないか』『根拠をどう見せるか』のほうです。File Search は、この論点を通常の Responses flow に寄せることで、PoC の早期化と運用責任の見える化を同時に進めます。PM にとっても、managed retrieval を採るほど product 側に残る責任を明文化しやすくなる原典です。
技術的ポイント
- `file_search` は vector store、つまり検索対象文書を入れておく retrieval 用ストレージを前提にする。単なる添付ファイル読み込みではない。
- `max_num_results` で取得件数を絞れる。token と latency は減るが、少な過ぎると answer quality が落ちると guide 自体が注意している。
- 検索結果本文は default でそのまま返るわけではなく、必要なら `include` で response に含める。annotation と実結果を分けて扱う設計だ。
- metadata filtering を使うと文書種別、更新日、閲覧対象などの属性で対象資料を絞れる。精度最適化だけでなく permission boundary を切る足場になる。
- citation は user-facing trust に直結する。guide は file citation を返す例を示しており、RAG を答え生成だけで終わらせず出典表示 UX まで含めて設計すべきだと読める。
英日キーワード
| 英語 | 日本語 | 補足 |
|---|---|---|
| file search | ファイル検索 | 文書群から関連箇所を探す built-in tool。検索精度だけでなく出典表示や権限境界の設計も問われる。 |
| vector store | ベクターストア | 検索対象文書を保持する検索用ストレージ。添付ファイル置き場ではなく retrieval 前提の文書集合。 |
| metadata filtering | メタデータ絞り込み | 文書属性で検索対象を制限する方法。精度調整だけでなく部署別や時期別の境界設計にも効く。 |
| citation | 引用表示 / 出典表示 | 回答の根拠文書を示す仕組み。RAG を信用できる運用にするには UI 側の見せ方まで要設計。 |
| max_num_results | 最大取得件数 | 取得件数を抑えて token と latency を制御する設定。絞り過ぎると答えの品質が落ちうる。 |
試すなら
- まず 1 つの narrow な文書群だけで vector store を作り、『誰向けの資料だけを検索させるか』を先に決める。
- 回答精度の前に citation を UI にどう出すかを決める。出典が見えない RAG は実務導入で信用を失いやすい。
- metadata を後回しにせず、最低でも文書種別、更新日、閲覧対象を attribute として持つ。
- `max_num_results` を絞った場合の取りこぼしを QA し、token 削減と answer quality の trade-off を実測する。
注意点
- guide だけでは chunking や ranking の詳細実装は十分に見えない。検索品質の説明責任が必要な業務では追加検証が要る。
- managed retrieval を使っても、古い文書の削除責任やアクセス制御は自動で解決しない。freshness と permission drift は別途監視すべきだ。
- citation が返ることと、読者にとって十分な根拠説明になることは別問題である。どこまで source context を見せるかは product 側の仕事だ。