はじめに
弊社ではAPI仕様書のツールにApidogを使用しています。
小規模な改修から大規模な新機能開発までApidog内でAPIの設計を行っているのですが、
変更箇所が多いと画面の行き来が大変なのでAI連携できればと思い試してみました。
設定
設定箇所
ApidogでAI機能を設定するにはホーム画面の「チーム設定」を選択します。
選択するとページ中段くらいのところに「AI機能」の項目があります。

AIプロバイダーの登録
「AI機能」の項目から「プロバイダーを追加」を押すと、プロバイダー選択画面が表示されます。
今回はOpenAIで登録をします。

OpenAIを選択すると「APIキー」と「APIベースURL」を入力するフォームがあるので、
そこにOpenAIから取ってきた情報を入力します。

入力が完了したらAPIキーのフォーム右にある「テスト」ボタンを押すと接続確認ができるので、
「接続成功」と表示されたら設定完了です。
実際に使ってみた
AIを使ってみる
今回はリクエストとレスポンスを作成してみたいと思います。
リクエスト
リクエストに二つのパラメータを追加してみます。
リクエストのAIはヘッダー部分のところに項目があるのでクリックします。

指示内容は以下です。
以下のパラメータを追加してください。
- id
- integer
- 必須
- サンプル
- 1
- 説明
- 取得したいID
- option
- boolean
- 必須
- サンプル
- true
- 説明
- 追加機能をONにする
パラメータを必須と指示したのですが、任意のままになっていたので追加指示をして調整。
全てのフィールドを必須にしてください
いい感じですね。
指示内容をテンプレートかしておけば必要なとこだけ入力して、あとはAIに指示をすれば一気に登録ができそうなので、画面上でちまちまと登録をしないでもよさそうですね。
レスポンス
レスポンスは成功(200)レスポンスを追加してみます。
レスポンスのAIはBodyのヘッダー部分のところに項目があるのでクリックします。

Apidogではjsonからフィールドを作成する機能がありますが、
jsonに書かれていることをそのまま反映するため型などが足りない場合があります。(例えば、基本stringだけどnullが入ることもある等)
なので今回の指示は同じようにjsonからフィールドをどのように設定してくれるのかを試しました。
以下のレスポンス例を参考にフィールドを作成してください。
{
"result": {
"status_code": 200,
"message": null,
},
"content": {
"id": 1,
"name": "名前",
"description": "説明",
}
}
いい感じですね。
messageの部分はjsonではnullを入れていますが、解釈してくれて型がstring | nullになっています。
(既存のjsonから作成機能だと型はnullと判断されていた)

ちなみに今後共通パーツとして使う部分をデータモデル化できるか確認しましたが、できませんでした。
(レスポンスはレスポンス、データモデルはデータモデルでAI作成しないとダメそうですね)
総括
いいなと思った点
- ある程度のコンテキストベースでAPI仕様が作成できる
- フィールドをある程度解釈してくれるので型等をいい感じにしてくれる
- フィールド自体の説明等も指示すれば自動で作成してくれる
気になった点
- リクエスト、レスポンス、データモデルと各々が単独で扱われている(各部分への参照自由度が上がればいいなと思った)
- Apidog自体の項目名を正確に指示しないと無視される(
項目を必須にしてだと無視されるがフィールドを必須にしてだと効く)- ただしこれはプロバイダーの種類にもよるかもしれません
全体を通して
AI自体のプロバイダーの種類も豊富で、設定もしやすいためすぐに試すにはいいと思いました。
まだまだ模索段階ではありますが、仕様書設計のコスト削減の足掛かりにはなるのではないでしょうか。

