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
44
41k
サイバーエージェントの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
5k
AWS x さくらのクラウドのハイブリッドクラウドによる安価なフレッツ閉域網接続の実装
kurochan
9
4.9k
GoでTCP Proxyを実装してみよう
kurochan
1
750
サイバーエージェントの広告配信におけるIPoEトラフィックの概況
kurochan
0
330
スケールするというのはどういうことなのか
kurochan
14
4.4k
Cloudflare Zero Trustを利用したセキュアな開発環境へのアクセス手法の確立
kurochan
10
2.8k
セキュキャンを卒業してその後
kurochan
0
1.2k
サイバーエージェントの実践×実験Snowflake 導入の経緯から最新機能のトライアルまで / How Snowflake Is Used In CyberAgent - Go To the Future
kurochan
0
960
入門Open Policy Agent: Policy as Codeを目指して / introduction-to-open-policy-agent
kurochan
0
520
Other Decks in Technology
See All in Technology
標準ライブラリの奥深アップデートを掘り下げよう!
logica0419
2
390
エンジニア視点で見る、 組織で運用されるデザインシステムにするには
shunya078
1
160
20240828_EM_Fest
kzkmaeda
4
360
RAGHack: Kickoff and RAG 101
pamelafox
0
200
プロデザ! BY リクルートvol.22_様々なプロダクト経験の中で活きたPdMのスキル
recruitengineers
PRO
3
170
脆弱星に導かれて
nishimunea
1
1.5k
LLMに日本語テキストを学習させる意義
ksaito
13
3.4k
contenteditableと向き合う
kikuchikakeru
2
150
標準最高!標準はださくないぞ! at fukuoka.ts #1
yoiwamoto
0
150
音声AIエージェントの世界とRetell AI入門 / Introduction to the World of Voice AI Agents and Retell AI
rkaga
3
480
AWS IAM Identity Center議論会 〜 認証認可結合モデルと認証認可分離モデル / 20240827-jawsug-arch-iam_identity_center
opelab
3
320
なぜクラウドサービスで Web コンソールを提供するのか
shuta13
4
1.5k
Featured
See All Featured
Robots, Beer and Maslow
schacon
PRO
157
8.1k
Code Review Best Practice
trishagee
62
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
41
6.4k
[RailsConf 2023] Rails as a piece of cake
palkan
44
4.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
It's Worth the Effort
3n
182
27k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
33
1.7k
Infographics Made Easy
chrislema
239
18k
For a Future-Friendly Web
brad_frost
173
9.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
27
1.6k
RailsConf 2023
tenderlove
26
790
What's new in Ruby 2.0
geeforr
340
31k
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