GitHub CopilotのAgentモードを使って、I/F仕様書を自動生成してみた

本稿はJCB Advent Calendar 2025の12月23日の記事です。

こんにちは。JCBデジタルソリューション開発部 MyJCBアプリチームのバックエンドエンジニアの原田です。

私が所属するチームでは、GitHub Copilotを始めとしたAIを用いたシステム開発の効率化に取り組んでいます。

今回はGitHub CopilotのAgentモードを使ってI/F仕様書を自動生成するため、プロンプトを定義するマークダウンファイルを実装・検証しました。

実装する過程の工夫や検証を通して見つかった課題についてご紹介いたします。

1. はじめに

GitHub Copilotは、コーディングから設計・修正までを幅広く支援する開発者専用AIです。

特に「Agentモード」は、ファイルを横断して作業し特定のタスク(ワークフロー)を自動化できることが特徴です。

今回はこのAgentモードを活用し、指示書となるマークダウンファイルを読み込ませることで、I/F仕様書の自動生成を実現します。

2. 前提

MyJCBバックエンドシステム(以下、BE)は、下のシステム概要図のようにスマートフォンアプリと連携システムをつなぐ中継APIサーバとしての役割を担っています。

そのため、BEのI/F仕様は連携システムのI/F仕様に基づいた構成となっています。

I/F仕様書の作成・修正作業は連携システムのI/F仕様書(Googleスプレッドシート)を参照し、項目名やデータ型、桁数、項目の必須・非必須などの仕様を再定義してBEのI/F仕様書(YAMLファイル)に落とし込みます。

I/F仕様書の作成・修正作業は1APIあたり2,3時間ほどの時間を要します。

システム概要図

3. 目的

今回、I/F仕様書の自動生成に取り組む目的はI/F仕様書作成の作業時間を短縮することです。

I/F仕様書の作成は高頻度かつ定型的な作業であるため、AIによる自動化に非常に適していると考えました。

ここで削減した時間を開発やテスト業務に充てることで、システム開発のスピードアップおよび品質向上を目指します。

4. 実装

ここからはプロンプトで利用するファイルと処理の流れについて説明します。

プロンプトで利用するファイルは以下の4つです。下の3つのマークダウンファイルは自動生成するために実装したものです。

  • GoogleスプレッドシートのI/F仕様書:プロンプト実行時に読み込ませる
  • api_specification_prompt.md:プロンプトの手順や処理について定義
  • intermediate.md:YAMLに修正するための前処理として、Googleスプレッドシートをcsv→jsonに変換
  • api_specification_guideline.md:生成するYAMLファイルのテンプレート

処理の流れは以下のプロンプト概要図とapi_specification_prompt.mdの通りです。

プロンプト概要図

api_specification_prompt.md
---
mode: 'agent'
---

CSVファイルを参考にしてI/F仕様書をYAMLファイルで作成することが目的です。

下記に従ってI/F仕様書作成を行ってください。

## 入力情報の取得

1. {csv_file_path} を対話式で指定させ、指定されたCSVファイルを読み込んでください(ローカルファイル)。
2. {api_category} を対話式で指定させてください(APIカテゴリ)。
3. {api_name} を対話式で指定させてください(APIの名称)。

## ファイル確認と差分表示

4. 対象ファイル `{api_category}/{api_name}.yaml` が既に存在するか確認してください。
   - **存在しない場合**: 新規作成モードで次のステップへ進みます。
   - **存在する場合**: 既存ファイルを読み込み、追加修正モードで次のステップへ進みます。

## I/F仕様書の作成・更新

5. 読み込んだCSVファイルの内容を分析し、以下の情報を抽出してください:
   - APIエンドポイント(パス、HTTPメソッド)
   - リクエスト/レスポンスパラメータ
   - データ構造・制約・説明

6. #file:api_specification_guideline.md の手順3のYAMLフォーマットに従って、I/F仕様書を作成または更新してください。
   - 新規作成の場合: 読み込んだ内容をもとにI/F仕様書を作成します。
   - 追加修正の場合: 既存ファイルとの差分を明示的に表示し、ユーザーに実装の確認を求めてください。ユーザーが承認したら変更を適用します。

## ファイル保存とバリデーション
7. 作成または更新したI/F仕様書を `{api_category}/{api_name}.yaml` に保存してください。
   - 既存ファイルがある場合は上書きします。

8. バリデーションを行い、フォーマットが正しいことを確認してください。

## HTML変換

9. 作成したYAMLファイルをRedocly(APIドキュメント生成ツール)でHTMLに変換してください。
   - HTMLファイルは同じディレクトリ(`{api_category}/`)に保存してください。

## 完了報告

10. 作成完了後、以下の情報を出力してください:
    - YAMLファイルパス
    - HTMLファイルパス
    - 作成内容の概要(エンドポイント一覧・主要スキーマ)

5. 検証結果と工夫点

実装したマークダウンファイルを用いて、GoogleスプレッドシートのI/F仕様書からYAML形式のI/F仕様書を自動生成します。

プロンプトに読み込ませるGoogleスプレッドシートのI/F仕様書はこちらです。

リクエスト項目、レスポンス項目はダミーの情報を設定しています。

GoogleスプレッドシートのサンプルI/F仕様書

生成されたYAMLファイルをHTMLに変換したI/F仕様書はこちらです。

連携システムのI/F仕様書に沿って、ダミーのリクエスト項目、レスポンス項目を設定することができました。

YAML形式をもとにしたサンプルI/F仕様書(リクエスト)

YAML形式をもとにしたサンプルI/F仕様書(レスポンス)

このプロンプトを使用することで1APIあたり2,3時間ほどかかる作業を約30分に短縮することができました。

Googleスプレッドシートと比較して、項目名やデータ型、桁数、項目の必須・非必須の情報が適切に設定されていることがわかります。

工夫した点は、単一のプロンプトで「新規作成」と「既存修正」の両方に対応させたことです。

プロンプト実行時に入力したAPI名を使用して該当ファイルチェックを実施し、後続処理を自動で分岐させることで実現しました。

また、AIの生成内容を作業者が実行前に確認する工程を挟むことで、YAMLファイルの品質を担保しています。

システムフロー図

6. 今後の課題

ここまで説明しましたが、現状は以下の課題があるため、今後改善していきます。

  • GoogleDriveで管理されている連携システムのI/F仕様書をローカルにダウンロードしてプロンプトに読み込ませる作業が非効率であり、手間がかかること
  • 追加修正に伴う差分量が膨大な場合、出力トークンの上限に達し応答が途切れるため、データ量の多いI/F仕様書は現在の自動化プロンプトでは処理できないこと
  • 出力トークンの上限に達することで、自動生成したI/F仕様書の変数の詳細説明や備考情報が欠落する場合があること

7. まとめ

今回はGitHub CopilotのAgentモードを用いてI/F仕様書を自動生成する試みを記事にさせていただきました。

AIの活用方法を模索する方の、参考の一つになれば幸いです。

今後は前述した課題を解決し、I/F仕様書の自動生成プロンプトをブラッシュアップして、更に開発業務に活用していきたいと思います。

8. 終わりに

最後になりましたが、JCBでは我々と一緒に働きたいという人材を募集しています。

詳しい募集要項等については採用ページをご覧下さい。

©JCB Co., Ltd. 20︎21