こんにちは、ショウです!
最近、生成 AI の界隈で 「MCP」「Skills」「RAG」 という言葉を耳にしない日はありません。しかし、立場によってこれらの見え方は全く違います。
「自作アプリに AI を組み込みたいエンジニア」と、「Cursor やエージェントを駆使して爆速で開発したいバイブコーダー」。
今回は、それぞれの目線でこれら 3 つのキーワードをスッキリ整理します!
1. 擬人化で理解する 3 つの役割
まずは、AI を「一人の有能な秘書」に例えて、それぞれの役割をイメージしてみましょう。
- RAG(知識の拡張): 「巨大な辞書や最新の社内資料」 を手元に置き、そこから調べて答えてくれる。
- Skills(機能の拡張): 「電卓、メール、ファイル操作」 などの具体的な道具(ツール)を使いこなす能力。
- MCP(接続の標準化): あらゆる道具を AI に接続するための 「共通コンセント」。
| 用語 | ユーザー目線(何ができる?) | 開発者目線(どう実装する?) |
|---|---|---|
| RAG | 未学習の最新情報や、自分だけの資料を AI に教えてもらう | ベクトル DB と連携し、プロンプトにコンテキストを注入する |
| Skills | ファイル操作、検索、コード実行などの 「動作」 をさせる | Function Calling (Tools) として関数の仕様を定義する |
| MCP | Cursor や Claude に、一瞬で外部連携を追加 できる | 共通規格(プロトコル)に則ったサーバーを公開・利用する |
2. ユーザー目線:Skills さえあれば十分?
Cursor や Windsurf を使った「バイブコーディング」や、AI エージェントを利用するユーザーにとっては、「Skills(何ができるか)」 が最も重要です。
- 「ファイルを読み書きする」
- 「ターミナルでコマンドを叩く」
- 「ブラウザで検索する」
これらはすべて Skills です。多くのユーザーは、すでに用意された Skills を使うだけで目的(アプリ作成など)を完結できます。
では、なぜ今 MCP がこれほど注目されているのでしょうか?
それは、「自分が使いたい特別な道具(独自の DB や特殊な API)」を、いろんな AI ツール(Cursor, Claude, VSCode 等)にいちいち設定し直すのが面倒すぎるから です。MCP という共通規格が登場したことで、「一度作った Skills を、どの AI 環境にも一瞬で差し込める」ようになった。これが今のトレンドの本質です。
3. 開発者目線:MCP vs Skills どっちが便利?
「自分のアプリに AI 機能を組み込みたい」エンジニアにとっては、選択肢が変わります。
① 「Skills(Function Calling)」を選ぶとき
- 特定の AI モデル(OpenAI だけ、など)に特化して、密な連携をさせたい。
- 1 つのスクリプト内で完結するシンプルな自動化を作りたい。
- 「手っ取り早く、自分専用のツールを作りたい」ならこちらが便利です。
② 「MCP」を選ぶとき
- 作った機能を、Cursor や Claude Desktop など、外部のいろんな AI 環境 で再利用したい(あるいは配布したい)。
- 複数のツールや DB を、標準化された安全な方法で管理したい。
- 「AI 活用のインフラを整えたい」ならこちらがトレンドです。
4. 初心者がまず触れるべきは?
もしあなたが、「AI をもっと便利に使いたい!」と思っているなら、以下の順序がおすすめです。
- Skills を使い倒す: 既にエディタにある「ターミナル操作」や「ファイル編集」の便利さを知る。
- RAG を体験する: 自分のメモや PDF を AI に読み込ませて、自分専用の知能を作る。
- MCP サーバーを繋いでみる: MCP サーバーのリポジトリなどから、自分が使っているサービス(GitHub や Google Drive 等)を AI に直結してみる。
まとめ
- RAG は、AI の 「カンニングペーパー」。
- Skills は、AI の 「手足」。
- MCP は、手足をどこでも繋げるようにする 「規格」。
「使うだけ」なら Skills で十分。でも、その便利さを「どこでも、自由に」広げたいなら MCP が最強の味方になります。
自分のやりたいことに合わせて、これらの武器を使い分けていきましょう!
あわせて読みたい記事: