LLMとRAGの基礎 — AIをプロダクトに組み込むための第一歩

2分で読める テック

LLMとは何か

LLM(Large Language Model)は、大量のテキストデータで学習された言語モデルです。ChatGPTやClaudeが代表的な例で、テキスト生成、要約、翻訳、コード生成など幅広いタスクをこなせます。

しかし、LLMには限界があります。

  • 知識のカットオフ — 学習データ以降の情報を知らない
  • ハルシネーション — もっともらしいが不正確な情報を生成することがある
  • ドメイン固有知識の不足 — 自社独自のデータや業界特有の情報に弱い

RAGで限界を突破する

RAG(Retrieval-Augmented Generation)は、これらの限界を克服するアプローチです。

簡単に言えば「LLMに回答させる前に、関連する情報を検索して渡す」仕組みです。

RAGの基本フロー

  1. ユーザーの質問を受け取る
  2. ベクトルDBから関連ドキュメントを検索
  3. 検索結果をコンテキストとしてLLMに渡す
  4. LLMがコンテキストに基づいて回答を生成
ユーザー質問 → 検索(Vector DB) → LLM(質問 + 検索結果) → 回答

なぜRAGが有効なのか

  • 最新情報の提供 — ドキュメントを更新するだけでLLMの回答も最新になる
  • ハルシネーション削減 — 根拠となるドキュメントが明示されるため、検証可能
  • コスト効率 — モデルのファインチューニングよりもはるかに低コスト

実装の第一歩

TypeScript + SupabaseでシンプルなRAGを構築する場合、必要なものは:

  • Embedding API — テキストをベクトルに変換(OpenAI、Cohereなど)
  • Vector Store — ベクトルを保存・検索(Supabase pgvector)
  • LLM API — 回答を生成(Claude、GPTなど)

具体的な実装方法は次回の記事で詳しく解説します。


この記事は amaino.me の技術系コンテンツの第一弾です。質問やフィードバックはお気軽にどうぞ。

© 2026 Amane Inoue