「コードはあるのにドキュメントがない」「APIの仕様書が古いままで誰も信用していない」──開発現場でよく聞く悩みです。
ドキュメント作成は後回しにされがちですが、放置すると新メンバーの立ち上げが遅れたり、フロントエンドとバックエンドの連携ミスが増えたりと、じわじわコストがかかります。
この記事では、ChatGPTやClaudeなどの生成AIを使って、OpenAPI仕様書・README・インラインコメントを効率的に自動生成する方法を解説します。コードを貼り付けるだけでそのまま試せるプロンプトを多数掲載しています。
AIによるAPIドキュメント自動生成とは?
APIドキュメントとは、APIの使い方・パラメータ・レスポンス形式などを説明した仕様書です。開発者間の共通言語として機能し、フロントエンド・バックエンド・外部パートナーとの連携に欠かせません。
従来のドキュメント作成には、次のような課題がありました。
・時間がかかる: 機能追加のたびに手動で記述が必要
・陳腐化が早い: コードを変更してもドキュメントが追いつかない
・品質が属人的: 書き方が担当者によってバラバラになりやすい
生成AIを活用すると、既存のコードを貼り付けるだけで仕様書のドラフトを数秒で作れます。人間がゼロから書く手間が大幅に削減でき、開発スピードを落とさずにドキュメント品質を保てます。
具体的な使い方(ステップバイステップ)
1. 既存コードからOpenAPI仕様書を生成する
OpenAPIはRESTful APIを記述する標準フォーマットです(旧Swagger)。YAML形式で書かれた仕様書は、SwaggerUIなどのツールで自動的にインタラクティブなドキュメントページに変換できます。
既存のAPIコード(PythonのFastAPI、Node.jsのExpressなど)をAIに渡してOpenAPI仕様書を生成してみましょう。
プロンプト例(コピペOK):
以下のPython(FastAPI)コードを読んで、OpenAPI 3.0形式のYAML仕様書を作成してください。
# 要件
– すべてのエンドポイントを網羅すること
– リクエストパラメータ・ボディ・レスポンスのスキーマを詳細に記述すること
– 日本語でdescriptionを書くこと
– エラーレスポンス(400・401・404・500)も含めること
# コード
(ここにAPIのコードを貼り付ける)
出力例(一部抜粋):
openapi: 3.0.0 info: title: ユーザー管理API description: ユーザーの作成・取得・更新・削除を行うAPI version: 1.0.0 paths: /users: get: summary: ユーザー一覧取得 description: 登録されているユーザーの一覧を返す parameters: - name: limit in: query required: false schema: type: integer default: 20 responses: '200': description: 成功 content: application/json: schema: type: array items: $ref: '#/components/schemas/User' '401': description: 認証エラー
生成されたYAMLを openapi.yaml として保存し、SwaggerUIまたはRedocに読み込ませると、そのままAPIドキュメントページとして公開できます。FastAPIを使っている場合は /docs エンドポイントに自動反映されます。
2. READMEをAIで自動生成する
READMEはプロジェクトの「玄関」です。新しい開発者がリポジトリを見たときに最初に読む場所であり、セットアップ手順・使い方・ライセンスをまとめる必要があります。
プロジェクトの概要とディレクトリ構成をAIに渡すと、Markdown形式のREADMEドラフトをすぐに生成できます。
プロンプト例(コピペOK):
以下の情報をもとに、GitHubリポジトリ用のREADME.mdを日本語で作成してください。
# プロジェクト概要
– プロジェクト名: ユーザー管理API
– 概要: 社内システムのユーザーCRUD操作を提供するREST API
– 技術スタック: Python 3.11 / FastAPI / PostgreSQL / Docker
– ライセンス: MIT
# ディレクトリ構成
(ここに `tree` コマンドの出力を貼り付ける)
# 含めてほしいセクション
1. プロジェクト概要
2. 前提条件(インストール要件)
3. セットアップ手順(Dockerを使う方法)
4. 環境変数一覧(テーブル形式)
5. APIエンドポイント一覧(簡易版)
6. テスト実行方法
7. ライセンス
生成されたREADMEは、プロジェクト固有の数値・URLをあとから人間が確認・補完するだけでそのまま使えます。ゼロから書き起こす時間が大幅に短縮されます。
3. インラインコメント・docstringをコードに一括追加する
関数やメソッドへのコメント追記は地道な作業ですが、AIを使えば既存コードに一括でコメントを挿入できます。JavaScript/TypeScriptであればJSDoc形式、PythonであればdocstringをAIが自動生成します。
プロンプト例(Python docstring):
以下のPythonコードに、Google スタイルのdocstringを追加してください。
各関数の役割・引数・戻り値・例外を日本語で記述すること。
コードの動作は変えず、コメントのみ追加してください。
(ここにコードを貼り付ける)
出力例:
def get_user_by_id(user_id: int) -> dict: """指定されたIDのユーザー情報を取得する。 Args: user_id (int): 取得対象のユーザーID。正の整数を指定すること。 Returns: dict: ユーザー情報を含む辞書。 - id (int): ユーザーID - name (str): ユーザー名 - email (str): メールアドレス Raises: ValueError: user_idが0以下の場合 UserNotFoundError: 対象ユーザーが存在しない場合 """ if user_id <= 0: raise ValueError("user_idは正の整数である必要があります") ...
GitHub Copilotを使っている場合は、関数の上で /** と入力するだけで候補が自動補完されます。CopilotとAIチャットを組み合わせると、より広い範囲のコードをまとめて処理できます。
実務での活用例(Before/After)
AIドキュメント生成を導入した場合のBefore/Afterをまとめます。
| 項目 | AI導入前 | AI導入後 |
|---|---|---|
| OpenAPI仕様書作成 | エンドポイント1つあたり30分以上 | 全エンドポイントのドラフトを5分で生成 |
| README作成 | 新プロジェクトのたびに2~3時間 | プロンプト1本で20分以内にドラフト完成 |
| コメント追加 | 100行のコードに1時間 | AIが1分でドラフト生成、人間は確認のみ |
| ドキュメント更新頻度 | コード変更後も放置されがち | コード修正のたびにAIで差分更新が習慣化 |
特に効果が大きいのは「既存コードが大量にある状況でのキャッチアップ」です。ドキュメントがほぼない状態から、AIを使って1週間で主要APIの仕様書をそろえた事例も報告されています。
AIを活用した開発効率化の全体像については、姉妹サイトDXマスターズ.TOKYOでも中小企業向けの観点から解説しています。
うまくいかない時の対処法
AIドキュメント生成で躓きやすいポイントと解決策をまとめます。
問題1: 生成された仕様書の内容がコードと一致しない
コードが長い場合、AIがすべてを正確に読み取れないことがあります。エンドポイントごとに分割して渡す「チャンク処理」が有効です。生成後は必ず実際のAPIと突き合わせて確認してください。
問題2: 日本語のdescriptionが業務用語と合わない
業務固有の用語や略語は誤解釈されることがあります。プロンプトの冒頭に「用語定義」のセクションを追加して事前に説明しておくと精度が上がります。
# 用語定義(必ずこの定義に従って記述してください)
– PO: プロダクトオーナー(製品の意思決定者)
– MRR: Monthly Recurring Revenue(月次経常収益)
– スラッグ: URLに使う英数字ハイフン形式の識別子
問題3: コードが大きすぎてAIに渡せない
生成AIにはコンテキストウィンドウと呼ばれる入力制限があります。大規模なコードベースは一度に渡せないため、ドキュメント化が必要な関数・クラスを一覧化し、優先度の高いものから順番に渡す方法が実用的です。コンテキストウィンドウの仕組みについては生成AIのトークンとコンテキストウィンドウとはで詳しく解説しています。
問題4: AIの出力を信用しすぎてしまう
AIはコードの「見た目」から仕様を推測しています。副作用があるメソッドや特定の順序で呼ばれる必要がある処理など、コードを読むだけでは判断できない仕様は人間が追記する必要があります。AIは「ドラフト作成者」と位置づけ、最終レビューは必ず人間が行いましょう。
本記事のまとめ
AIを活用したAPIドキュメント自動生成のポイントをまとめます。
| やりたいこと | 活用するAI・ツール | 難易度 |
|---|---|---|
| OpenAPI仕様書の生成 | ChatGPT / Claude | 低(コードを貼るだけ) |
| READMEの自動作成 | ChatGPT / Claude | 低(概要情報を渡すだけ) |
| インラインコメント追加 | Claude / GitHub Copilot | 低~中(関数単位で処理) |
| 仕様書のHTML公開 | SwaggerUI / Redoc | 中(サーバーへのデプロイが必要) |
AIドキュメント生成の最大のメリットは「書くハードルが下がること」です。ゼロから書かなくてよくなることで、後回しにしていたドキュメント作業を進められる環境が整います。まずはひとつの関数、ひとつのエンドポイントでAIに試してみてください。
AI支援の開発ツール全般についてはAIコードエディタ比較(Cursor・Windsurf・Claude Code)も参考にしてください。コード実行中に発生したエラーをAIで解析する方法はAIでエラーログ・スタックトレースを解析する方法で解説しています。
