BEMAロゴ

エンジニアの
成長を支援する
技術メディア

【開催レポート】AI駆動開発研修:『GitHub CopilotとxDD』で築く、生成AI時代の「問いを立てる力」と新しい開発スタイル

はじめに

こんにちは。株式会社メンバーズの田邉です。

AIがコード生成の大部分を担う現代において、エンジニアの役割は「コーディング」から「問いを立て、設計し、検証する」パラダイムへと急速にシフトしています。この新たな時代に対応できるよう、株式会社GalirageOpen in new tabの協力のもと、弊社エンジニア16名を対象とした全4回のAI駆動開発研修を実施しました。
本研修では「AIとの効率的な協働方法を理解し、AI駆動開発をクライアントに提案できる実践力を身につけること」を目的にしています。

本記事では、研修で焦点となった「問いを立てる力」「リスク管理」「CHOP/DDD/クリーンアーキテクチャ」「TDD/BDD/SDD」といった主要テーマの内容、およびこれらを実際の業務で活用する際の具体的な課題についてお伝えします。

出典:研修内で使用したスライド資料

1.研修全体の流れ:マインドセットから実践的な手法へ

研修は全4回で、AIとの「付き合い方」と「技術」の両輪を学びました。

  • 前半(Day1・2)
    AIとの協働におけるマインドセットの体得とリスク管理について。

  • 後半(Day3・4)
    保守性の高いシステムを構築するための設計手法とテスト駆動開発などの実践的な開発アプローチについて。
    参加者は全部で16名。様々なクライアント先で技術支援をしているメンバーが参加しました。

2. Day1〜4 ピックアップ:新しいスキルとマインドセット

各回の内容をピックアップしていきたいと思います。

Day1:AI時代の「問いを立てる力」とプロンプト設計

AIがコード生成の大部分を担う時代において、エンジニアに求められる能力についてグループごとにディスカッションが行われました。各グループからは以下の能力が重要であると共有されました。

  • プロダクトの背景を正確に言語化し、AIに的確に指示を出す能力(言語化能力)

  • AIの出力を鵜呑みにせず評価・判断する能力(批判的思考)

その後、質の高いアウトプットを得るための具体的な技術として、プロンプトエンジニアリングの基本構成要素(命令、役割、ルール、入力データなど)を学習しました。演習では、copilot-instructions.mdを活用してGitHub Copilotにプロジェクトの共通ルールを覚えさせる実践的なカスタマイズも行いました。とても手軽にカスタマイズできたので実際の業務に取り入れやすそうだなと感じました。

Day2:AI利用の「信頼性」を確保するリスク管理

AIの便利な機能の裏側にあるリスクと、その対策に焦点を当てました。AIの出力を客観的に検証するアウトプット評価の重要性を深く理解し、AIが生成した架空の情報を事実として利用することで生じた企業の教訓事例も共有されました。

主なリスクと対策は以下の通りです。

  • 情報セキュリティ
    機密情報がAIモデルの学習に使われないよう、オプトアウト設定がされているツールの選択や、セキュアな環境の利用を徹底する。

  • ハルシネーション
    AIがもっともらしい嘘をつく現象に対し、信頼できる一次情報源で必ず真偽を確認するファクトチェックの習慣を身につける。

  • プロンプトインジェクション
    悪意のある指示による情報漏洩を防ぐため、不正な指示を無効化する仕組み(ガードレール)を設ける。

AIが生成した情報であっても、最終的な責任は利用者が負うという「信頼性」に繋がる責任の考え方を学びました。様々なものをAIで手軽に作れるようになっただけに、リスクの理解とその対策は怠らないようにしていく必要があると感じました。

Day3:AIとの「協業」を前提とした設計と新しい開発スタイルCHOP

プログラミング手法が「書籍参照や検索」からAIチャットとの対話を通じて開発を進めるCHOP (Chat-Oriented Programming) へとパラダイムシフトしていることが紹介されました。

この新しいスタイルにおいて重要性が増すのがシステム設計です。研修ではドメイン駆動設計(DDD)やクリーンアーキテクチャといった設計手法の基礎を学びました。これらの設計はルールが明確でAIに具体的な指示を出しやすく、AIとの協業による開発効率の向上に繋がります。

演習ではGitHub Copilotのエージェントモードを活用した不具合調査や、設計原則に基づいてリファクタリングするハンズオンを通じて、既存システムの保守運用にもAIを活かすスキルを養いました。

DDDやクリーンアーキテクチャについては時間の制約上、概要レベルの学習にとどまったため、時間を確保してより深く学びたいなと思いました。

Day4:AIを「ガードレール」として使う開発手法

最終日は品質を客観的に保証するための開発アプローチとして、TDD(テスト駆動開発)・BDD(振る舞い駆動開発)・SDD(仕様駆動開発)を学びました。

特に強調されたのは、テストをAI実装の「ガードレール」として機能させるという考え方です。

  • TDD
    テストコードを先に作成し、AIに本番コードとテストコードを同時に生成させることで、品質を客観的に保証します。

  • BDD
    技術者だけでなく非エンジニアやAIにも理解しやすいよう、自然言語のGiven/When/Then形式でソフトウェアの振る舞いを記述します。これにより、チーム全体での共通理解が形成されやすくなります。

  • SDD
    仕様書を起点にAIと共同で開発を進めるアプローチで、仕様がガードレールとなりアウトプットの向上が期待できます。

    Day4は演習に多くの時間が割かれた回でした。実際に手を動かすことで理解しやすかったように思います。

3. まとめ:実務への応用と今後の課題

全4回の研修を通じて、参加者からは高い評価が寄せられました。

  • すぐに役立つ実践的な学び
    プロンプトの構造化や具体的な技術を体系化できた、GitHub Copilotのカスタム機能(copilot-instructions.md)など明日から実務で使える指針を得られた、との感想が寄せられました。

  • マインドセットの転換
    「How(どう作るか)」だけでなく「What(何を作るか)」を考える重要性を認識し、AIとの向き合い方に関する意識が変わったという声が多くありました。

  • チームの共通認識
    チームで研修を受けたことで、AI駆動開発に関する共通認識を持つことができ、今後の開発連携に役立つとの期待が寄せられました。

一方で、今後の課題も共有されました。特に、オンプレミス環境の要求などの顧客のセキュリティ制約への対応や、DDDやクリーンアーキテクチャといった設計手法の価値を非エンジニアの関係者にどう分かりやすく説明するか、といったクライアント提案に関する課題が挙げられました。

この研修は、弊社エンジニアがAI時代の新しい開発スタイルを築くための強固な土台となりました。もちろん、クライアントへの具体的な提案や、開発効率向上への効果検証はこれからです。しかし、本研修を通してAI駆動開発を各々が実践する「共通の下地」を整えることができたのは大きな成果だと考えています。
今後も、今回の学びを活かし、クライアントへの価値提供と社内の開発効率向上に努めていきたいと思います。

この記事が役に立ったと思ったら、
ぜひ「いいね」とシェアをお願いします!

リンクをコピーXでシェアするfacebookでシェアする

この記事を書いた人

田邉圭一
田邉圭一
2019年にメンバーズに中途入社。後方支援チーム「TAT(Technical Architect Team)」に所属して社内の開発チームの各種サポートやスキル向上の施策を行なっています。
詳しく見る
ページトップへ戻る