Slide 1

Slide 1 text

〜GitHub Copilotの最新アップデートを添えて〜 カスタムインストラクションで GitHub Copilotをカスタマイズ! 土田純平 クラウドソリューションアーキテクト & エバンジェリスト Microsoft Japan

Slide 2

Slide 2 text

https://zenn.dev/07jp27 https://x.com/07JP27 土田 純平 クラウドソリューションアーキテクト & エバンジェリスト 生成AIやソフトウエア開発に関する技術啓蒙活動など一般的な講演か ら実際のプロジェクト支援まで幅広く担当しています。 個人的なこと 山形県在住 高専卒で機械工学を専攻(金属加工や設計など) 趣味の週末DIYで電子工作や3Dプリンターでモノづくりをしています 庭にピザ窯を作ったことも・・・ 資格など 日本ディープラーニング協会 E資格 第二種電気工事士 危険物取扱者乙種4類 無人航空従事者試験3級 などなど・・・

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Why GitHub Copilot ? 慣れ親しまれているプラットフォーム上でネイティブにAIと協業できる! GitHub GitHub Copilot Developer

Slide 5

Slide 5 text

GitHub Copilotのプラン チャット 50回/月まで 無制限 無制限 無制限 コード補完 2000回/月まで 無制限 無制限 無制限 利用メトリック なし なし あり あり 組織コンテキスト※ なし なし なし あり ※Fine-tuningなどにより組織のコードを学習してコード補完を行ったり、組織独自のコンテキストを元にチャットできる機能 GitHub Enterprise Cloudが必要 Free登場に伴い、 Individualから名称が変更 https://github.com/features/copilot/plans

Slide 6

Slide 6 text

Chat & Edits チャットによる対話でのコード分析、補完、修正 Chat Edits(Preview) 複数のファイルをコンテキストに明示的に指定した分析 独自プロンプトを追加する「カスタムインストラクション」 機能もプレビューで提供中 Chatの進化形でチャットベースでCopilotがコードの変 更に特化して動作 差分表示にも対応。

Slide 7

Slide 7 text

お気に入りのツールを GitHub Copilot に統合 したり、カスタムエクステンションを作成したりして、 コーディング体験を向上させることができます。 Copilot Chat にすべてのツールを統合することで、 生産性を高め、ディストラクションを減らしながら、 スムーズなワークフローを維持できます Copilot Extensions

Slide 8

Slide 8 text

プル リクエストをオープンした瞬間から、AI による高 度なコードフィードバックを受け取ることができます 人によるレビューを待つことなく、開発サイクルを加 速させ、コードクオリティを向上させることができます GitHub Copilot Code Review

Slide 9

Slide 9 text

自然言語のアイデアをコードに変換する、AI搭載 の開発環境 ✓ issueドリブン開発 ✓ Human in the loop ✓ Codespacesでのテスト実行 GitHub Copilot Workspace https://github.blog/jp/2024-04-30-github-copilot-workspace/

Slide 10

Slide 10 text

[Technical Preview] GitHub Spark:自然言語でアプリを構築するAIツール 自然言語で AI に指示し、アプリケーションの作成が可能に 自然言語ベースのエディター アイデアを簡単に記述し、時間をかけて洗練可能。 管理されたランタイム環境 アプリケーションをホスティングし、データ保存、テーマ設定、LLM へのアクセスを提供。 PWA対応のダッシュボード どこからでもアプリを管理・起動可能。 https://githubnext.com/projects/github-spark

Slide 11

Slide 11 text

の機能マップ 2 分析 1 計画 3 設計 4 実装 5 テストと統合 6 メンテナンス 1 計画 6 メンテナンス Edits GitHub Spark GitHub Copilot Workspace Code review Chat IDE 内の機能 Webツールとしての機能 Code completion 今回のデモ範囲

Slide 12

Slide 12 text

Why GitHub Copilot ? 慣れ親しまれているプラットフォーム上でネイティブにAIと協業できる! GitHub GitHub Copilot Developer コード補完 / 回答 質問 / 指示 GitHub Copilot Workspace Code review issue作成 コードコミット GitHub Spark GitHub Copilot Workspace

Slide 13

Slide 13 text

GitHub Copilotのカスタマイズ性 https://github.com/features/copilot/plans Free Pro Business Enterprise

Slide 14

Slide 14 text

コーディング時のカスタマイズオプション https://github.com/features/copilot/plans Fine-tuning モデル カスタムインストラクション Enterpriseのみ すべてのプラン プロンプティング Fine-tuning プレビュー Coming soon 提供状況 方式 対応プラン

Slide 15

Slide 15 text

カスタムインストラクションを使った コード生成とファイル編集 Demo

Slide 16

Slide 16 text

カスタムインストラクションのまとめ シナリオ • 基盤モデルが未学習の新しいフレームワークやツールを使う時 • 社内独自のライブラリを使う時 • プロジェクト独自のルール(AIが補完したコードは「Generated by Copilot」とコメントをつけるetc) • コードからだけでは推測できないコーディングガイドの補完として https://x.com/okazuki/status/1854774466171355606/photo/1

Slide 17

Slide 17 text

カスタムインストラクションのまとめ 設定方法 • プロジェクトの.github/copilot-instructions.mdファイル • プロジェクトで共有できる!! • ソースコードと同じ管理ができる!! • Webでも使える!! • Visual Studio Codeの設定 • 個人 / ワークスペース/ 言語 ごとに設定できる • インストラクションファイルをプロジェクト毎に作成する必要なし 注意点 • Visual Studio、VS Code の Copilot Chat、GitHub Web サイトでサポート • ChatやEditsのみ対応(インラインのコード補完は未対応)

Slide 18

Slide 18 text

カスタムインストラクションのプラクティス • 基本的にはプロンプトエンジニアリングのプラクティスと同じ • 決定的な指示をする • 構造的に記述する • 「しないでください」 よりも 「してください」 • OpenAI - Prompt engineering • GitHub Copilot独自のアンチパターン • 応答を作成するときに外部リソースを参照するという要求をしない • 回答のトーンを指定しない • 「xxx文字以内で」などの詳細レベルの指定をしない

Slide 19

Slide 19 text

GitHub Universe で発表された最新情報一覧 • [Technical Preview] GitHub Spark:自然言語でアプリを構築するAIツール • [public Preview] GitHub Copilot がマルチモデル対応へ • Anthropic、Google、OpenAIの主要モデルを選択可能に • GitHub は AI ネイティブな体験を提供 • [Technical Preview] Java への GitHub Copilot アシスト機能が向上 • [Public Preview] GitHub Copilot によるコードレビュー • [Public Preview] VS Code での GitHub Copilot のマルチファイル編集機能 • [Public Preview] Xcode 向け GitHub Copilot • [Public Preview] GitHub Copilot のカスタマイズ機能 • GitHub プラットフォーム全体のその他のアップデート • [Technical Preview] GitHub Copilot Workspace の改良とアップデート • [Public Preview] GitHub Models の機能拡張 • [General Available] Copilot Autofix と [Public Preview] セキュリティキャンペーンによる大規模な脆弱性の修正 • [General Available] Copilot Secret Scanning • https://github.blog/jp/2024-10-30-press-releases-github-universe-2024

Slide 20

Slide 20 text

本日のデモの内容 GitHub Copilotにカスタムインストラクションで 最新技術や独自ルールを教え込む https://zenn.dev/microsoft/articles/github-copilot-custom-instructions

Slide 21

Slide 21 text

No content