GitHub Copilot Workspace 速理解:仕様 → タスク分解 →PR までの“自動開発”体験
GitHub Copilot Workspace は、自然言語で記述した要求をもとに、AI が仕様書を生成し、タスクへと分解して、コード実装から Pull Request(PR)の作成まで一貫した開発フローを支援してくれる、まさに"自動開発"を体験できる革新的なツールです。
本記事では、このツールを最大限に活用するため、背景や課題から具体的な操作手順まで、初心者にもわかりやすく解説します。
背景
GitHub Copilot の進化
GitHub Copilot は当初、コード補完ツールとして登場しました。開発者が書いているコードの文脈を読み取り、次に書くべきコードを提案するという、開発者の「手元」を支援する役割です。
その後、Copilot Chat という会話形式で質問や指示ができる機能が追加され、コードの説明やリファクタリング案の提案など、開発者の「思考」にも寄り添うようになりました。
こうした進化を経て、2024 年に発表されたのが GitHub Copilot Workspace です。
下図は、GitHub Copilot の進化を段階的に示したものです。
mermaidflowchart LR
phase1["フェーズ1<br/>コード補完"]
phase2["フェーズ2<br/>Copilot Chat<br/>会話形式"]
phase3["フェーズ3<br/>Copilot Workspace<br/>タスク全体の自動化"]
phase1 -->|進化| phase2
phase2 -->|進化| phase3
Copilot Workspace は、単なるコード補完や部分的なサポートを超え、Issue を起点にした開発タスク全体を AI がリードする、新しいパラダイムを実現するものです。
これまでの開発フロー
従来の開発では、以下のような手順を人間が主導して行う必要がありました。
| # | ステップ | 説明 |
|---|---|---|
| 1 | Issue 作成 | 要求や不具合を Issue にまとめる |
| 2 | 仕様策定 | Issue を読み解き、変更内容を言語化 |
| 3 | タスク分割 | 修正すべきファイルや処理を洗い出す |
| 4 | コード実装 | 実際にコードを書く |
| 5 | PR 作成 | コミットメッセージや説明文を書く |
この流れでは、各ステップで人間が判断・記述する作業が多く、時間やスキルが求められます。
Copilot Workspace は、これら一連のプロセスを自動化し、開発者は自然言語で要求を伝えるだけで、仕様書・タスク・コード・PR が自動生成されるという、まったく新しい開発体験を提供します。
課題
従来の開発プロセスの課題
従来の開発プロセスには、いくつかの典型的な課題が存在します。
仕様策定の負担
Issue に記載された内容を正確に理解し、それを技術的な仕様書へと落とし込むには、ドメイン知識やコードベースへの理解が必要です。特に大規模リポジトリでは、どのファイルが影響を受けるかの把握だけでも時間がかかります。
タスクの分割ミス
適切にタスクを分割できなければ、実装が進んでから「この部分も修正が必要だった」と気づくことになり、手戻りが発生します。
コード実装の時間
実装には集中力と時間が必要であり、特に複数ファイルにまたがる変更の場合、ファイル間の整合性を保つのが困難です。
PR 作成の煩雑さ
コミットメッセージや PR の説明文を丁寧に書くには、変更内容を改めて整理する必要があり、作業が終わった後のこのステップは心理的にも負担となります。
下図は、従来の開発フローにおける課題を示したものです。
mermaidflowchart TD
issue["Issue"]
spec["仕様策定"]
task["タスク分割"]
code["コード実装"]
pr["PR 作成"]
issue --> spec
spec --> task
task --> code
code --> pr
spec -.->|課題1<br/>ドメイン知識が必要| burden1["負担"]
task -.->|課題2<br/>分割ミスで手戻り| burden2["手戻り"]
code -.->|課題3<br/>時間と集中力が必要| burden3["時間消費"]
pr -.->|課題4<br/>説明文の整理が煩雑| burden4["心理的負担"]
これらの課題を解決するために、AI が開発プロセス全体を支援し、人間は確認と判断に専念するという新しいアプローチが求められていました。
解決策
GitHub Copilot Workspace の登場
GitHub Copilot Workspace は、Issue を起点に、仕様書・タスク分解・コード実装・PR 作成までを AI が自動で行う開発環境です。
開発者は自然言語で「何をしたいか」を Issue に記述するだけで、Copilot が以下のプロセスを自動実行してくれます。
| # | ステップ | Copilot Workspace の役割 |
|---|---|---|
| 1 | Specification | Issue をもとに仕様書を生成 |
| 2 | Plan | 修正すべきファイルと変更内容を列挙 |
| 3 | Implementation | コードを自動生成 |
| 4 | PR 作成 | コミットメッセージと説明文を自動作成 |
仕様書の自動生成(Specification)
Copilot Workspace は、Issue に記載された内容とリポジトリの現状を分析し、以下の 2 つの仕様を自然言語で提示します。
- Current(現状の動作): 現在のコードベースがどのように動作しているか
- Proposed(提案される変更): どのように変更すべきか
この仕様書は、開発者が編集可能であり、AI とのチャットで追加や修正を行うことができます。
仕様書生成の流れ
mermaidflowchart LR
issue["Issue"]
repo["リポジトリの<br/>コードベース"]
current["Current<br/>現状の動作"]
proposed["Proposed<br/>提案される変更"]
issue --> current
repo --> current
current --> proposed
タスク分解(Plan)
仕様書が確定すると、Copilot は次に Plan(実装計画) を生成します。
Plan では、以下のような情報が明示されます。
- 変更が必要なファイル一覧
- 各ファイルで行うべき具体的な変更内容(箇条書き)
- ファイルの作成・編集・削除・移動などの操作種別
開発者はこの Plan を確認し、必要に応じて調整できます。
Plan 生成の例
mermaidflowchart TD
spec["仕様書<br/>(Specification)"]
plan["実装計画<br/>(Plan)"]
file1["src/app.ts<br/>- API 呼び出しを追加<br/>- エラーハンドリング追加"]
file2["src/types.ts<br/>- 新しい型定義を作成"]
file3["README.md<br/>- 使い方を更新"]
spec --> plan
plan --> file1
plan --> file2
plan --> file3
コード実装(Implementation)
Plan が確定したら、Copilot がファイルごとにコードを自動生成します。
生成されたコードは、差分(diff)形式で表示され、開発者は以下のことができます。
- コードを直接編集
- AI にチャットで修正を依頼
- GitHub Codespace で開き、本格的な編集を行う
実装が完了したら、内蔵のターミナルでビルドやテストを実行し、動作を確認できます。
コード生成と確認の流れ
mermaidflowchart LR
plan_node["Plan"]
impl["コード生成<br/>(Implementation)"]
diff["差分表示<br/>(Diff)"]
edit["編集・修正"]
test["ターミナルで<br/>動作確認"]
done["完了"]
plan_node --> impl
impl --> diff
diff --> edit
edit --> test
test --> done
Pull Request の自動作成
最後に、Copilot Workspace は コミットメッセージと PR の説明文を自動生成し、ボタン一つで PR を作成できます。
開発者が手動で説明文を書く手間が省け、一貫性のある記述が保たれます。
図で理解できる要点
- Copilot Workspace は Issue → 仕様書 → タスク → コード → PR までを一貫して自動化
- 各ステップで人間が確認・調整可能
- AI との対話でリアルタイムに修正できる
具体例
ここでは、実際に GitHub Copilot Workspace を使用して、簡単な Web アプリケーションを実装する流れを、ステップごとに見ていきます。
前提条件
- GitHub Copilot の有料サブスクリプション(Individual / Business / Enterprise)が必要
- リポジトリには最低限
README.mdなどのファイルが必要(空のリポジトリではエラーになる)
ステップ 1:Issue の作成
まず、GitHub リポジトリに Issue を作成します。
以下は、簡単な天気アプリを作る Issue の例です。
markdown# タイトル
React + Vite で OpenWeather API を使った天気アプリを作成
# 内容
- OpenWeather API を使って、指定した都市の天気情報を取得する
- 都市名を入力するフォームを作る
- 取得した天気情報を画面に表示する
- エラーハンドリングを実装する
このように、やりたいことを自然言語で記述するだけで OK です。
ステップ 2:Copilot Workspace の起動
Issue の画面に表示される 「Open in Workspace」 ボタンをクリックします。
すると、Copilot Workspace が起動し、AI が Issue の内容を解析し始めます。
ステップ 3:仕様書の確認と調整
Copilot は、Issue とリポジトリの内容をもとに、Specification(仕様書) を生成します。
生成された仕様書は、以下のような構成になっています。
Current(現状の動作)
markdown- 現在、リポジトリには基本的な React + Vite のテンプレートのみが存在する
- API 連携は実装されていない
Proposed(提案される変更)
markdown- OpenWeather API を呼び出す関数を作成
- 都市名を入力するフォームコンポーネントを追加
- 天気情報を表示するコンポーネントを追加
- エラー時のメッセージ表示を実装
もし内容を調整したい場合は、直接編集するか、AI とチャットで「エラーメッセージは英語ではなく日本語にしてください」などと指示できます。
ステップ 4:Plan(実装計画)の確認
仕様書が確定すると、Copilot は Plan(実装計画) を生成します。
Plan には、以下のような情報が含まれます。
| # | ファイル | 操作 | 変更内容 |
|---|---|---|---|
| 1 | src/api/weather.ts | 作成 | OpenWeather API を呼び出す関数 |
| 2 | src/components/WeatherForm.tsx | 作成 | 都市名入力フォーム |
| 3 | src/components/WeatherDisplay.tsx | 作成 | 天気情報表示コンポーネント |
| 4 | src/App.tsx | 編集 | フォームと表示を統合 |
| 5 | .env.example | 作成 | API キーの設定例 |
この Plan を確認し、問題なければ次のステップへ進みます。
Plan 生成の流れを図解
mermaidflowchart TD
spec_step["仕様書確定"]
plan_gen["Plan 生成"]
file_list["変更ファイル一覧"]
action_list["各ファイルの<br/>変更内容"]
spec_step --> plan_gen
plan_gen --> file_list
plan_gen --> action_list
ステップ 5:コード生成と確認
Plan が確定すると、Copilot がファイルごとにコードを自動生成します。
生成されたコードは、差分形式で表示されます。
例:src/api/weather.ts
生成されたコードの一部を示します。
typescript// OpenWeather API を呼び出す関数
export async function fetchWeather(
city: string
): Promise<WeatherData> {
const apiKey = import.meta.env.VITE_OPENWEATHER_API_KEY;
const url = `https://api.openweathermap.org/data/2.5/weather?q=${city}&appid=${apiKey}&units=metric&lang=ja`;
const response = await fetch(url);
if (!response.ok) {
throw new Error('天気情報の取得に失敗しました');
}
const data = await response.json();
return data;
}
このコードは、API キーを環境変数から取得し、指定した都市の天気情報を取得する関数です。エラー時には日本語のエラーメッセージを投げるようになっています。
もしコードに問題があれば、AI にチャットで「API キーが未設定の場合のエラーメッセージを追加してください」などと指示できます。
例:src/components/WeatherForm.tsx
typescriptimport { useState } from 'react';
// 都市名入力フォームコンポーネント
export function WeatherForm({
onSubmit,
}: {
onSubmit: (city: string) => void;
}) {
const [city, setCity] = useState('');
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault();
if (city.trim()) {
onSubmit(city);
}
};
return (
<form onSubmit={handleSubmit}>
<input
type='text'
value={city}
onChange={(e) => setCity(e.target.value)}
placeholder='都市名を入力'
/>
<button type='submit'>天気を取得</button>
</form>
);
}
このコンポーネントは、ユーザーが都市名を入力して送信できるシンプルなフォームです。
ステップ 6:動作確認
Copilot Workspace には、内蔵のターミナルがあり、その場でビルドやテストを実行できます。
bashyarn dev
このコマンドを実行すると、開発サーバーが起動し、ブラウザで動作を確認できます。
もしエラーが発生した場合は、AI にチャットで「シンタックスエラーを修正してください」と指示すると、Plan に修正が追加され、コードが再生成されます。
ステップ 7:Pull Request の作成
動作確認が完了したら、「Create Pull Request」 ボタンをクリックします。
Copilot が以下の内容を自動生成します。
- コミットメッセージ
- PR のタイトル
- PR の説明文
生成された PR の説明文の例
markdown# 変更内容
- OpenWeather API を使った天気情報取得機能を追加
- 都市名入力フォームと天気表示コンポーネントを実装
- エラーハンドリングを追加
# テスト
- ローカル環境で動作確認済み
- API キーが未設定の場合のエラーメッセージ表示を確認
このように、一貫性のある説明文が自動生成されるため、手動で書く手間が省けます。
開発フロー全体の図解
以下は、Issue 作成から PR 作成までの全体フローを示した図です。
mermaidflowchart TD
issue_create["Issue 作成"]
workspace_open["Workspace 起動"]
spec_gen["仕様書生成"]
spec_review["仕様書確認・調整"]
plan_gen_step["Plan 生成"]
plan_review["Plan 確認"]
code_gen["コード生成"]
code_review["コード確認・修正"]
test_run["動作確認"]
pr_create["PR 作成"]
issue_create --> workspace_open
workspace_open --> spec_gen
spec_gen --> spec_review
spec_review --> plan_gen_step
plan_gen_step --> plan_review
plan_review --> code_gen
code_gen --> code_review
code_review --> test_run
test_run --> pr_create
図で理解できる ��� 点
- Issue を起点に、すべてのステップが連続して実行される
- 各ステップで人間が確認・調整可能
- AI とのチャットでリアルタイムに修正できる
まとめ
GitHub Copilot Workspace は、Issue を起点に、仕様書・タスク分解・コード実装・PR 作成までを AI が自動で行う、まさに"自動開発"を体験できる革新的なツールです。
従来の開発プロセスでは、仕様策定やタスク分割、コード実装、PR 作成といった各ステップで人間が主導して作業を行う必要がありましたが、Copilot Workspace では、開発者は自然言語で要求を伝えるだけで、これらの作業を AI がサポートしてくれます。
本記事で紹介した具体例のように、React + Vite での天気アプリ開発では、Issue に「やりたいこと」を記述するだけで、仕様書・Plan・コードが自動生成され、最終的に PR まで作成されました。
もちろん、生成されたコードをそのまま使えるわけではなく、人間による確認と調整は依然として重要ですが、Copilot Workspace は開発のスピードと効率を大幅に向上させる強力なツールであることは間違いありません。
これからの開発では、AI との協働がますます重要になっていくでしょう。Copilot Workspace を活用し、より創造的で価値の高い開発に集中できる環境を手に入れてください。
関連リンク
articleGitHub Copilot Workspace 速理解:仕様 → タスク分解 →PR までの“自動開発”体験
articleGitHub Copilot 利用可視化ダッシュボード:受容率/却下率/生成差分を KPI 化
articleGitHub Copilot 前提のコーディング設計:コメント駆動 → テスト → 実装の最短ループ
articleGitHub Copilot Chat コマンド速見表:ファイル/選択範囲/ターミナル指示の定型
articleGitHub Copilot を macOS で最短導入:VS Code・Neovim・JetBrains の横断設定
articleGitHub Copilot Enterprise/Business/Individual の違いを機能・価格・運用で比較
articleGitHub Copilot Workspace 速理解:仕様 → タスク分解 →PR までの“自動開発”体験
articleMySQL InnoDB 内部構造入門:Buffer Pool/Undo/Redo を俯瞰
articleMotion(旧 Framer Motion)で学ぶ物理ベースアニメ:バネ定数・減衰・質量の直感入門
articleJavaScript Web Animations API:滑らかに動く UI を設計するための基本と実践
articleGitHub Actions コンテキスト辞典:github/env/runner/secrets の使い分け最速理解
articlehtmx で管理画面 CRUD を 10 倍速に:一覧・検索・編集・バルク操作テンプレ
blogiPhone 17シリーズの発表!全モデルiPhone 16から進化したポイントを見やすく整理
blogGoogleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
blog【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
blogGoogleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
blogPixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
blogフロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
review今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
reviewついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
review愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
review週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
review新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
review科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来