本日つくるもの
技術者のスキルと参画可能日を管理する「スキルシート」アプリに、Copilotを使って機能を足します。アプリは各自のPCで動き、ブラウザで確かめます。
1行の依頼から作るアプリ
Session03で、日報や備品の貸出のような小さなアプリを、Copilotへの1行の依頼から作ります。そのあと、仕様のメモを渡して直す進め方と比べます。
Issueから足す機能
Session04で、スキル名の検索や入力チェックのIssueを1つ選びます。受入基準を選んでからCopilotに実装とテストを頼み、レビューの結果を見てマージしてよいかを判断します。
仕様書から作る画面
Session05で、案件ごとの候補を出す機能を、要件と設計とタスクの3つの仕様書から作ります。途中で仕様を変え、仕様書とコードがそろって変わるかを確かめます。
持ち帰る指示とプロンプト
演習で使ったCopilotへの指示、プロンプト9本、Issueのテンプレート、役割を分けたエージェント3本は、そのまま自社のリポジトリに置いて使えます。
本日のゴール
Copilotに頼む仕事の大きさを自分で決め、出てきたコードを受入基準とテストで確かめられるようになることが、この研修のゴールです。
受入基準を書いたIssueのファイル、受入基準ごとのJUnitのテスト、AIのレビューの結果とマージの判断、requirements.mdとdesign.mdとtasks.mdの3つの仕様書です。どれも演習フォルダの中に残り、研修のあとも開いて使えます。
| 場面 | 身に付けること | 確かめ方 |
|---|---|---|
| 依頼の大きさ | 1行の依頼と、仕様のメモを渡す依頼の違いを、自分で作ったアプリで比べる | ブラウザで画面を開き、思った動きになっているかを見る |
| Issue駆動 | あいまいなIssueと受入基準のあるIssueで、Copilotの動きがどう変わるかを知る | 受入基準ごとのテストが成功し、レビューの結果に「満たす」と書かれる |
| 仕様駆動 | 要件と設計とタスクを先に書き、タスクを1つずつ実装させる | tasks.mdのチェックが付き、画面に候補が表示される |
当日の流れ
講義のあとに、必ず各自のPCでの演習が続きます。演習はSession03から05までの3つです。
| 枠 | 中身 | 形式 | 時間 |
|---|---|---|---|
| Session01 | オープニング。本日のゴール、Copilotの起動確認、演習フォルダの確認 | 講義 | [10min] |
| Session02 | 生成AIの最新動向とガバナンス。モデルの更新、開発現場の事例、社外秘コードとレビューの決まり | 講義 | [45min] |
| Session03 | GitHub Copilotとバイブコーディング。コード補完とチャットとエージェントの使い分け、1行の依頼からのアプリ作成 | 演習 | [60min] |
| Session04 | Issue駆動開発。受入基準の書き方、Issueからの実装、JUnitの追加、AIのレビューとマージの判断 | 演習 | [50min] |
| Session05 | Kiro式の仕様駆動開発。requirements.mdとdesign.mdとtasks.mdの作成、タスクごとの実装、仕様の変更 | 演習 | [65min] |
| 閉会 | 質疑応答 | 講義 | [10min] |
ツールと役割分担
コードを書くのはGitHub Copilotで、受講者はCopilotに頼む範囲を決めて、結果を画面とテストで確かめます。
GitHub Copilot
VS Codeのチャットとコード補完
- Issueや仕様書を読んで、コードとテストを書く
- テストを実行し、失敗したら直す
- 変更をレビューし、結果をファイルに書く
Spring Boot と H2
演習フォルダに同梱。インストールは不要
- アプリを各自のPCで起動する
- データはアプリを止めると消える
VS Code
エディターとターミナル
- Copilotが変えた箇所を見比べる
- ターミナルでテストを実行する
当日選ぶモデル
チャットの既定のモデルのまま
選べるモデルは、Copilotの契約と貴社の組織の設定で変わります。演習の手順は、既定のモデルで通る量にしてあります。
事前セットアップ
研修の前日までに、次の5つを済ませてください。手順は事前セットアップガイドにあります。
- JDK 21をインストールする
- VS CodeとJava拡張パックをインストールする
- VS CodeでGitHubにサインインし、Copilotが使えることを確かめる
- 演習フォルダのZIPを展開する
- skillsheetフォルダを開き、テストを実行して6件の成功を確かめる
演習はすべて、展開した演習フォルダの中で行います。リポジトリの作成とクローンは要りません。Copilotを使うために、Copilot有償版のライセンスが割り当てられたGitHubアカウントでVS Codeにサインインします。
ハンズオンの進め方
演習の手順はハンズオンガイドにあります。講師が画面を共有して進めるので、受講者は同じ手順を自分のPCで行います。当日に投影するスライドは、下の「スライドを開く」から見てください。
| 演習 | VS Codeで開くフォルダ | 使うもの |
|---|---|---|
| Session03 | skillsheet、そのあとvibe | コード補完、チャット、vibe/README.mdの依頼の候補、vibe/spec.md |
| Session04 | skillsheet | issues/のIssue、/issue-implementなどのプロンプト4本 |
| Session05 | skillsheet | specs/matching/request.md、/spec-requirementsなどのプロンプト5本 |
Zoomのチャットに、Sessionの番号とSTEPの番号、画面に出ている文言を書いてください。生成が進まないときは、講師が完成例のフォルダを個別にお渡しします。次の演習は別のIssueや機能から始めるので、前の演習が途中でも参加できます。
配布物
演習フォルダは1つのZIPです。お使いのPCに合わせて、どちらか一方をダウンロードしてください。
ボタンで保存できないとき
会社のブラウザの設定によっては、ボタンで保存できないことがあります。その場合は、分けた2つのファイルを保存してから、コマンドで1つにつなぐ手順に切り替えてください。
Windowsの方はpart1とpart2を同じフォルダに保存し、そのフォルダで開いたコマンドプロンプトで次を実行します。
copy /b 1117_handson.zip.part1+1117_handson.zip.part2 1117_handson.zip
Macの方はpart1とpart2を同じフォルダに保存し、そのフォルダのターミナルで次を実行します。
cat 1117_handson_Mac.zip.part1 1117_handson_Mac.zip.part2 > 1117_handson_Mac.zip
どちらも難しい場合は、研修の担当の方を通じて講師にお知らせください。ZIPを別の方法でお渡しします。
ZIPはデスクトップかドキュメントの下に展開してください。展開したあと、フォルダの中の構成は変えずに使います。skillsheetとvibeは、1つ上の階層にあるlibフォルダのjarを使って動くためです。
| フォルダ | 中身 |
|---|---|
skillsheet | スキルシートアプリ、Issue4件、機能の依頼文、Copilotへの指示、プロンプト9本、エージェント3本 |
vibe | Session03でアプリを作るための空のフォルダ。設定ファイルと依頼の候補だけが入っている |
lib | Spring Boot 4.1.2、H2、JUnit 6などのjar98本。Mavenの代わりに使う |
README.md | フォルダの構成と、起動とテストのコマンド |
研修のあとに
skillsheet/.githubフォルダの中身は、貴社のリポジトリの.githubフォルダにそのまま置いて使えます。
| ファイル | リポジトリに置いたときの働き | 直すところ |
|---|---|---|
copilot-instructions.md | Copilotが毎回読むきまり | ビルドのコマンド、使うライブラリ、パッケージの構成 |
ISSUE_TEMPLATE/feature.md | GitHubでIssueを作るときのテンプレート | 確かめ方の欄のコマンド |
pull_request_template.md | PRの説明文の型 | なし |
prompts/*.prompt.md | チャットで「/」に続けて呼び出すプロンプト | テストのコマンドと、既存のテストクラスの名前 |
agents/*.agent.md | 仕様担当、実装担当、レビュー担当に分けたエージェント | なし |
リポジトリでは、GitHub上のIssueからCopilotに実装を頼み、PRのレビューをCopilotに頼む流れも使えます。研修では講師が実演し、受講者は各自のPCで同じ判断の手順を通します。
FAQ
社内のネットワークの制限で、Mavenが使えないかもしれません
演習ではMavenを使いません。Spring Bootなどのjarは演習フォルダのlibに入っていて、java tools/Build.java runのコマンドだけで起動とテストができます。Copilotはインターネット経由でGitHubにつながる必要があるので、VS CodeからGitHubにサインインできるかを事前に確かめてください。
GitHubのリポジトリを作る必要はありますか
ありません。演習はすべて、展開した演習フォルダの中で行います。GitHubのアカウントは、Copilotを使うためのサインインにだけ使います。
Copilotの無料版でも受講できますか
有償版のライセンスをご用意ください。無料版はチャットとコード補完の回数に上限があり、演習の途中で使えなくなるおそれがあります。ライセンスが割り当てられているかは、事前セットアップガイドのSTEP 3で確かめられます。
「javac が見つかりません」と表示されます
JREだけが入っていて、JDKが入っていない状態です。事前セットアップガイドのSTEP 1でJDK 21をインストールし、VS Codeを開き直してから、もう一度コマンドを実行してください。
「8080番ポートを別のアプリが使っています」と表示されます
前に起動したアプリが動いたままです。起動したターミナルを開いてCtrl+Cを押し、アプリを止めてから、もう一度起動してください。ターミナルが見つからないときは、VS Codeを閉じて開き直すと止まります。
Copilotがmvnやgradleのコマンドを実行しようとします
コマンドの実行を許可する前に、チャットで「tools/Build.javaを使ってください」と送ってください。演習フォルダの.github/copilot-instructions.mdにも同じきまりを書いてありますが、モデルによっては読み落とすことがあります。
テストは成功したのに、画面でエラーが出ます
テストが、画面での操作と同じ流れを確かめていない状態です。エラーの画面に出た文言と、起動したターミナルに出たエラーをCopilotに渡して直してもらい、その流れを確かめるテストも足してもらってください。Session03ではこの状態が実際に起きた例を紹介します。
業務で書いている社外秘のコードを、Copilotに入力してよいですか
貴社の利用ルールに従ってください。GitHubは、Copilot BusinessとCopilot Enterpriseで入力したコードとプロンプトを、モデルの学習に使わないとしています。個人向けのFree、Pro、Pro+は、2026年4月24日から、利用者が止めない限り学習に使う方針に変わりました(Help Net Security、2026年3月26日)。研修では、会社から割り当てられたアカウントを使ってください。ルールの作り方と、レビューを必ず人が行う範囲の決め方は、Session02で扱います。
演習の途中で、元の状態に戻したくなりました
直前の変更だけを戻すときは、チャットで変更を元に戻す操作を使ってください。演習の最初から始め直すときは、ZIPを別のフォルダに展開し直して、そちらを開きます。
