📝

GitHub Copilotで1ヶ月に100個のドキュメントを作成した話

に公開

はじめに

開発において「ドキュメントを書く時間がない」「実装を優先してドキュメントは後回し」という経験はないでしょうか?

筆者も以前はそうでした。しかし、GitHub Copilotを活用したドキュメント作成プロセスを導入したところ、1ヶ月で100個以上のドキュメントを作成し、開発効率が劇的に向上しました。

本記事では、その取り組みの内容と効果を紹介します。

なお、GitHub Copilotの社内導入は2025年10月頭。最初は試行錯誤しながら使いどころを探っており、その様子は「職場でのCopilot活用の始め方」にまとめています。その後はコードレビュー支援にも活用し、変更概要の俯瞰・観点整理に役立てました。

前提条件

  • GitHub Copilotは会社単位で契約しており、外部に情報が流れずAIの学習に使われない環境で使用
  • ドキュメント作成は筆者1人で実施
  • 対象期間: 2025年10月末〜11月末(約1ヶ月)

ドキュメント作成の変遷

Phase 0: 導入と模索(2025年10月前半)

Phase 1: 初期導入期(2025年10月末)

大規模なリファクタリングに着手する際、影響範囲の把握が課題となりました。そこで、GitHub Copilotを使って以下の2段階アプローチを確立しました。

  1. 調査書: 影響範囲、考慮事項、実装順序を整理
  2. 計画書: 実装意図、仕様、修正箇所を詳細化

この時点で約10ファイルのドキュメントを作成し、標準フォーマットを確立しました。

Phase 2: 拡大・定着期(2025年11月前半)

導入期の成功を受け、あらゆるタスクでドキュメント作成プロセスを採用しました。

  • より多くの機能実装でプロセスを適用
  • サブタスクごとに詳細ドキュメントを作成
  • 標準化された手順の定着

この期間だけで50ファイル以上のドキュメントを生成しました。

Phase 3: 成熟期(2025年11月後半〜)

ドキュメント作成が日常化し、以下のような発展的な活用も始めました。

  • PR分析や職務経歴書などのメタドキュメント作成
  • 仕様書の体系化
  • ドキュメントのバージョン管理

11月後半だけで40ファイル以上を作成し、月間で10月の約9倍のドキュメントを生成しました。

どのような実装をドキュメント化していたのか

作成したドキュメントは以下のカテゴリに分類されます。

A. UI/UXの大規模リファクタリング

  • 旧UI技術から新UI技術への移行
  • アーキテクチャパターンの刷新
  • 画面の全面リアーキテクチャ

B. データ連携・状態管理の実装

  • データ受け渡し方式の比較検討
  • APIバージョン対応
  • 表示・管理ロジックの刷新

C. パフォーマンス改善

  • 画面のパフォーマンス調査・改善
  • メモリ最適化

D. 細かい機能追加・修正

  • 国際化対応
  • UI部品の機能追加
  • データ永続化

ドキュメントの標準フォーマット

全てのドキュメントは以下の構造を基本としています。

このフォーマットは、社内の勉強会で他のエンジニアから教えてもらったものをベースに、GitHub Copilotを活用して効率的に生成できるように調整しました。

調査書

  • 影響範囲
  • 考慮事項
  • 実装順序

計画書

  • 実装意図
  • 仕様
  • 影響範囲
  • 修正箇所
  • 実装順序
  • 注意事項

目的: 「初めてジョインしたエンジニアでも、このドキュメントを読めばすぐに実装を始められる」レベルの詳細度を維持

GitHub Copilotとの協働プロセス

実際のドキュメント作成フローは以下の通りです。

ドキュメント作成ワークフロー

  1. Copilotに背景情報を提供

    • 実装したい機能の概要
    • 既存コードの関連箇所
    • 懸念事項や制約条件
  2. 調査書の生成を依頼

    • Copilotが影響範囲を分析
    • 考慮事項をリストアップ
    • 実装順序を提案
  3. レビューと修正

    • 生成された内容を確認
    • 不足箇所を追加
    • 実装の実現可能性を検証
  4. 計画書の生成

    • 調査書をベースに詳細化
    • 具体的な修正箇所を特定
    • 注意事項を明記
  5. 実装中の更新

    • 実装しながら気づいた点を追記
    • バージョン管理で変更履歴を保持

実際に使用したプロンプト例

ここでは、実際にドキュメント作成で使用したプロンプトの一部を紹介します。

調査書生成のプロンプト

この機能を実装するにあたり、調査書を作成してください。

【実装内容】
- 画面Aの表示ロジックをMVVMパターンにリファクタリング
- 既存のView直接操作からViewModelを介した実装に変更

【既存コード】
- `screens/ScreenA.kt` (約500行)
- `utils/DataHelper.kt` (データ取得ロジック)

【調査項目】
1. 影響範囲の特定(関連ファイル、依存関係)
2. 考慮すべきリスク(既存の動作への影響、パフォーマンス)
3. 実装順序の提案

計画書生成のプロンプト

以下の調査書をベースに、実装計画書を作成してください。

[調査書の内容を貼り付け]

【計画書に含めるべき項目】
1. 実装の意図と目的
2. 詳細な仕様
3. 修正が必要なファイルと箇所
4. 実装順序(段階的なステップ)
5. テスト項目
6. 注意事項とリスク対策

バグ調査のプロンプト

以下のバグについて、原因の仮説と検証方法をリストアップしてください。

【症状】
- 画面Bでデータが表示されない
- エラーログには何も出力されない

【環境】
- 特定のAPIバージョン(v2.0)でのみ発生
- v1.0では正常動作

【関連コード】
[コードを貼り付け]

【求める内容】
1. 考えられる原因の仮説(3〜5個)
2. 各仮説の検証方法
3. 優先的に調査すべき箇所

このように、具体的な情報を含めたプロンプトを使うことで、Copilotからより精度の高い提案を得られます。

試行錯誤が多かった場面

ドキュメントの変更履歴から、以下のような場面で試行錯誤が多く発生していました。

パターン1: 複数の実装方式の比較検討

データ受け渡し方式など、複数のアプローチが考えられる場合:

  • 標準的な方式 vs 永続化方式
  • メリット・デメリットの客観的比較
  • 最終的な意思決定プロセスの記録

Copilotに各方式の比較表を生成させ、実装する時の比較材料としました。

パターン2: バグ原因の仮説検証

複雑なバグの原因特定では:

  • 複数の仮説を立案
  • それぞれの検証方法を記録
  • 実装影響調査の結果を追記

Copilotが仮説を整理し、検証手順を提案してくれることで、効率的にバグを特定できました。
実際に11月中に起票されたバグを即日修正してプルリクエストを出すことができました。

パターン3: API互換性対応の複雑さ

新パラメータ追加時の互換性対応では:

  • 旧バージョンとの互換性要件を整理
  • 実装計画書を複数バージョン作成
  • 段階的な移行計画を文書化

パターン4: エラー解消の反復調査

難解なエラーに対しては:

  • 段階的に理解を深化
  • 会話サマリを作成
  • 最終的な解決策を完全版として記録

ドキュメント作成で得られた効果

1. 実装前の意思決定の質向上

複数の実装方式を比較検討し、メリット・デメリットを明文化することで、既存実装との整合性を事前に検証できるようになりました。

実装後の手戻りが大幅に減少しました。

2. 影響範囲の明確化による変更漏れ防止

  • 層ごとの網羅的なリスト作成
  • 関連ファイルの事前特定
  • テスト対象の明確化

特に大規模リファクタリングでは、ドキュメントがチェックリストとして機能し、変更漏れを防ぎました。

3. 複雑な問題の分解と管理

大きなタスクをサブタスクに分解し、それぞれにドキュメントを作成することで:

  • 進捗と残課題を可視化
  • 並行作業の調整が容易に
  • 中断・再開がスムーズに

4. バグ原因特定の効率化

複数の仮説を並行検証し、過去の実装との比較調査を記録することで、類似のバグに遭遇した際の参照資料となりました。

5. ナレッジの蓄積と共有

仕様書・設計書を体系化することで:

  • チーム内の知識共有が促進
  • 過去の意思決定の背景が追跡可能に

実際、急遽仕事を休まなければならなくなったハプニングがあった際も、作成していたドキュメントのおかげで同じチームにいたエンジニアに開発中の機能を引き継ぎ、代打で開発を進めてもらうことができました。

6. 思考プロセスの可視化

「調査→計画→実装」という標準プロセスを運用することで、実装前の設計品質をチェックする習慣が定着しました。

7. PR作成の効率化

ドキュメントがPR説明の自動生成ベースとなり:

  • レビュワーへの変更意図の伝達が明確に
  • レビュー時間の短縮
  • レビューコメントの質向上

8. 実装履歴の振り返り

実装履歴を体系的に整理することで:

  • 自身のスキルセットの可視化
  • 技術的成長の記録
  • 過去の実装パターンの参照

定量的な成果

ドキュメント作成の実績

  • ドキュメント総数: 100個以上のMarkdownファイル
  • 推定総行数: 10万行以上
  • 月間生成量: 10月の約9倍(11月)
  • 作成時間: ドキュメント1件あたり平均15〜30分(Copilot活用により従来の1/3〜1/5に短縮)

ドキュメント作成の割合

Before/After比較

導入前後での具体的な変化を数値で比較します。

導入前後の効果比較

項目 ドキュメント導入前 導入後 効果
影響範囲調査時間 2〜3時間 30分 83%削減
変更漏れ発生 月2件 月1件 約50%削減
PR作成時間 30〜40分 10〜15分 60%削減
バグ修正のリードタイム 2〜3日 即日〜1日 50%以上短縮
レビュー時のQ&A 往復3〜5回 往復1〜2回 60%削減

※カウント基準注記: 本記事での「ドキュメント」はMarkdownファイルを指し、テンプレートやメモ等の補助資料も含みます。推定行数はファイル行数合計の概算値です。

課題と今後の展望

現状の課題

  1. ドキュメント量の増大

    • 検索性の低下
    • メンテナンスコストの増加
  2. バージョン管理の非統一

    • 一部のドキュメントでバージョン管理が未整備
    • 更新履歴の追跡が困難な場合がある
  3. ドキュメント間の参照関係

    • 関連ドキュメントへのリンクが不足
    • 体系的な索引が未整備

今後の展望

  1. テンプレートの洗練

    • ドキュメントタイプごとのテンプレート整備
    • 必須項目のチェックリスト化
  2. AIとの協働プロセスの最適化

    • プロンプトのパターン化
    • 生成品質の向上
  3. ナレッジベースの構築

    • ドキュメントのカテゴリ分類
    • 全文検索システムの導入
    • タグ付けによる関連付け

今すぐ始められる3ステップ

ここまで読んで「やってみたい」と思った方向けに、今日から始められる実践ガイドを用意しました。

Step 1: 小さく始める(所要時間: 30分)

  1. 次の実装タスクを1つ選ぶ

    • 小規模な機能追加やバグ修正から始めるのがおすすめ
    • いきなり大規模リファクタリングは避ける
  2. GitHub Copilot Chatを開く

    • VS Codeのサイドバーから起動
    • または Cmd/Ctrl + I でインラインチャットを使用
  3. 「この機能の実装計画書を作成してください」と依頼

    • 実装内容、既存コード、懸念事項を含める
    • 生成された内容を確認・修正
  4. Markdownファイルとして保存

    • プロジェクト内に docs/ フォルダを作成
    • ファイル名は [日付]_[機能名].md の形式がおすすめ

Step 2: テンプレートを作成(所要時間: 1時間)

Step 1を何度か繰り返したら、自分なりのテンプレートを作成しましょう。

# [機能名] 実装計画書

**作成日**: YYYY-MM-DD
**担当者**: [名前]

## 1. 実装の背景と目的
- なぜこの実装が必要か
- 期待される効果

## 2. 影響範囲
- 修正が必要なファイル
- 関連する機能

## 3. 実装方針
- 採用するアプローチ
- 考慮したが採用しなかった方式

## 4. 実装手順
1. ステップ1
2. ステップ2
3. ...

## 5. テスト項目
- [ ] テスト1
- [ ] テスト2

## 6. 注意事項・リスク
- 注意すべきポイント

このテンプレートを .github/IMPLEMENTATION_TEMPLATE.md として保存し、チームで共有しましょう。

Step 3: 習慣化する(1週間)

  • 毎日1つのタスクでドキュメント作成を実践

    • 最初は時間がかかっても気にしない
    • 3〜5回繰り返すとスピードアップ
  • 1週間後に振り返り

    • どのくらい時間が短縮されたか
    • ドキュメントが役に立った場面は?
    • テンプレートの改善点は?
  • チームに共有

    • 効果を実感したらチームメンバーに紹介
    • 一緒に改善していく

よくある質問(FAQ)

Q1: ドキュメント作成に時間がかかりすぎませんか?

A: 最初は30分〜1時間かかるかもしれませんが、慣れると15〜30分で作成できます。また、実装時の手戻りや影響範囲調査の時間が大幅に減るため、トータルでは時間短縮になります。

実際、筆者の場合は影響範囲調査が2〜3時間から30分に短縮され、正味1.5〜2.5時間の削減効果がありました。

Q2: 会社でGitHub Copilotが使えません。他のAIでもできますか?

A: はい、できます。以下のツールで同様のプロセスを実施できます:

ただし、GitHub Copilotの利点は「コードベースとの統合」です。他のツールを使う場合は、コードスニペットを明示的に貼り付ける必要があります。

それと、社外の情報は隠して利用してください。学習に使用しないと明記されているものでない場合、社外秘の情報も学習に利用される場合があります。

Q3: ドキュメントが古くなったらどうしますか?

A: 以下のルールで運用しています:

  1. 実装変更時に必ず更新

    • PRのチェックリストに「関連ドキュメントの更新」を追加
  2. 月次でレビュー

    • 更新されていないドキュメントをアーカイブフォルダに移動
    • docs/archive/YYYY-MM/ のような構造
  3. 「最終更新日」を明記

    • ドキュメントの先頭に記載
    • 3ヶ月以上更新されていないものは要レビュー

Q4: チームメンバーに導入を提案したいのですが、どう説得すれば良いですか?

A: 以下のアプローチが効果的です:

  1. まず自分で実践して成果を示す

    • 「このドキュメントがあったから○○が早くできた」という具体例
  2. 小さく始める

    • 全員に強制せず、興味がある人から
    • 成功事例を積み重ねる
  3. レビュー時の負担軽減を強調

    • 「このドキュメントがあるからレビューが楽」
    • レビュワーのメリットを伝える

Q5: どんなタスクでもドキュメントを作るべきですか?

A: いいえ、全てのタスクで必要ではありません。以下のような場合にドキュメント作成を推奨します:

ドキュメント作成が必要:

  • 影響範囲が広い変更
  • 複数の実装方式を検討する必要がある場合
  • チームメンバーが関わる可能性が高い機能
  • 複雑なバグ修正

ドキュメント不要:

  • タイポ修正
  • 1ファイルのみの軽微な変更
  • 実験的なコード(後で削除する前提)

目安としては、PRの説明に5分以上かかりそうなら、ドキュメントを作ると良いでしょう。

Q6: 失敗した例はありますか?

A: あります。初期によくあった失敗例:

  1. 詳細すぎて誰も読まない

    • 対策: 「概要→詳細」の階層構造にして、必要な部分だけ読めるようにした
  2. Copilotの提案をそのまま鵜呑み

    • 対策: 必ずコードと照らし合わせて検証する習慣をつけた
  3. ドキュメントの場所がバラバラ

    • 対策: docs/ フォルダに統一し、READMEに索引を作成

失敗から学んで改善していくプロセスも、ドキュメントに記録しています。

まとめ

GitHub Copilotを活用したドキュメント作成プロセスは、開発における質的転換点となりました。

1ヶ月で100ファイル以上、推定10万行以上のドキュメントを作成し、以下の効果を実感しています。

  • 実装の品質向上
  • ナレッジの蓄積
  • チーム内共有の基盤確立
  • 実装履歴の振り返りと技術的成長の可視化

「ドキュメントを書く時間がない」から「ドキュメントがあるから実装が速い」へ。

AIを活用することで、ドキュメント作成は負担ではなく、開発効率を高める強力な武器となりました。

皆さんもぜひ、GitHub Copilotを活用したドキュメント作成プロセスを試してみてください。

Copilot関連記事

  • Copilot導入初期の試行錯誤(使いどころの模索)

https://zenn.dev/j____takumi/articles/how_to_use_copilot_in_my_job

  • コードレビューでの活用(変更概要の俯瞰・観点整理

https://zenn.dev/j____takumi/articles/get_git_change_log_overview_with_github_copilot

  • 個人ブログの添削にCopilotを活用(生成するだけでなく、改善にも利用)

https://zenn.dev/j____takumi/articles/use_copilot_edit_articles

Discussion