🚀 ニフティ’s Notion

【生成AI 2025 #1】生成AIの技術、RAGとMCPについて


講義全体の目次

📄 【生成AI 2025 #1】生成AIの技術、RAGとMCPについて (本ページ)

📄 【生成AI 2025 #2】他社の活用事例

📄 【生成AI 2025 #3】生成AIと倫理的な問題

📄 【生成AI 2025 #4】RAGを用いたChatBotの作成

📄 【生成AI 2025 #5】お片付け

はじめに~生成AIの基礎と全体像~

生成AI

生成AI(Generative AI)とは、人工知能の一種であり、テキスト、画像、音声、動画、コードなど、さまざまな種類のコンテンツを自動的に生成できる技術です。これらのAIモデルは、大規模なデータセットを学習し、パターンや構造を理解することで、新しいコンテンツを作り出すことができます。

代表的な生成AIの例には以下があります:

  1. テキスト生成
    • ChatGPTやGPT-4などの大規模言語モデルは、人間のような自然な文章を生成できます。
    • 小説や記事の執筆、メールの自動応答、コードの生成などに利用されます。
  2. 画像生成
    • DALL-E 3、Stable Diffusion、Midjourneyなどは、テキストから画像を生成します。
    • 広告デザイン、イラスト制作、プロトタイプ作成に使用されています。
      image block
      OpenAIのDALL-E 3 のページ( https://openai.com/index/dall-e-3/ )のスクリーンショット (閲覧日: 2025-06-16)
  3. 音声生成
    • 音声合成技術(Text-to-Speech、TTS)は、テキストを自然な音声に変換します。
    • 電話応対、オーディオブック制作、ナビゲーション音声などに利用されます。
  4. 動画生成
    • AIがアニメーションや動画コンテンツを自動生成できます。
    • 広告動画の制作、キャラクターアニメーションなどで活用されています。
  5. コード生成
    • GitHub CopilotやChatGPTは、プログラマーの補助としてコードを書いたり、バグを修正したりできます。

AIエージェント

AIエージェント(英: AI Agent)とは、人工知能(AI)を搭載し、ユーザーに代わって自律的にタスクを実行したり、目標達成を支援したりするソフトウェアのことです。周囲の環境を認識し、状況に応じて判断を下しながら、目標達成に向けて一連の行動を自動的に行う能力を持っています。

AIエージェントの主な特徴

  • 自律性: 人間からの逐一の指示なしに、自身で状況を判断し、行動を決定できます。
  • 環境認識能力: センサーやAPI連携などを通じて、自身の置かれている環境(データ、システムの状態、ユーザーの行動など)を把握します。
  • 目標指向性: 設定された目標を達成するために、必要なタスクを計画し実行します。
  • 学習・適応能力: 経験や新しいデータから学習し、時間とともにより効果的な行動をとれるように進化します。
  • 意思決定能力: 収集した情報や学習結果に基づいて、最適な行動を選択します。

AIエージェントを支える技術

AIエージェントは、以下のような様々なAI技術を組み合わせて実現されています。

  • 大規模言語モデル (LLM): 自然言語処理能力を飛躍的に向上させ、人間との対話や指示理解、文章生成などを可能にします。
  • 機械学習: データからパターンを学習し、予測や判断を行います。
  • データ分析: 大量のデータ(テキスト、画像、音声など)を解析し、有用な情報を抽出します。
  • API連携: 外部のシステムやサービスと連携し、情報を取得したり、操作を実行したりします。

AIエージェントと関連技術との違い

  • 従来の自動化ツールやRPAとの違い: 単純なルールベースの自動化だけでなく、状況判断を伴う複雑なタスクや例外処理にも対応できます。
  • チャットボットとの違い: 受動的に応答するだけでなく、より能動的にタスクを実行したり、目標達成に向けて複数のステップを自律的にこなしたりします。
  • 生成AIとの違い: 生成AIがテキスト、画像、音声などのコンテンツを「生成」することに特化しているのに対し、AIエージェントは生成された情報も活用しながら、実際の「タスク実行」や他のシステムとの連携を通じて成果を生み出すことを目指します。

AIエージェントの例

  • Devin

    世界初の”自律型ソフトウェア開発エンジニア”。自然言語での指示から、コードの生成、テスト、デバッグ、デプロイまでを自律的に実行します。仮想開発環境を備え、Slackなどからのタスク依頼にも対応。企業での導入が進んでいます。

  • Cursor

    AI支援機能を標準搭載した統合開発環境(IDE)。複数行の同時編集やWeb検索、チャット上での画像添付などが可能で、開発効率を向上させます。

  • Cline

    VSCodeの拡張機能として動作するAIエージェント。OpenAIやGeminiなどのAPIと連携し、IDE上でのコード生成や修正を支援します。手動での調整がしやすい点が特徴です。

  • Roo Code(旧 Roo Cline)

    Clineをベース(フォーク)として開発された、VSCode向けのオープンソースAIコーディングエージェントです。

RAG

RAG(検索拡張生成)とは何か?

検索拡張生成(Retrieval-Augmented Generation) は、大規模言語モデル(LLM)と情報検索技術を組み合わせ、生成AIの精度と信頼性を向上させる手法です。

1. はじめに

最近、ニュースなどで「生成AI」や「LLM(大規模言語モデル)」という言葉をよく耳にすると思います。これらの技術は非常に強力ですが、いくつかの課題も抱えています。

例えば、

  • 存在しない情報を事実のように話してしまう(ハルシネーション)
  • 学習した時点より 後の最新情報や、特定の専門的な情報、あるいは社内情報などに対応できない

RAG(検索拡張生成)は、これらの課題を解決し、生成AIをもっと便利で正確に使うための技術です。

2. RAG(検索拡張生成)とは?

RAGは R etrieval- A ugmented G eneration の略です。
一言でいうと、 「情報検索」と「テキスト生成」を組み合わせた技術 です。

LLMが回答を生成する際に、 事前に用意された独自のデータや外部の最新情報を検索し、その情報を「根拠」として参照 して回答を生成します。これにより、LLMが学習していない情報に基づいた、 より正確で具体的な回答 が得られるようになります。

この技術は、Metaの研究者によって、LLMのハルシネーションを減らす方法として提案されました。

3. RAGがなぜ必要か?

LLM単体では、インターネット上の膨大なテキストデータで学習していますが、それらは 特定の時点までの情報 です。そのため、以下のような問題があります。

  • ハルシネーション問題 : 学習データにない情報を推測で補ってしまい、 あたかも事実であるかのように誤った情報(でたらめや作話とも呼ばれます)を生成 することがあります。これはLLMの実用化における大きな課題の一つです。
  • 最新情報への対応 : 学習後に発生した出来事や、最新の研究成果、新しい製品情報などには対応できません.
  • 専門的・独自情報の対応 : 企業独自のルール、製品マニュアルの詳細、特定の専門分野の深い知識など、公開されていない、あるいは一般的な学習データに含まれない情報には対応できません.

RAGを導入することで、これらの問題を解決し、 常に最新で正確な、そして自社や特定の分野に特化した情報に基づいた回答 を生成できるようになります。

4. RAGの仕組み (どう動くの?)

RAGの仕組みは、大きく分けて「検索(Retrieval)」と「生成(Generation)」の2つのフェーズで構成されます。

基本的な流れは以下の通りです:

  1. ユーザーの質問 :ユーザーがAIチャットに質問を入力します。
  2. 情報の検索 (Retrieval) :AIシステムが、事前に準備されたデータベース(社内規定、製品マニュアル、最新論文など)やインターネット上の情報を 検索 します。このとき、質問に関連性の高い情報が選ばれます。
  3. 検索結果の取得 :関連する情報を含むドキュメントの 検索結果 を取得します.
  4. プロンプトの拡張 (Augment) :ユーザーの 質問と、検索して取得した情報(検索結果)を組み合わせ て、LLMへの「プロンプト」を作成します. 検索結果がLLMに**「根拠」として与えられる** イメージです。
  5. 回答の生成 (Generation) :LLMは、与えられた 質問と検索結果を参照しながら 、回答を生成します.
  6. ユーザーへの表示 :AIチャットがLLMから受け取った回答をユーザーに提示します.

このプロセスにより、LLMは自身の学習データだけでなく、 外部の正確な情報に基づいて回答を作成 することができます.

RAGの仕組みは、さらに細かく以下の4つの要素に分解されます。

  • Store : データの格納
  • Retrieve : データの検索
  • Augment : プロンプトのビルド
  • Generation : 回答の生成
5. RAGを導入するメリット

企業や組織がRAGを導入する主なメリットは以下の3点です。

  • より正確な回答が得られる : 外部の情報源を直接参照するため、 ハルシネーション(嘘をつくこと)のリスクが減り 、事実に基づいた正確な回答が生成されます。必要に応じて 出典を示す ことも可能です。
  • 独自のデータを活用できる : 社内規定や製品データベースなど、 企業固有の機密性の高い情報 を参照して回答させることが可能です。外部に情報が流出するリスクも最小限に抑えられます。
  • ファインチューニングが不要、または効率化できる : LLMを特定のタスクや情報に合わせて再学習させる「ファインチューニング」は、時間もコストもかかります。RAGを使えば、 新しい情報(例えば新製品情報)をデータベースに追加するだけで、LLMの再学習なしに 最新情報に基づいた回答が可能になります。ファインチューニングとは異なるアプローチで、知識やロジックの獲得に適しています。
6. RAGの活用事例

RAGは様々な場面で活用できます。

  • 社内情報照会 : 社員からの社内規定や製品に関する質問に対し、 社内データベース を検索して回答。
  • カスタマーサポート : 顧客からのFAQに関する質問に対し、 FAQデータベース を検索して回答。
  • ECサイトの問い合わせ対応 : ユーザーからの商品に関する質問に対し、 商品データベース を検索して回答。

これらの例のように、RAGは特定の情報源に基づいた、 実践的で信頼性の高いAIアプリケーション を構築するために非常に有効です。

7. まとめ

RAGは、情報検索と生成AIを組み合わせることで、 LLMのハルシネーションや知識の陳腐化といった弱点を克服し、より正確で、最新の、そして独自のデータに基づいた高精度な回答 を可能にする技術です.

RAGの仕組みは「検索」と「生成」の組み合わせであり、「Store」「Retrieve」「Augment」「Generate」の4つの要素から構成されます。独自のデータを安全に活用でき、ファインチューニングの手間やコストを削減できるといった大きなメリットがあります。

MCP

1. MCPとは?
MCPの簡単な定義

MCPとは、 Model Context Protocol(モデル・コンテキスト・プロトコル) の略称です。
一言でいうと、 「AIモデル(例:ChatGPTやClaudeのような賢いAI)が、外部の様々なシステムやデータ(例:社内データベース、天気予報API、あなたのパソコンのファイルなど)と、お互いに『わかる言葉』で情報をやり取りするための共通ルール」 だと考えてください。 ここでいう「コンテキスト」とは、AIが何かを理解したり判断したりするために必要な「背景情報」や「文脈」のことです。MCPは、このコンテキスト情報をAIモデルと外部システム間でスムーズに交換するための手順や形式を定めた約束事なのです。

例えるならコレ!「AI界のUSB-C」
image block
MCPのコンセプトイメージ(画像はChatGPTにより生成)

MCPは「AI界のUSB-Cポート」に例えられます。USB-Cケーブル1本で様々なデバイスを簡単に接続できるように、MCPを使えば異なるAIモデルと外部ツールを統一的に連携できます。

MCPという共通の接続方法(プロトコル)により、 様々なAIモデルと外部ツールやデータソースを簡単に接続 できるようになり、個別の接続方法を開発する必要がなくなります。

誰が作ったの?

Anthropic(アンソロピック) が2024年11月に発表しました。MCPは**オープンスタンダード(誰でも自由に利用・実装できる公開された標準規格)**として提供されています。

OpenAIやGoogle DeepMindなど主要AI企業もMCPを採用しており、業界全体でAIの統合における非効率性の解消を目指しています。オープンスタンダードとして提供されることで、幅広いイノベーションと開発者コミュニティの貢献が期待でき、MCPを中心としたエコシステムの成長が見込まれます。

2. なぜMCPが必要なの?
MCP登場前の課題:「N×M問題」

MCP登場前は、AIモデルと外部ツールの連携に多大な労力が必要でした。AIモデル(N個)と外部ツール(M個)の数が増えるほど、必要な専用接続プログラム(カスタムコネクタ)の数も掛け算的に増加してしまいました。

例えば、3種類のAIモデルを5種類の社内データソース(顧客DB、製品情報、在庫管理など)に接続する場合、3×5=15個の専用プログラムが必要でした。これが「N×M問題」です。結果として、AIモデルは高い能力を持ちながらも、外部の情報や機能を十分に活用できず、「箱の中の脳」のような状態に留まってしまいました。

MCPによる解決策:標準化で連携をシンプルに
image block
MCPによる連携の簡略化(画像はChatGPTにより生成)

MCPは、複雑な「N×M問題」に対する効率的な解決策です。AIモデルと外部システム間の共通ルール( 標準化されたプロトコル )を導入することで、一度MCPに対応すれば、他のMCP対応製品と簡単に連携できます。

具体的には、AIモデルは「MCPクライアント」として、ツールやデータソースは「MCPサーバー」として機能するように準備するだけです。これにより開発工数が大幅に削減され、AIは多様な情報源や機能に容易にアクセスできます。

この解決策は、 AI技術全体のイノベーションと実装の加速 につながります。開発者は接続作業ではなく、AIの本質的な改良や新機能の開発に注力できるようになり、小規模チームでも高度なAIシステムの構築が可能になります。

さらに、MCPによる標準化は 複雑なAIエージェントシステム の開発基盤となります。例えば、旅行プラン提案AIは複数の外部システム(フライト情報、ホテル予約など)と連携する必要がありますが、MCPにより統一的な方法でツールを利用できます。これは、文脈を理解し多様な情報源から確実にデータを取得できる高性能AIエージェントへの需要に応えるものです。

3. MCPの基本的な仕組み

MCPの仕様:

基本アーキテクチャ:クライアント・サーバーモデル

MCPは「クライアント・サーバーモデル」という基本的な設計パターンに基づいています。このモデルでは、2つの役割が連携して処理を行います。

  • MCPクライアント:
    Claude DesktopなどのAIアシスタントやAI機能付きアプリケーションが該当します。外部データの取得や作業実行を「リクエスト」としてサーバーに依頼します。
  • MCPサーバー:
    外部ツール、データベース、APIなどが該当します。クライアントからのリクエストを受け、情報提供や処理実行を行い、「レスポンス」を返します。
  • MCPホスト:
    クライアントとサーバー間の通信環境を提供します。セキュリティ管理やクライアントの制御も担当します。例えば、Claude Desktopがホストとして機能し、ファイルアクセスや他の機能との連携を可能にします。

クライアント・サーバーモデルとJSON-RPCの採用により、開発者は既存の知識とツールを活用してMCPを容易に導入できます。広く知られた技術を使用することで、新しい概念を学ぶ必要がなく、実装が簡単になります。この実装のしやすさがMCPエコシステムの急速な成長につながっています(2025年5月時点で5,000以上のアクティブなMCPサーバーが存在)。

また、ホスト・クライアント・サーバーの明確な役割分担により、柔軟なシステム構成が可能です。ローカルPCでのAIアシスタントの利用から、企業規模のクラウドAPIとの連携まで対応できます。企業利用では、ホスト環境での一元的なセキュリティ管理が重要な利点となっています。

通信の「言葉」:JSON-RPC 2.0

MCPクライアントとMCPサーバーが実際に情報を交換する際には、 JSON-RPC 2.0 という、広く使われている軽量な通信プロトコルがベースとして採用されています。 これは、クライアントとサーバーが会話するための共通の「言葉」や「文法」のようなものです。具体的には、リクエストやレスポンスのメッセージがJSON(JavaScript Object Notation)というシンプルなテキストベースのデータ形式で記述され、RPC(Remote Procedure Call:遠隔手続き呼び出し)という仕組みで、あたかもローカルの関数を呼び出すかのように、ネットワーク経由でサーバーの機能を実行できるようになっています。 JSON-RPC 2.0 はシンプルで理解しやすく、多くのプログラミング言語でライブラリが提供されているため、MCPの実装を容易にしています。

4. MCPの主な登場人物

MCPは、AIが外部システムと連携するための3つの主要な構成要素を定義しています。これらの要素を理解することで、MCPの機能と役割が明確になります。

  • ツール (Tools):
    AIが外部システムで具体的な**「アクション」**を実行するための機能です。例:
    • 「社内文書の検索」
    • 「天気情報の取得」
    • 「CRMへの顧客情報登録」
    • 「統計計算の実行」
  • リソース (Resources):
    AIが参照できる**「静的な情報」**です。例:
    • 「ファイル内容」
    • 「データベースレコード」
    • 「ウェブページ情報」
  • プロンプト (Prompts):
    AIとの効率的なやり取りのための**「定型テンプレート」**です。特定のタスクに対する指示や会話の流れを事前に定義します。

これらの要素により、AIは必要な機能を 動的に発見して活用 できます。MCPサーバーは標準化された形式で機能を公開し、AIは実行時に利用可能な機能を把握できます。

この構造化されたアプローチにより、 より高度なAIの推論が可能 になります。従来のRAGが外部データの取得に焦点を当てていたのに対し、MCPはツールやプロンプトを追加することで、より複雑な多段階の処理を実現します。これにより、AIはより強力で多才なアプリケーションとして機能できます。


タイトル: MCPの主要コンポーネントとその役割

コンポーネント (Component) 役割 (Role) 簡単な説明 (Simple Explanation) 例 (Example)
MCPホスト (Host) クライアントとサーバーの橋渡し役 通信環境の提供とセキュリティ管理を担当 Claude Desktop, 企業独自のMCPホスト環境
MCPクライアント (Client) AIアシスタントなど、お願いする側 外部の情報を取ってきたり、作業を依頼したりします Claude Desktop, IDE内のAIアシスタント, 企業向けチャットボット
MCPサーバー (Server) 外部ツールやデータなど、提供する側 AIからの依頼に応じて情報や機能を提供します ファイルアクセスサーバー, データベースサーバー, Slack連携サーバー, 天気予報APIサーバー
ツール (Tool) AIが実行できる具体的な「機能」や「アクション」 AIが「今日の天気を調べる」「メールを送る」「顧客情報を登録する」といった具体的な作業を行うための手段 get_weather(city) , send_email(to, body) , create_customer(name, email)
リソース (Resource) AIが参照できる「情報源」 AIが「ファイルの内容を読む」「データベースの記録を見る」「ウェブページの内容を取得する」といった情報アクセスのための対象 file:///path/to/document.txt , db://table/records?id=123 , https://example.com/article
プロンプト (Prompt) AIへの指示の「型」、再利用可能な会話のテンプレート 特定のタスクをAIに依頼する際の定型的な指示や会話の流れをまとめたもの (オプションで軽く触れる程度) 「製品Xに関する問い合わせ対応フロー」、「月次レポート作成指示テンプレート」
5. MCPのいいところ

MCPには、AI開発における多くの具体的なメリットがあります。以下に主要な利点を説明します。

  • 標準化:いろんなAIやツールと繋がりやすくなる!
    MCPは共通のルールを提供し、様々なAIモデルや外部ツールを簡単に接続できるようにします。新しいAIモデルや外部ツールへの切り替えも容易になり、開発効率が向上します。
  • 柔軟性:特定のAIモデルやベンダーに縛られない!
    MCPはオープンスタンダードとして提供され、様々なAIモデルで利用可能です。開発者は最適なツールを自由に選択でき、特定のベンダーへの依存を避けることができます。
  • 効率アップ:AI開発がスピードアップ!
    カスタムコードの作成が削減され、開発時間とコストを圧縮。開発者は本質的な作業に集中できます。
  • セキュリティ向上:安全なデータ連携のサポート
    セキュリティとアクセス制御の仕組みを設計段階から考慮。詳細な権限管理により、安全なデータ連携を実現します。
  • エコシステムの成長:使えるツールが増えていく!
    MCPサーバーの数が増加中で、AIが利用できる機能が継続的に拡大。開発者は既存のサーバー群を活用して、迅速にAI機能を実装できます。

MCPの活用

事例
  • 企業向けナレッジアシスタント

    MCPを使ってAIが社内のSQLデータベースやConfluenceなどのナレッジベースに安全にアクセスし、「特定地域の前四半期の売上は?」などのビジネス特化型質問に回答させることができます。Block(Square)やReplitなどが、社内システムとAIの連携にMCPを活用し、生産性向上を実現しています。

  • BigQuery MCP サーバーによる自然言語分析

    【課題】
    技術に詳しくないチームメンバーが、複雑なデータセットから迅速に洞察を得ることに苦労している。

    【実施した解決策】
    BigQuery MCP サーバーを Slack に接続。
    これにより、誰でも以下のような自然言語での質問が可能になった。
    例:「3月のLinkedIn広告のパフォーマンスは2月と比べてどうでしたか?」

    【得られた効果】
    ・意思決定の迅速化
    ・データのボトルネックの減少
    ・チームメンバーの自立性向上

    から翻訳

  • RAG(Retrieval-Augmented Generation)との連携

    MCPはLLMのコンテキスト制限を克服する技術としてRAGと密接に関連し、長文読解や専門分野の質問応答などで外部知識を効率的に取り込む仕組みとして活用されています

    https://www.ai-souken.com/article/what-is-mcp

  • コードなしでWebの手動テスト自動化
    Claude Code + Playwright MCP を使うと、Webの手動テストが自動化されて楽。コード不要。設定これで、ブラウザが立ち上がって、フォーム・ログイン・レイアウト・レスポンシブチェック・コンソール確認まで全部試してくれる。「URL + 手動テストして」って伝えるだけ(革命よね)

Geminiを使ってMCPを体験してみよう
設定
  • Geminiの左下の設定からアプリを選択
image block

仕事効率化のスイッチをオンにする

image block
Google Calendar
image block
image block
Google Drive

参照できるのはマイドライブとGoogle Workspaceの共有ドライブです。

まとめ

本講義では、生成AIの基礎から最新のトレンドまでを包括的に説明しました。主なポイントは以下の通りです:

  • 生成AIの基礎知識
    • 生成AIの定義と基本的な仕組み
    • AIエージェントの概念と役割
    • 社内ルール
  • RAG(検索拡張生成)の重要性
    • ハルシネーション問題への対処
    • 外部知識の効率的な活用方法
  • MCP(Model Context Protocol)の革新性
    • AIと外部システムの標準的な連携方法
    • 実用的な活用事例(企業向けナレッジアシスタント、BigQueryとの連携等)
    • Geminiを使用した実践的なMCP体験

これらの技術は、AIの実用性と効率性を大きく向上させ、ビジネスにおける具体的な価値創出を可能にしています。特にMCPは、AIアプリケーション開発の新しい標準として、今後さらなる発展が期待されます。