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
52
46k
サイバーエージェントの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
15年入社者に聞く! これまでのCAのキャリアとこれから
kurochan
1
220
入門 電気通信事業者
kurochan
13
5.6k
AWS x さくらのクラウドのハイブリッドクラウドによる安価なフレッツ閉域網接続の実装
kurochan
9
5.6k
GoでTCP Proxyを実装してみよう
kurochan
1
1.1k
サイバーエージェントの広告配信におけるIPoEトラフィックの概況
kurochan
0
490
スケールするというのはどういうことなのか
kurochan
14
4.9k
Cloudflare Zero Trustを利用したセキュアな開発環境へのアクセス手法の確立
kurochan
10
3.5k
セキュキャンを卒業してその後
kurochan
0
1.4k
サイバーエージェントの実践×実験Snowflake 導入の経緯から最新機能のトライアルまで / How Snowflake Is Used In CyberAgent - Go To the Future
kurochan
1
1.2k
Other Decks in Technology
See All in Technology
今からでも間に合う! 生成AI「RAG」再入門 / Re-introduction to RAG in Generative AI
hideakiaoyagi
1
200
キャディでのApache Iceberg, Trino採用事例 -Apache Iceberg and Trino Usecase in CADDi--
caddi_eng
0
170
生成AIをテストプロセスに活用し"よう"としている話 #jasstnano
makky_tyuyan
0
250
What's new in OpenShift 4.19
redhatlivestreaming
1
440
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
450
CSS、JSをHTMLテンプレートにまとめるフロントエンド戦略
d120145
0
180
20250623 Findy Lunch LT Brown
3150
0
680
活きてなかったデータを活かしてみた話 / Shirokane Kougyou vol 19
sansan_randd
1
390
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
1
160
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全 / 20250625-aws-summit-aws-policy
opelab
2
280
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
240
Model Mondays S2E02: Model Context Protocol
nitya
0
150
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
34k
Six Lessons from altMBA
skipperchong
28
3.8k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
Raft: Consensus for Rubyists
vanstee
140
7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Thoughts on Productivity
jonyablonski
69
4.7k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Why Our Code Smells
bkeepers
PRO
337
57k
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