244
194

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

2025年12月版: MCP、Subagent、Skills… エージェント拡張技術が次々出てきて追いきれない人のためのガイド

244
Last updated at Posted at 2025-12-09

このエントリーは with Advent Calendar 2025 の 9日目の記事になります。


MCP、Subagent、Skills、Code execution、Advanced tool use… ここ1年ほどで、エージェントを拡張する技術が次々と登場しています。名前は聞くけど、違いがよく分からないという人も多いのではないでしょうか。

この記事では、Anthropic の公式ブログをもとに、各技術が登場した背景を時系列で整理します。「何を解決しようとして生まれたのか」が分かると、全体像が見えてくるはずです。

2024年11月: MCP 誕生

2024年11月、Anthropic は Introducing the Model Context Protocol という記事で MCP (Model Context Protocol) を発表しました。

MCP が登場する以前、LLM は賢くなったものの、社内データベース・ファイル・SaaS・開発ツール等とつなぐたびに毎回カスタム統合が必要という問題がありました。その結果、プロダクトごとに別コネクタ、サービスごとに別プラグインが乱立し、統合もメンテもスケールしない状態になっていました。

MCP はこれを「AI アシスタントと、外部システム(データソース・ツール・ワークフロー)をつなぐためのオープン標準」として整理し直しました。AI 側を MCP クライアント(ホスト)、外部システム側を MCP サーバ(ファイル・DB・SaaS・API など)という構造にして、「どこにつなぐか」の部分を共通プロトコルにすることで個別統合の沼から抜け出そうとしたのが MCP の出発点です。

参考:Introducing the Model Context Protocol

2024年末〜2025年前半: エージェント実装と Subagent

MCP でツールやデータにはつながるようになりましたが、今度は別の問題が見えてきました。1体のエージェントが計画を立てて、いろんなツールを順に呼んで、長いドキュメントや検索結果を読み込んで…と何でもやらせると、プロンプトもコンテキストもどんどん膨らんで、設計もデバッグも大変になってしまいます。

Anthropic が示した解決策が、マルチエージェント構成(Subagent)です。1つの「リーダー」エージェントが全体方針やタスク分割を担当して、複数のサブエージェントがそれぞれ別の観点・別のツールでリサーチを行う形です。各サブエージェントは自分のコンテキストウィンドウの中で作業して、要約だけをリーダーに返します。こうすることで「全部ひとりで抱える巨大エージェント」ではなく「役割を分けた小さめのエージェント」たちを組み合わせる形になって、コンテキスト負荷と設計の複雑さを分散できるわけです。

参考:Building effective agents / How we built our multi-agent research system / Building agents with the Claude Agent SDK

2025年9月: Context engineering

MCP やツールが増えて、エージェントも高度になってくると、今度はコンテキストウィンドウの圧迫問題が本格化してきます。コンテキストを埋めているのはプロンプトだけじゃありません。過去の会話履歴、MCP ツールの定義、実行結果、サブエージェントからのレポート…こういったものがどんどん積み上がって、モデルが「ユーザーの最新の質問」にたどり着く前に、かなりのトークンを処理しないといけない状態になってしまいます。

そこで Anthropic が打ち出したのが「コンテキストエンジニアリング」という考え方です。プロンプトエンジニアリングが「何をどう書くか」を扱うのに対して、コンテキストエンジニアリングは「何をコンテキストに入れるか/残すか/外に逃がすか」を扱います。具体的には、要約(コンパクション)で過去情報を圧縮したり、構造化された外部ノート(メモリ)に書き出しておいたり、そもそも Subagent で「窓口」を分けて1つのコンテキストに詰め込まないようにしたり、といった方針が示されました。

MCP で世界をつないだ結果、モデルに「何を見せて何を見せないか」を設計することが決定的に重要になった、という認識が公式に言語化されたのがこの時期です。

参考:Effective context engineering for AI agents

2025年10月: Agent Skills

コンテキストの管理がうまくいったとしても、また別の問題が出てきます。実際の業務では、この会社ならではの手順、このチームの運用ルール、このドメイン特有の注意点といったモデルのパラメータには焼き込まれていない「手続き的な知識」が大量に必要です。これを全部システムプロンプトに書き込むと、長すぎて扱いづらい、案件ごとに差し替えにくい、更新やレビューが大変、といった問題が出てきます。

そこで出てきたのが Agent Skills です。1つの Skill は、フォルダ、SKILL.md(中核の説明・手順)、必要に応じた追加ファイルやコードから成る「知識パッケージ」です。エージェントは最初は各 Skill の「名前と短い説明」だけをコンテキストに持ち、必要だと判断したときに SKILL.md を読み、さらに必要なら追加ファイルを読むという段階的に知識を読み込むスタイルになっています。

ポイントは「知識はいくらでも用意できるけど、コンテキストには必要になった分だけ読み込む」という設計思想です。MCP が「外部ツールへの接続」を標準化したのに対して、Skills は「そのツールやワークフローをどう使うかというノウハウ」をパッケージ化して、コンテキストの節約も両立させる仕組みと言えます。

参考:Equipping agents for the real world with Agent Skills

2025年11月4日: Code execution with MCP

Skills でノウハウの管理はできるようになりましたが、MCP サーバやツールが増え続けると、また別の問題が出てきます。ツール定義だけで 5万〜10万トークン超えといったケースが出てきたり、ツールを何度も呼ぶと中間結果が履歴にどんどん積まれて、ユーザーの質問よりツール関係の情報でコンテキストが埋まってしまうという問題です。

この問題に対する解決策として登場したのが Code execution with MCP です。MCP プロトコルや MCP サーバ自体は変更せず、エージェント側が MCP を呼び出す方法を工夫することで効率化します。従来はツールを「自然言語から直接呼ぶ相手」として扱っていましたが、これをコード(Python 等)から呼ぶ API として扱うように変えます。具体的には、MCP ツールをコードから呼び出せるファイルとして生成します(開発者が事前に生成する方法と、エージェントがファイルシステムを探索して動的に発見する方法があります)。エージェントは必要なツールのファイルだけを読み込んでコードを書き、そのコードが MCP 経由でツールを呼び出してデータを取得・集計します。これにより、すべてのツール定義を最初からコンテキストに展開する必要がなくなります。また、大量データの加工はコード側で完結して、最終的な結果だけをモデルに返すという構造に変わります。

参考:Code execution with MCP: building more efficient agents

2025年11月24日: Advanced tool use

Code execution with MCP の約3週間後、Anthropic は Advanced tool use を発表しました。これはツール定義や中間結果によるコンテキスト肥大化問題に対する、より体系的なアプローチです。

主なポイントは3つあります。1つ目の Tool Search(ツール検索) では、最初から全ツール定義を渡すのではなく、検索して必要なツールだけ定義をロードします。これにより、ツール定義によるコンテキストの圧迫を減らします。2つ目の Programmatic tool calling(コードからのツール呼び出し) では、モデルが Python コードを書いて、そのコード内で複数のツールを呼び出して処理します。中間結果はコード内で処理されて最終結果だけがモデルのコンテキストに入るので、ツールの実行結果によるコンテキストの肥大化を防ぎます。3つ目の Tool use examples(サンプル付きのツール定義) では、スキーマだけでは伝わりにくい「正しい使い方」を具体例と一緒に提供します。これにより、ツールの誤用による無駄なやり取りを減らして、効率的にツールを使えるようにします。

こうして、ツール定義や中間結果によるコンテキストの肥大化問題に対処するための具体的な手法が整理されてきました。これが2025年12月時点の状況です。

参考:Introducing advanced tool use on the Claude Developer Platform

まとめ

MCP が出てきたとき、あらゆる外部システムに接続できるという可能性が開けました。ところが、接続先を増やしてツールをどんどん追加していくと、今度はエージェントがコンテキストの重みで身動きが取れなくなってしまいました。

そこから始まったのが、コンテキストをいかに管理するかという課題への取り組みです。何をコンテキストに入れて何を外に出すか、どう圧縮してどう取り出すか。この課題に対して、Subagent、Skills、Code execution、Advanced tool use といった手法が次々と生み出されてきました。

エージェント技術はまだまだ発展途上で、これからも新しい手法が出てくるはずです。キャッチアップは大変ですが、それぞれが「どんな問題を解決しようとしているのか」という視点で見ていくと、全体像が掴みやすくなると思います。

最後に、この記事で取り上げた技術の登場時期をまとめておきます。

時期 技術 概要
2024年11月 MCP 外部システムとの接続を標準化
2024年末〜2025年前半 Subagent タスクを分割してコンテキスト負荷を分散
2025年9月 Context engineering コンテキストに何を入れるか/外に出すかを設計
2025年10月 Agent Skills 手続き的知識をパッケージ化して段階的に読み込み
2025年11月4日 Code execution with MCP ツールをコード経由で呼び出して効率化
2025年11月24日 Advanced tool use ツール検索・コード呼び出し・サンプル付き定義で体系化

参考リンク

244
194
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
244
194

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?