Post

Conversation

これ私の認識が甘いだけかもしれんから間違ってたら指摘してほしいのだけど、MCPとFunction Callingを比較する記事や投稿が多いけどちょっと違和感ある。 MCPのインパクトはServerとデータソース/外部システムとのやり取りを標準化することで、広く使われる処理はフリー化されて個別の作り込みをしなくても良くなった点であり、どちらかというとツール選択後の処理の交通整理なんだと思っている。 一方、Function Callingは本質的にはツール選択とパラメータ抽出の最適化をシステムプロンプトに書かなくて良いようにモデルレベルで調整したことに良さがあるのであって、ツール選択時や事前定義の最適化をした。 両者で比較しても良いのだけど狙いとしてるレイヤーが若干違う気がする。 MCPのツール選択ってただシステムプロンプトに書くだけじゃ?だったらツール選択とパラメータ抽出は相変わらずモデル最適化されてるFunction Callingした方が精度も良いだろうし、後続のMCPサーバにリクエスト投げるまでの中間処理でパースすればそれでいいのではとか思う。 まあもちろんMCPに従ってツール記述してあげればモデル間でシステムプロンプトが共通化できるから切り替えがスムーズ!ってのも狙いとしてあるのかもしれないけど、それ言い出すとStructured Outputとかもサービス依存性があるから結局システムプロンプト横流しはキツいし、そもそもモデルのトレーニング時点で有効なプロンプト形式や記法には結構ズレがあるからそもそも共通化自体無理じゃないか?と思ってる。