🎃

はじめての Model Context Protocol (MCP) - 第1回: AIがもっと「話せるヤツ」になる? MCPはじめの一歩

に公開

はじめに

こんにちは! 「はじめての Model Context Protocol (MCP)」というシリーズで、全く知識がないところからMCPについて学んだことを全20回で共有していこうと思います。

最近、ChatGPTみたいなAIとおしゃべりする機会、増えましたよね?
すごく賢くて、人間みたいに会話できることもあって驚きます。
でも、時々「あれ?話が噛み合わないな…」
「さっき言ったこと、もう忘れちゃったの?」
なんて思う瞬間、ありませんか?

まるで、ちょっと前の会話の内容を覚えていない友人や、こちらの好みを全然知らない店員さんと話しているような、もどかしさ。
実はこれ、AIが 「文脈(ぶんみゃく)」 、つまり話の流れや状況をうまく掴めていないから起こることが多いんです。

でも、もしAIがもっと上手に文脈を理解してくれたら…?
まるで気の利く友だちや、あなたのことをよく知っている店員さんのように、もっとスムーズで、もっと「話せるヤツ」になってくれるはず!

その鍵を握るかもしれない新しい考え方が、今回から始まるシリーズのテーマ 「Model Context Protocol (MCP)」 なんです。

「なんだか難しそう…」って思いましたか?
大丈夫です! このシリーズは、専門知識がない方でも「へぇ、そういうことか!」と分かるように解説していきます。

第1回の今回は、まず「MCPって、そもそも何なの?」という疑問に答えていきます。

MCPって何? 超入門解説!

MCPをものすごーく簡単に言うと、「AIと、AIを使うアプリやサービスとの間で、『文脈』に関する情報をやり取りするための『共通ルール』や『お約束事』」 のことです。

例えるなら…

外国の人と話すときの「共通言語(英語とか)」

言葉が通じないと会話が始まりませんよね?
MCPは、AIとアプリが「文脈」についてスムーズに意思疎通するための言葉のようなものです。

スポーツの「ルールブック」

ルールがないと試合になりませんよね?
MCPは、情報をどういう形式で、どうやって渡すかのルールを決めて、AIが情報を正しく受け取れるようにします。

つまり、AIが「今、どういう状況で、誰と話していて、これまでにどんな話をしてきたか」といった文脈をちゃんと理解するために、
必要な情報をアプリ側からAIに分かりやすく伝えるための 「情報の渡し方の作法」 みたいなもの、と考えてみてください。

AIが「文脈を読む」ってどういうこと?

では、AIが「文脈を読む」とか「文脈を理解する」って、具体的にどういうことでしょうか? 簡単な例をいくつか見てみましょう。

前の会話を覚えている

あなた:「昨日、渋谷で美味しいラーメン屋さん探してるって言ったじゃない?」
AI:「はい、豚骨がお好きだというお話でしたね。いくつか候補を見つけましたよ!」
→ ただ「ラーメン屋さん」を探すだけでなく、「昨日」「渋谷で」「豚骨が好き」という文脈を覚えているから、的確な応答ができます。

あなたの好みを知っている

あなた:「何か面白い映画ない?」
AI:「お客様はSFがお好きですよね。最近公開された『スペース・アドベンチャーZERO』はいかがですか?」
→ あなたの好みを「文脈」として知っているから、漠然とした質問にもパーソナルな提案ができます。

今の状況を分かっている

あなた:「(雨の日に)今日、傘いるかな?」
AI:「はい、現在地は雨が降っていますので、傘をお持ちになることをおすすめします。」
→ 現在地の天気という「文脈」を理解しているから、適切なアドバイスができます。

MCPは、こういった様々な「文脈情報」を、AIがちゃんと受け取って活用できるようにするための仕組みなんです。

【体験してみよう】文脈情報ってこんな感じ?

MCPでAIに渡される「文脈情報」って、具体的にどんな形をしているんでしょうか?
ここで、Pythonコードを使って、その簡単なイメージを見てみましょう!

例えば、あなたが映画好きで、AIにおすすめの映画を聞いた、というシナリオを考えてみます。
AIに渡されるかもしれないコンテキスト情報は、こんな感じかもしれません。

AIに渡されるかもしれない文脈情報の例(あくまでイメージ)

context_info_example = {
  "user_profile": {
    "user_id": "user_123",
    "preferred_language": "Japanese",
    "favorite_genres": ["Sci-Fi", "Action", "Anime"],
    "location_preference": "Tokyo"
  },
  "conversation_history": [
    {"role": "user", "content": "最近何か面白い映画あった?"},
    {"role": "assistant", "content": "どんなジャンルがお好みですか?"},
    {"role": "user", "content": "うーん、SFかアクションがいいな。"}
  ],
  "current_context": {
    "device": "Smartphone",
    "time_utc": "2024-10-27T12:00:00Z",
    "app_name": "Movie Recommendation App"
  }
}

AIにJSONで何が渡されているか?

上のコードは、AIに渡される可能性のある「文脈情報」の簡単な例を、人間にも分かりやすいJSON形式で表示しました。

整理された情報

user_profile (あなたの好みなど)、conversation_history (これまでの会話)、current_context (今の状況) のように、情報がきれいに整理されていますね。

具体的な内容

あなたが「日本語」を話し、「SF、アクション、アニメ」が好きで、「東京」の情報を好み、直前の会話で「SFかアクション映画」を探していること、そして今「スマホ」で「映画推薦アプリ」を使っていることなどが分かります。

AIの賢さの源

AIはこれらの情報をまとめて受け取ることで、「なるほど、この人はSFかアクションが好きで、東京で上映中の新作か、配信で見られる人気作をスマホで探しているんだな」と、より深く状況を理解できます。
その結果、的外れな提案ではなく、あなたの好みにピッタリ合った映画をおすすめしやすくなるわけです。

このように、MCPはAIが「文脈を読む」ために必要な情報を、整理された形で提供する役割を担っているということなんです。

まとめと次回予告

今回は、AIがもっと「話せるヤツ」になるための鍵、「Model Context Protocol (MCP)」の超基本的な考え方をご紹介しました。
MCPは、AIとアプリの間で「文脈情報」をスムーズにやり取りするための「共通ルール」であり、これによってAIは話の流れや状況をより深く理解できるようになります。

次回、第2回では、「MCPが私たちの暮らしにどんな嬉しい変化をもたらすのか?」 について、さらに具体的な例を挙げながら、そのメリットを一緒に見ていきましょう!お楽しみに!

Discussion