Microsoft AI Tour
Tokyo, Japan
Community Booth Presentation
GitHub Copilot のAI機能で
Windows 11 ドライバーを開発
株式会社デバイスドライバーズ
Microsoft MVP for Internet of Things
日高亜友
自己紹介
名前: 日高亜友(ひだか あとむ)
所属: 株式会社デバイスドライバーズ
受賞: Microsoft MVP(Internet of Things, 2006~)
仕事: 組み込みシステム、IoT、各種ドライバー開発
現在の趣味と少し仕事:
Windows 11、生成AI、Windows オーディオ、
Windows 11 ドライバーをAIで開発
ストーリー:Windows 11ドライバーをAIで開発
• 背景
• ドライバー開発経験と連載
• ChatGPT (ChatGPT Advanced Data Analysis )の経験
• GitHub Copilotの利用経験
• 取り組むきっかけ
• テーマとしてはよさそう、ライセンス問題回避、オープンソース化
• 出来るかどうか不明
• 結果
• 良好→雑誌掲載、実習セミナー開催
• 容易なので次のテーマを模索中
Windows 11 ドライバーをAIで開発
テーマ:Windows 11ドライバーをAIで開発
• 背景
• Windows 11ドライバーの調査経験(2021年 Build で発表)
• Windows 11オーディオドライバーの開発経験
• 技術雑誌にWindows 11ドライバー開発記事連載
• ChatGPT (ChatGPT Advanced Data Analysis、コード生成)の経験
• GitHub Copilotの利用経験
Windows 11 ドライバーをAIで開発
取り組みのきっかけ
• 「ドライバー開発」の雑誌連載記事で使えるネタ探し
• ChatGPT Advanced Data Analysis でのコード生成利用実績
• APO:Windows Audio Processing Object で利用可能
• 今後のWindowsオーディオ機能(コアオーディオ)の主役
• オーディオ・グラフィック・イコライザー
• Robert Bristow-Johnson‘s Cookbook
による手法(BiQuadFilter、ハードウェア、ソフトウェア)
• コードは多いが、ライセンス問題が…
• GitHub Copilot にコーディングさせる!?
Windows 11 ドライバーをAIで開発
GitHub Copilot 使いこなしのコツ
• アルゴリズムは全てを作らせる
• 必要部だけのコードだけの作成は不可能
• 手順を追って、または手順を分けて、作らせる(次ページ)
• 適切な関数名、変数名、コメントが重要
• 納得が行くコードが出るまで何回も作らせる
• 試しに勝手にやらせてみて、何がしたいのかを確認
• 単位系、表示系の「Copilotの勘違い」に注意
• コンパイルエラーは無い
• 出力完了=完成 デバッグ不要
• 動作確認は重要
Windows 11 ドライバーをAIで開発
豊富なコーディング経験者こそが
AI にコーディングさせるべき
AI との知恵比べ
実際に作られたコード
Windows 11 ドライバーをAIで開発
実際は Peak フィルターしか使用しない
全てのフィルターと選択処理を
コーディングさせる
動作事例
結果:良好に動作
• インターフェース誌 2024年1月号
• Windows ドライバー開発実習セミナー開催
2024年3月8日
Windows 11 ドライバーをAIで開発
Raspberry Pi pico+DAC Sound Blaster Play!3
補足:雑誌連載記事と実習セミナー
• Windows 11 時代のデバイス・ドライバ開発
• Windows ドライバ開発の歴史と基礎知識
• Windows ドライバ技術情報
• Windows ドライバ開発環境
• サンプルコードの活用
• 独自ドライバ開発とデバッグ
• AI活用のコーディング
• 汎用ドライバーとしての動作実験
• 実機組み込みとテスト
• オーディオ効果制御GUIの実装
• 3月8日 Windows ドライバー開発実習セミナー開催
Windows 11 ドライバーをAIで開発
ご視聴ありがとうございました。
資料→ SlideShare/NETMF
ソースコード→ GitHub/ahidaka
Windows 11 ドライバーをAIで開発

Develop Windows 11 drivers with GitHub Copilot's AI capabilities

  • 1.
    Microsoft AI Tour Tokyo,Japan Community Booth Presentation GitHub Copilot のAI機能で Windows 11 ドライバーを開発 株式会社デバイスドライバーズ Microsoft MVP for Internet of Things 日高亜友
  • 2.
    自己紹介 名前: 日高亜友(ひだか あとむ) 所属:株式会社デバイスドライバーズ 受賞: Microsoft MVP(Internet of Things, 2006~) 仕事: 組み込みシステム、IoT、各種ドライバー開発 現在の趣味と少し仕事: Windows 11、生成AI、Windows オーディオ、 Windows 11 ドライバーをAIで開発
  • 3.
    ストーリー:Windows 11ドライバーをAIで開発 • 背景 •ドライバー開発経験と連載 • ChatGPT (ChatGPT Advanced Data Analysis )の経験 • GitHub Copilotの利用経験 • 取り組むきっかけ • テーマとしてはよさそう、ライセンス問題回避、オープンソース化 • 出来るかどうか不明 • 結果 • 良好→雑誌掲載、実習セミナー開催 • 容易なので次のテーマを模索中 Windows 11 ドライバーをAIで開発
  • 4.
    テーマ:Windows 11ドライバーをAIで開発 • 背景 •Windows 11ドライバーの調査経験(2021年 Build で発表) • Windows 11オーディオドライバーの開発経験 • 技術雑誌にWindows 11ドライバー開発記事連載 • ChatGPT (ChatGPT Advanced Data Analysis、コード生成)の経験 • GitHub Copilotの利用経験 Windows 11 ドライバーをAIで開発
  • 5.
    取り組みのきっかけ • 「ドライバー開発」の雑誌連載記事で使えるネタ探し • ChatGPTAdvanced Data Analysis でのコード生成利用実績 • APO:Windows Audio Processing Object で利用可能 • 今後のWindowsオーディオ機能(コアオーディオ)の主役 • オーディオ・グラフィック・イコライザー • Robert Bristow-Johnson‘s Cookbook による手法(BiQuadFilter、ハードウェア、ソフトウェア) • コードは多いが、ライセンス問題が… • GitHub Copilot にコーディングさせる!? Windows 11 ドライバーをAIで開発
  • 6.
    GitHub Copilot 使いこなしのコツ •アルゴリズムは全てを作らせる • 必要部だけのコードだけの作成は不可能 • 手順を追って、または手順を分けて、作らせる(次ページ) • 適切な関数名、変数名、コメントが重要 • 納得が行くコードが出るまで何回も作らせる • 試しに勝手にやらせてみて、何がしたいのかを確認 • 単位系、表示系の「Copilotの勘違い」に注意 • コンパイルエラーは無い • 出力完了=完成 デバッグ不要 • 動作確認は重要 Windows 11 ドライバーをAIで開発 豊富なコーディング経験者こそが AI にコーディングさせるべき AI との知恵比べ
  • 7.
    実際に作られたコード Windows 11 ドライバーをAIで開発 実際はPeak フィルターしか使用しない 全てのフィルターと選択処理を コーディングさせる
  • 8.
    動作事例 結果:良好に動作 • インターフェース誌 2024年1月号 •Windows ドライバー開発実習セミナー開催 2024年3月8日 Windows 11 ドライバーをAIで開発 Raspberry Pi pico+DAC Sound Blaster Play!3
  • 9.
    補足:雑誌連載記事と実習セミナー • Windows 11時代のデバイス・ドライバ開発 • Windows ドライバ開発の歴史と基礎知識 • Windows ドライバ技術情報 • Windows ドライバ開発環境 • サンプルコードの活用 • 独自ドライバ開発とデバッグ • AI活用のコーディング • 汎用ドライバーとしての動作実験 • 実機組み込みとテスト • オーディオ効果制御GUIの実装 • 3月8日 Windows ドライバー開発実習セミナー開催 Windows 11 ドライバーをAIで開発
  • 10.