Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

AeonNext における Collaborativeな開発/Collaborative De...

AEON
July 25, 2024

AeonNext における Collaborativeな開発/Collaborative Development at AeonNext

2024年7月18日開催「JTCのリアルトーク!KODANSHAtechとAEON」の登壇資料です。

イベント詳細:
https://aeon.connpass.com/event/323707/

AEON

July 25, 2024
Tweet

More Decks by AEON

Other Decks in Technology

Transcript

  1. 目次 ◼ 自己紹介、会社紹介 ◼ GitHub Codespacesを使った開発環境の共通化 • GitHub Codespaces •

    devconintainer.yamlを使った共通化 • ローカルのVS codeとの同期(settings.json) ◼ GitHub Copilotや他AIを使った開発 • AIファーストな開発 • GitHub Copilot Enterpriseを入れてみて ◼ まとめ 2
  2. 自己紹介 氏名:坂井 勇登(さかいはやと) 所属 • イオンネクスト株式会社 SRE リード • 2023年11月より現職

    職歴 • 官公庁向けシステム開発 プログラマー • 国内小売グループ システム会社 インフラエンジニア その他 • 割と国内のJTCと呼ばれそうなところを経験してきてます
  3. 会社・サービス紹介 • 会社名:イオンネクスト株式会社 • 2019年12月 デジタル、AIおよびロボティクス機能の強化に向け 新会社として設立 • 次世代ネットスーパーの立ち上げ、運営を行う事業会社 買い物を変える。毎日を変える。

    • サービス:グリーンビーンズ(Green Beans) • 概要:次世代ネットスーパー • 主な特徴 • 野菜・生鮮の鮮度へのこだわり、豊富な品揃え • 幅広く、かつ細かい(1hおき)配送時間の指定 • プロモーション(クーポン、オウンドメディア、etc) • テクノロジー導入(AI / ロボット)
  4. 今年度に入ってからの社内の様子 • 開発環境について • 開発環境がばらばら。社内貸与PCはWindows、一部の人はMac。 • リンター等のツールも人によって使ってたり、使ってなかったり 7 • AIファーストをうたい始める

    • イオン(株)やイオンネクストCTOがAI活用を積極的に、と働きかけ始める • 社内でも開発・運用、いろんなところにAIを入れてまずは活用してみようという動きに GitHub Codespaces による開発環境の共通化 AI(GitHub Copilot Enterprise)を入れてみよう
  5. カスタマイズの方法①:devcontainer.json • ベースイメージの管理 { "name": "Debian", } devcontainer.json • 他リポジトリへのアクセス管理

    • 他リポジトリのライブラリや、Terraformモ ジュールを参照するときに • VSCodeの拡張 • フレームワーク、ツールの管理 "image": "mcr.microsoft.com/devcontainers/base:bullseye", "customizations": { "codespaces": { "repositories": { “hoge/fuga": { "permissions": "write-all", }, }, "vscode": { "extensions": [ "GitHub.copilot", ], "settings": { "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode", "prettier.singleQuote": true, }, }, }, "features": { "ghcr.io/dhoeric/features/trivy:1": {}, "ghcr.io/devcontainers/features/terraform:1": { "version": "latest", }, }
  6. AIファーストな開発・運用 • 開発 • Notion にDesign Doc を作成。AIレビュー(AIに読み取らせるため図もMarkdownで記述) Mermaid Markdown

    要件定義 / 設計 開発 / コーディング Mermaid Markdown AIレビュー ソースコード叩き コード生成 ソースコード完成 人によるレビューと手直し Design Doc記載 Design Doc修正 • Markdownの構成図からTerraformコードをAIに書いてもらい、最後のレビューと手直しだけを人が実施
  7. AIファーストな開発・運用 • 運用 • AIを用いた日々の運用業務 New Relic AI • ログの検索補助

    • 原因調査補助 Jira AI • チケット検索補助 • 類似のインシデント提案
  8. AIファーストな開発・運用(再掲) • 開発 • Notion にDesign Doc を作成。AIレビュー(AIに読み取らせるため図もMarkdownで記述) Mermaid Markdown

    要件定義 / 設計 開発 / コーディング Mermaid Markdown AIレビュー ソースコード叩き コード生成 ソースコード完成 人によるレビューと手直し Design Doc記載 Design Doc修正 • Markdownの構成図からTerraformコードをAIに書いてもらい、最後のレビューと手直しだけを人が実施
  9. AIファーストな開発・運用(再掲) • 開発 • Notion にDesign Doc を作成。AIレビュー(AIに読み取らせるため図もMarkdownで記述) • Markdownの構成図からTerraformコードをAIに書いてもらい、最後のレビューと手直しだけを人が実施

    Mermaid Markdown 要件定義 / 設計 開発 / コーディング Mermaid Markdown AIレビュー ソースコード叩き コード生成 ソースコード完成 人+AIによるレビュー と手直し Design Doc記載 Design Doc修正 GitHub Copilot Enterprise でPull Request Summaryが提供 コードレビューにもAIを
  10. GitHub Copilotの機能とEnterprise版の違い • 開発者向け GitHub Copilot GitHub Copilot Enterprise •

    コード補完 • チャット機能 • CLI連携 左記に加えて • Pull Request 要約 • Copilot ナレッジベース • on GPT-4o GitHub Copilot GitHub Copilot Enterprise • ポリシー管理 • アクセス管理 • 使用状況データの確認 • 監査ログ • ファイルの除外 • 違いなし • 管理者向け GitHub Copilot Enterprise on GPT-4o - The GitHub Blog
  11. 管理者向け機能の補足 • ポリシー管理 • 機能自体のON-OFF(IDE上、モバイル上、CLI上、公開コードをもとにしたのサジェスト) • 勝手に使って、実はライセンス違反してました。とかが嫌なら公開コードをもとにしたサジェストはOFFがいいかも。 • アクセス管理 •

    だれが、Copilot使えるかを管理 • 使用状況データの確認 • だれが、いつ Copilot を使ったかがわかる • どう使っているか、どういう回答を得たか、までは分からない • 監査ログ • 予約シートとか、ナレッジベースの変更をログで記録可能 • ファイルの除外(ベータ版) • Copilotが読み取らないファイルを指定できる • Configuring content exclusions for GitHub Copilot – GitHub Docs • 業務委託に見せたくないリポジトリをサジェストに使わせない、とかができる(ただし、全員に対して効くので取捨選択が必要)
  12. まとめと今後に期待すること 最後に • 今後エンジニアとしては、AIを使って業務を効率よく進める事が求められる • 求められるスキルとしては、要件定義力、プロンプトエンジニアリング、AIの成果物をレビューする力などになるのでは まとめ • 今の時代では特にエンジニアは人材流動もあるし、開発環境共通化は課題 •

    GitHub Codespacesなら新規参入者向けの開発環境を即提供できる • GitHub CopilotやCopilot Chatは開発補助として、すごくいいプロダクト。 • ただし、現状としてはPR Summaryはファイル一覧と差分が少しでるだけなのでGitHub Copilot Enterpriseまで使える ようにするかは時期尚早かも • 今後の機能改善にも期待