概要
- MCP(Model Context Protocol) の現状と課題を論じる内容
- コード生成 による自動化の優位性を主張
- 推論依存の問題点 とスケーラビリティの限界を指摘
- 実体験 を交えた自動化事例の紹介
- 今後の展望 として新たな抽象化やAPI設計の必要性を提案
MCP(Model Context Protocol)への批判と課題
- MCP は今のところ 期待通りに機能しない という実感
- 2つの主な問題点 :本当の意味での 合成性の欠如 と 過剰なコンテキスト要求
- 合成はほとんど 推論 に依存
- 各ツール呼び出しごとに 多くのコンテキスト が必要
- GitHub MCP と gh CLIツール で同じタスクを比較すると、CLIの方が 効率的かつ迅速
- コード生成 の方が 検証・再利用性 に優れるという現実
MCPの将来性に対するフィードバックと現時点の見解
- エージェント的コーディング の文脈でMCPを評価
- 非プログラマー向けドメイン特化タスク にはMCPが有効という意見もある
- しかし現状では 推論依存のため、コード生成よりも難易度が高い
- 多ツール化のアプローチ も本質的には フィルタリング層 の導入にとどまる
- 非プログラミング領域でもコード生成の方が合成性で有利
シェルスクリプトで自分を置き換えるという発想
- プログラマー は問題解決にまず コード を選択
- 非プログラマー は自動化手段へのアクセスが難しい現状
- 多くの手作業タスク は本来自動化可能
- LLMsの登場で「 自分をシェルスクリプトで置き換える」から「 LLMで置き換える」時代へ
- しかし コスト・速度・信頼性 の課題が残る
スケールする自動化の本質
- 繰り返し実行されるタスク こそ自動化の本命
- 推論ベースの自動化 は検証コストが高く、 コード生成 の方が 検証性と再現性 で有利
- LLMに 計算させる より、 Pythonコードを書かせる 方が安心
- コードであれば プロセスの確認・検証 が容易
LLMを活用した実際の変換事例
- ブログの reStructuredText→Markdown変換 をLLMで実施
- AST(抽象構文木)変換 を指示し、中間生成物と最終結果を比較
- 比較スクリプト もLLMに生成させ、 変換誤差の許容範囲 も定義
- 少数サンプルで検証後、全記事へ拡大適用
- 推論コスト はイテレーション数とサンプル数に比例し、 全体量には依存しにくい
MCPで実現困難な自動化の再現性
- 上記の変換プロセスは コード生成→LLM検証→イテレーション という 再現性の高いパイプライン
- Playwright など一部MCPは例外だが、 コード生成による自動化 の方が圧倒的に効率的
- 既知の環境 では Playwright Pythonスクリプト の方が推論不要で速い
- 一度書いたスクリプト は何度でも 再利用可能、MCPでは難しい
- MCPツール の呼び出しは 抽象的かつ推論依存 でトラブルが多い
今後の展望と提言
- 現状のMCPはスケールしづらい ため、 新たな抽象化 や API設計 の模索が必要
- サンドボックス化 や ファンアウト/ファンイン型推論 なども検討余地
- コード生成+LLMによる事後評価 という流れが有望
- 非プログラマー向け に、 生成コードの説明機能 をLLMで付与する可能性
- MCPに固執せず、LLMのコード生成能力を活用する道を模索推奨
参考リンク・追加リソース
- Agentic Coding Talk (著者による発表)
- Drew Breunig 「How to fix your context」(MCPツール選択の工夫)
- Manuel Odendahl 「MCPs are Boring」(AI Engineerの講演、MCPの課題を指摘)
タグ:ai