Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
サイバーエージェントのGitHub Copilot導入と 開発生産性
Search
Kurochan
September 12, 2023
Technology
46
42k
サイバーエージェントのGitHub Copilot導入と 開発生産性
【GitHub x サイバーエージェント共催】GitHub Copilotで変わる開発文化の現実
https://cyberagent.connpass.com/event/292982/
Kurochan
September 12, 2023
Tweet
Share
More Decks by Kurochan
See All by Kurochan
入門 電気通信事業者
kurochan
12
5.3k
AWS x さくらのクラウドのハイブリッドクラウドによる安価なフレッツ閉域網接続の実装
kurochan
9
5.2k
GoでTCP Proxyを実装してみよう
kurochan
1
880
サイバーエージェントの広告配信におけるIPoEトラフィックの概況
kurochan
0
410
スケールするというのはどういうことなのか
kurochan
14
4.6k
Cloudflare Zero Trustを利用したセキュアな開発環境へのアクセス手法の確立
kurochan
10
3.1k
セキュキャンを卒業してその後
kurochan
0
1.3k
サイバーエージェントの実践×実験Snowflake 導入の経緯から最新機能のトライアルまで / How Snowflake Is Used In CyberAgent - Go To the Future
kurochan
1
1k
入門Open Policy Agent: Policy as Codeを目指して / introduction-to-open-policy-agent
kurochan
0
560
Other Decks in Technology
See All in Technology
Qiita埋め込み用スライド
naoki_0531
0
5.1k
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
140
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
120
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
290
UI State設計とテスト方針
rmakiyama
2
580
Postman と API セキュリティ / Postman and API Security
yokawasa
0
200
非機能品質を作り込むための実践アーキテクチャ
knih
5
1.3k
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
530
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
280
20241220_S3 tablesの使い方を検証してみた
handy
4
400
どちらを使う?GitHub or Azure DevOps Ver. 24H2
kkamegawa
0
780
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Writing Fast Ruby
sferik
628
61k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Producing Creativity
orderedlist
PRO
341
39k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.5k
For a Future-Friendly Web
brad_frost
175
9.4k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
How GitHub (no longer) Works
holman
311
140k
Optimizing for Happiness
mojombo
376
70k
Transcript
サイ バ ーエー ジ ェントのGitHub Copilot導⼊と 開発⽣産性 株式会社サイバーエージェント CTO統括室
黒崎 優太 (@kuro_m 88 ) 【GitHub x サイバーエージェント共催】GitHub Copilotで変わる開発⽂化の現実
ࠇ࡚ ༏ଠ גࣜձࣾαΠόʔΤʔδΣϯτ AIࣄۀຊ෦ @kurochan @kuro_m88 αΠόʔΤʔδΣϯτ CTO౷ׅࣨ
普段の仕事 • AI事業本部にて⼩売企業のDXを⽀援をする事業をやっています • スマホアプリ開発 • データ分析基盤構築
インターネットゼミ • インターネットの勉強をするゼミ • 社内ゼミ制度 • サイバーエージェントの実験⽤ASであるAS 6 3 79
0 を運⽤しています
最近書いた記事 • サイバーエージェントのGitHub CopilotのAnalyticsデータを公開! 利⽤開始から約3ヶ⽉でエンジニアの⽣産性は向上したのか https://developers.cyberagent.co.jp/blog/archives/ 9
本⽇話すこと • サイバーエージェントとAI • GitHub Copilot全社導⼊まで • GitHub Copilot活⽤状況 •
開発⽣産性と向き合う
サイバーエージェントとAI
None
AI事業本部設⽴@2019年 https://www.cyberagent.co.jp/way/list/detail/id= 3
AI Lab • AI技術の活⽤に取り組む研究組織。2016年設⽴。 • Top 1 00 Global Companies
Leading in AI Researchにて⽇本4位、世界36位。 • 権威ある国際学会や論⽂誌において論⽂が多数採択。
AI Lab • 内製⽇本語LLMは130億パラメータまで開発を完了。プロダクト利⽤開始。 • 国内のAI技術発展に貢献するため68億パラメータのLLMを⼀般公開。
ChatGPTの事業活⽤ • 「ChatGPTオペレーション変⾰室」設⽴(4⽉上旬)
ChatGPTの事業活⽤ • マッチングアプリで「プロフィール添削AI」を提供(4⽉上旬)
ChatGPTの事業活⽤ • ⾃社LLM技術を利⽤した広告コピー⾃動⽣成(5⽉)
若⼿もAI事業を牽引 https://www.cyberagent.co.jp/way/list/detail/id= 8
GitHub Copilot全社導⼊まで
GitHub Copilotを使ったことがある社員が現れる • Slackのtimes(雑談チャネル)でCopilotを個⼈で使っている社員を発⾒ • 週末など、個⼈で使ってみている社員がじわじわ増えてきていた
⾃分のチームで使ってみてもらう(3⽉下旬) • まだ全社⽅針は定められていないが⼈を絞って複数部署で試験運⽤してみる • 肌感覚を得る & すぐにフィードバックしてCTO統括室で導⼊⽅針の判断 • ⾃分のチームであればコントロールが効きやすいという判断
Copilot以外にも⽣成AIツールの需要が(3⽉下旬) • 縛りすぎないが最低限は担保するガイドラインを急いで作る • CTO統括室+有志でガイドラインを策定して役員 & 法務レビュー • 各部署から協⼒者を募ることでおおよその⽅針を共有する
サイバーエージェントのセキュリティの考え⽅ • 体を守るために免疫は⼤切だが、免疫が強すぎるのも逆効果 https://www.cyberagent.co.jp/way/list/detail/id= 8
Copilot導⼊に向けて申請フローを整備する(4⽉上旬) • ⼤規模導⼊しているSaaS等(GitHub含)の請求管理をしているチームに これから起きることを相談 🚨🌊🏄 • GitHub Issueで申請してorg単位で有効化→個別のライセンス付与はorg ownerに権限委譲
⽣成AIガイドライン暫定ルールリリース!(4⽉中旬) • 各部署の有志の協⼒者のおかげでスピード感を持ってリリースできました • それぞれの部署の観点からの情報が集まってきたのがとてもよかった
⽣成AIガイドラインについて https://developers.cyberagent.co.jp/blog/archives/ 8
ガイドラインリリースに合わせてCopilot利⽤開始!(4⽉中旬) • 多くの社員の協⼒のおかげでスピード感を持って導⼊ができました🎉
GitHub Copilot活⽤状況
GitHub Copilot活⽤状況 • 以前の記事からさらにどう変化したのかもご紹介します! • 数値の注意 • Full Accept(Copilotの推薦をそのまま全て採⽤)のみの数字です。 •
VSCode以外の環境での利⽤状況は含まれていません。 • Copilot for Businessには個⼈のGitHubアカウントを紐づける利⽤形態のため、業務外 での利⽤のAnalyticsも⼀部含まれています。
GitHub Copilot活⽤状況(5/18-7/16)
GitHub Copilot活⽤促進 • 各部署で⾃主的に勉強会を実施 & 録画を全社共有
GitHub Copilot活⽤促進 • 各部署で⾃主的に勉強会を実施 & 録画を全社共有 • 半⽇で700回再⽣🎉 • 他部署も負けじと情報発信🔥
GitHub Copilot活⽤状況(7/17-9/4)
GitHub Copilot活⽤状況 • ユーザ数の変化 • 500ユーザ以上 → 800ユーザ以上: 60⽇で1.6倍に増加 ⤴
• 推薦を受け⼊れたコードの⾏数 • 3 . 2 K LoC/day → 6 . 0 K LoC/day: 6 0 ⽇で1.9倍に増加 ⤴ • 計測開始以降受け⼊れたコードの⾏数 • 49 0 . 4 K LoC / 1 10 day 💻
⾔語別 • サイバーエージェントの 技術スタックが現れているかも
黒崎のCopilotの使い⽅ • SlackのAPIを使ったbotを書いていた • ドキュメントに載っていない知識を前提にしたコードを提⽰してくれた
黒崎のCopilotの使い⽅ • SlackのAPIを使ったbotを書いていた • たまに誤ったコードも推薦されるので注意は必要
プログラミング初学者のCopilotの使い⽅ • ビジネス職でプログラミングを勉強している社員 • Copilotでコードを推薦してもらう → Copilot Chatに質問をする のループ •
分かるまで聞き直す、説明に⽭盾があれば指摘する のループでプログラミングを学習する • 先輩(orエンジニア)に今更聞きたくても聞けない質問のハードルを下げる効果もあり
GitHub org別(7/17-9/4) • サイバーエージェントでは組織やプロダクト等の単位でorgを分割している • GitHub org別のメトリクス • orgあたりの平均: 660
〜 910LoC / user
GitHub org別(7/17-9/4) • サイバーエージェントでは組織やプロダクト等の単位でorgを分割している • GitHub org別のメトリクス • orgあたりの平均: 660
〜 910LoC / user
GitHub org別(7/17-9/4) • サイバーエージェントでは組織やプロダクト等の単位でorgを分割している • GitHub org別のメトリクス • orgあたりの平均: 660
〜 910LoC / user
GitHub org別(7/17-9/4) • サイバーエージェントでは組織やプロダクト等の単位でorgを分割している • GitHub org別のメトリクス • orgあたりの平均: 660
〜 910LoC / user • ⾚枠のorgの平均: 828 2 LoC / user
GitHub org別(7/17-9/4) • サイバーエージェントでは組織やプロダクト等の単位でorgを分割している • GitHub org別のメトリクス • orgあたりの平均: 660
〜 910LoC / user • ⾚枠のorgの平均: 828 2 LoC / user • 明らかに突出しているorgがある • 2⼈しか居ないのでユーザを特定して話を聞かせてもらってみた
話を聞いてみた
オンライン診療プラットフォーム「TOIRO美肌院」
オンライン診療プラットフォーム「TOIRO美肌院」 • 制作したもの • 広告⽤ランディングページ • LINEチャット • 予約管理システム •
Amazon Chimeを⽤いた通話機能 • 医師向けの専⽤ページ • 開発チーム • 2名 • 開発期間 • 4ヶ⽉
Copilotを活⽤したコーディングのポイント • 実装を始める前にコメントで実装内容を記述 • 50-70点くらいの品質のコードが⽣成されることが多い • ⽣成されるまで待つ! • 100点のコードを期待しない •
⽣成されたコードをベースに実装を拡張していく • できる限り⾃分で書かない • ⽣成されたコードがベースなので追加の推薦も期待しやすい(はず)
Copilotを活⽤したコーディングのポイント
Copilotを活⽤したコーディングのポイント
Copilotを活⽤したコーディングのポイント
Copilotを活⽤したコーディングのポイント
Copilotを活⽤したコーディングのポイント • 実装を始める前に参考にしたいコードをコメントとして貼っておく • 参考にしたいコードの下にそれっぽい変数名を定義する • ⽂脈が⾮常に⼤切なので必要な情報を明確に渡す
Copilotを活⽤したコーディングのポイント
Copilotを活⽤したコーディングのポイント
Copilotを活⽤したコーディングのポイント
Copilotを活⽤したコーディングのポイント
Copilotを活⽤したコーディングのポイント
Chat GPTも活⽤する • よく使うプロンプトはクリップボードに
プロンプトの例
プロンプトのテンプレートをメンバに共有する • プロジェクトのドキュメントに記載して、メンバが活⽤することで チーム内のコードに統⼀感が⽣まれるとのこと • ⾶び道具的な使い⽅をしているのかと思ったが、とにかくCopilotやChat GPTにコードを書かせているだけだった • とはいえここまで数字に現れるとは思っていなかったので知⾒だった
開発⽣産性と向き合う
https://www.cyberagent.co.jp/way/list/detail/id= 5 開発⽣産性と開発体験の部署
⽣産性が上がると得られること • 作業量のXX%はAIツールの利⽤によって削減ができます🙋 • リリースサイクルが⾼速化されて1⽇あたりのリリース回数がYY回増えます🙋 • これまでの半分のチームサイズでサービス開発ができます🙋 • リリース後に発覚するバグの数がZ%減少しました☺
開発⽣産性と向き合う • 「⽣産性」だけを突き詰めていくとどうなるんだろう…?
「ムダ」から⽣まれるもの https://youtu.be/uN 6
技術は「いたずら」のような物から⽣まれる https://dnobori.cyber.ipa.go.jp/ppt/download/ 0 % 9
技術は「いたずら」のような物から⽣まれる https://dnobori.cyber.ipa.go.jp/ppt/download/ 0 % 9
技術は「いたずら」のような物から⽣まれる https://dnobori.cyber.ipa.go.jp/ppt/download/ 0 % 9
「作る経験はコピーできない。」
開発⽣産性と向き合う • ⽣成AIの活⽤でエンジニアの平均的な開発⽣産性はどんどん上がるはず。 • 短期的には⽣成AIの活⽤による⽣産性向上が武器になるはず。 • 中⻑期的にはそれが当たり前になるはず。 • ⼀⽅でソフトウェア開発は決まったものを⽣産する活動ではないはず。 •
⽣産性が向上した分をどこに投資するのか? • ソフトウェアエンジニアは何を⽣み出していくのか?
まとめ • サイバーエージェントがGitHub Copilotを導⼊するまでの流れ • スピード感とみんなの協⼒が⼤事! • GitHub Copilotを導⼊してどんな変化があったか •
メキメキ開発速度を上げている⼈も出はじめた! • 開発⽣産性との向き合い⽅ • ソフトウェアエンジニアとしてこの先⽣きのこるには… • つづきはパネルディスカッションで!
None