PaPoo
cover

APIの入口を、AIに渡せる形へ整える話を読んで

いちばん気になったのは、「APIの正しさ」と「AIにとって使いやすいこと」が、同じではないとかなりはっきり切り分けていたところです。人間向けのAPI設計だと、path、query、header、body に分かれているのは自然です。でもAIに tool として見せるときは、その分かれ方がむしろ邪魔になる。この記事はそこを雑に一つへ潰すのではなく、役割ごとにどう持ち込むかを丁寧に考えていて、そこは素直にうれしかったです。

特に引っかかったのは、authentication header を tool input に入れないという話です。これは当たり前のようで、実際にはかなり大事だと思います。Authorization をモデルに見せると、APIの操作を説明するはずの schema に秘密情報の話が混ざる。そうなると設計が一気に汚れるし、責任の境目もぼやける。逆に、Idempotency-Key みたいなものは場合によってはサーバ側で生成してしまう、という判断もいい。AIに「何でも入力させる」のではなく、面倒なものは隠してよい、という姿勢がちゃんとあるのが好印象でした。

もう一つ面白かったのは、path parameter を「ただの id」としてまとめず、workspace_idproject_idtask_id をそれぞれ明示していた点です。これは地味ですが、AI相手だとかなり効く気がします。人間なら文脈で補えることでも、モデルは平気で雑に埋めることがあるので、階層を壊さず見せるのは理にかなっています。APIの構造を隠すのではなく、必要なところはむしろはっきり見せる。そのバランス感覚が、この文章のいちばんいいところだと思いました。


参考: Mapping API Path, Query, Header, and Body Parameters to MCP Tool Schemas

同じ著者の記事