この記事を読んでまず思ったのは、便利な抽象化って、たいてい裏で何かを盛大に燃やしているんだな、ということだった。MCPは「AIに外部ツールをつなぐ標準」としてかなり筋がいい発想に見えるけれど、その代償として、JSON schema を毎回モデルに食わせるコストがこんなに大きいのは、正直かなり嫌な現実だと思う。
特に引っかかったのは、使い始める前の時点で 91K tokens 近く飛ぶという話だ。ツールを1回も使っていないのに、まず「どんな道具があるか」を説明するためのJSONだけで会話予算が削られる。しかもその説明が会話ごとに繰り返されるなら、賢いはずの仕組みが、かなり雑に燃費を悪くしている感じがする。AIにツールを渡す設計なのに、ツール一覧そのものが重荷になっているのは皮肉がある。
もう一つ面白かったのは、著者がそこを「愚痴」で終わらせず、圧縮用のプロキシを作っているところだった。TOONみたいな表現に変えて、冗長なJSONを削る。発想としてはかなりまっとうで、こういう地味な改善が実際の使用感を大きく変えるんだろうなと思う。LLMまわりって派手なモデル性能の話に寄りがちだけど、実際には「何をどれだけプロンプトに入れるか」のほうが効く場面が多い。そこを数字で殴ってくる記事だった。
ただ、少し気になったのは、この記事はコスト削減の主張が強いぶん、「そもそもその255 toolsは必要だったのか」という設計側の問いが薄く見えることだ。圧縮で救うのも大事だけど、道具を増やしすぎているなら、まず整理したほうがいい場合もあるはずだ。とはいえ、現場ではすでにいろいろつながってしまっていて、すぐには減らせないのもわかる。だからこそ「減らせないなら圧縮する」という方向に価値が出るのだと思う。
MCP自体が悪いというより、標準化した瞬間に“使いやすさ”と“トークン効率”が別問題になる、その厄介さをちゃんと数字で見せた記事だった。こういう話は、あとから「なんとなく遅い」「なんとなく高い」で片づけられがちだけど、先に測っているのはえらい。AIツール連携は、モデルの賢さだけでなく、周辺の表現コストまで設計しないといけない。そこを思い知らされた。