Slide 1

Slide 1 text

サイ バ ーエー ジ ェントのGitHub Copilot導⼊と 開発⽣産性 株式会社サイバーエージェント CTO統括室 
 黒崎 優太 (@kuro_m 88 ) 【GitHub x サイバーエージェント共催】GitHub Copilotで変わる開発⽂化の現実

Slide 2

Slide 2 text

ࠇ࡚ ༏ଠ גࣜձࣾαΠόʔΤʔδΣϯτ AIࣄۀຊ෦ @kurochan @kuro_m88 αΠόʔΤʔδΣϯτ CTO౷ׅࣨ

Slide 3

Slide 3 text

普段の仕事 • AI事業本部にて⼩売企業のDXを⽀援をする事業をやっています • スマホアプリ開発 • データ分析基盤構築

Slide 4

Slide 4 text

インターネットゼミ • インターネットの勉強をするゼミ • 社内ゼミ制度 • サイバーエージェントの実験⽤ASであるAS 6 3 79 0 を運⽤しています

Slide 5

Slide 5 text

最近書いた記事 • サイバーエージェントのGitHub CopilotのAnalyticsデータを公開! 
 利⽤開始から約3ヶ⽉でエンジニアの⽣産性は向上したのか https://developers.cyberagent.co.jp/blog/archives/ 9

Slide 6

Slide 6 text

本⽇話すこと • サイバーエージェントとAI • GitHub Copilot全社導⼊まで • GitHub Copilot活⽤状況 • 開発⽣産性と向き合う

Slide 7

Slide 7 text

サイバーエージェントとAI

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

AI事業本部設⽴@2019年 https://www.cyberagent.co.jp/way/list/detail/id= 3

Slide 10

Slide 10 text

AI Lab • AI技術の活⽤に取り組む研究組織。2016年設⽴。 • Top 1 00 Global Companies Leading in AI Researchにて⽇本4位、世界36位。 • 権威ある国際学会や論⽂誌において論⽂が多数採択。

Slide 11

Slide 11 text

AI Lab • 内製⽇本語LLMは130億パラメータまで開発を完了。プロダクト利⽤開始。 • 国内のAI技術発展に貢献するため68億パラメータのLLMを⼀般公開。

Slide 12

Slide 12 text

ChatGPTの事業活⽤ • 「ChatGPTオペレーション変⾰室」設⽴(4⽉上旬)

Slide 13

Slide 13 text

ChatGPTの事業活⽤ • マッチングアプリで「プロフィール添削AI」を提供(4⽉上旬)

Slide 14

Slide 14 text

ChatGPTの事業活⽤ • ⾃社LLM技術を利⽤した広告コピー⾃動⽣成(5⽉)

Slide 15

Slide 15 text

若⼿もAI事業を牽引 https://www.cyberagent.co.jp/way/list/detail/id= 8

Slide 16

Slide 16 text

GitHub Copilot全社導⼊まで

Slide 17

Slide 17 text

GitHub Copilotを使ったことがある社員が現れる • Slackのtimes(雑談チャネル)でCopilotを個⼈で使っている社員を発⾒ • 週末など、個⼈で使ってみている社員がじわじわ増えてきていた

Slide 18

Slide 18 text

⾃分のチームで使ってみてもらう(3⽉下旬) • まだ全社⽅針は定められていないが⼈を絞って複数部署で試験運⽤してみる • 肌感覚を得る & すぐにフィードバックしてCTO統括室で導⼊⽅針の判断 • ⾃分のチームであればコントロールが効きやすいという判断

Slide 19

Slide 19 text

Copilot以外にも⽣成AIツールの需要が(3⽉下旬) • 縛りすぎないが最低限は担保するガイドラインを急いで作る • CTO統括室+有志でガイドラインを策定して役員 & 法務レビュー • 各部署から協⼒者を募ることでおおよその⽅針を共有する

Slide 20

Slide 20 text

サイバーエージェントのセキュリティの考え⽅ • 体を守るために免疫は⼤切だが、免疫が強すぎるのも逆効果 https://www.cyberagent.co.jp/way/list/detail/id= 8

Slide 21

Slide 21 text

Copilot導⼊に向けて申請フローを整備する(4⽉上旬) • ⼤規模導⼊しているSaaS等(GitHub含)の請求管理をしているチームに 
 これから起きることを相談 🚨🌊🏄 • GitHub Issueで申請してorg単位で有効化→個別のライセンス付与はorg ownerに権限委譲

Slide 22

Slide 22 text

⽣成AIガイドライン暫定ルールリリース!(4⽉中旬) • 各部署の有志の協⼒者のおかげでスピード感を持ってリリースできました • それぞれの部署の観点からの情報が集まってきたのがとてもよかった

Slide 23

Slide 23 text

⽣成AIガイドラインについて https://developers.cyberagent.co.jp/blog/archives/ 8

Slide 24

Slide 24 text

ガイドラインリリースに合わせてCopilot利⽤開始!(4⽉中旬) • 多くの社員の協⼒のおかげでスピード感を持って導⼊ができました🎉

Slide 25

Slide 25 text

GitHub Copilot活⽤状況

Slide 26

Slide 26 text

GitHub Copilot活⽤状況 • 以前の記事からさらにどう変化したのかもご紹介します! • 数値の注意 • Full Accept(Copilotの推薦をそのまま全て採⽤)のみの数字です。 • VSCode以外の環境での利⽤状況は含まれていません。 • Copilot for Businessには個⼈のGitHubアカウントを紐づける利⽤形態のため、業務外 での利⽤のAnalyticsも⼀部含まれています。

Slide 27

Slide 27 text

GitHub Copilot活⽤状況(5/18-7/16)

Slide 28

Slide 28 text

GitHub Copilot活⽤促進 • 各部署で⾃主的に勉強会を実施 & 録画を全社共有

Slide 29

Slide 29 text

GitHub Copilot活⽤促進 • 各部署で⾃主的に勉強会を実施 & 録画を全社共有 • 半⽇で700回再⽣🎉 • 他部署も負けじと情報発信🔥

Slide 30

Slide 30 text

GitHub Copilot活⽤状況(7/17-9/4)

Slide 31

Slide 31 text

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 💻

Slide 32

Slide 32 text

⾔語別 • サイバーエージェントの 
 技術スタックが現れているかも

Slide 33

Slide 33 text

黒崎のCopilotの使い⽅ • SlackのAPIを使ったbotを書いていた • ドキュメントに載っていない知識を前提にしたコードを提⽰してくれた

Slide 34

Slide 34 text

黒崎のCopilotの使い⽅ • SlackのAPIを使ったbotを書いていた • たまに誤ったコードも推薦されるので注意は必要

Slide 35

Slide 35 text

プログラミング初学者のCopilotの使い⽅ • ビジネス職でプログラミングを勉強している社員 • Copilotでコードを推薦してもらう → Copilot Chatに質問をする のループ • 分かるまで聞き直す、説明に⽭盾があれば指摘する のループでプログラミングを学習する • 先輩(orエンジニア)に今更聞きたくても聞けない質問のハードルを下げる効果もあり

Slide 36

Slide 36 text

GitHub org別(7/17-9/4) • サイバーエージェントでは組織やプロダクト等の単位でorgを分割している • GitHub org別のメトリクス • orgあたりの平均: 660 〜 910LoC / user

Slide 37

Slide 37 text

GitHub org別(7/17-9/4) • サイバーエージェントでは組織やプロダクト等の単位でorgを分割している • GitHub org別のメトリクス • orgあたりの平均: 660 〜 910LoC / user

Slide 38

Slide 38 text

GitHub org別(7/17-9/4) • サイバーエージェントでは組織やプロダクト等の単位でorgを分割している • GitHub org別のメトリクス • orgあたりの平均: 660 〜 910LoC / user

Slide 39

Slide 39 text

GitHub org別(7/17-9/4) • サイバーエージェントでは組織やプロダクト等の単位でorgを分割している • GitHub org別のメトリクス • orgあたりの平均: 660 〜 910LoC / user • ⾚枠のorgの平均: 828 2 LoC / user

Slide 40

Slide 40 text

GitHub org別(7/17-9/4) • サイバーエージェントでは組織やプロダクト等の単位でorgを分割している • GitHub org別のメトリクス • orgあたりの平均: 660 〜 910LoC / user • ⾚枠のorgの平均: 828 2 LoC / user • 明らかに突出しているorgがある • 2⼈しか居ないのでユーザを特定して話を聞かせてもらってみた

Slide 41

Slide 41 text

話を聞いてみた

Slide 42

Slide 42 text

オンライン診療プラットフォーム「TOIRO美肌院」

Slide 43

Slide 43 text

オンライン診療プラットフォーム「TOIRO美肌院」 • 制作したもの • 広告⽤ランディングページ • LINEチャット • 予約管理システム • Amazon Chimeを⽤いた通話機能 • 医師向けの専⽤ページ • 開発チーム • 2名 • 開発期間 • 4ヶ⽉

Slide 44

Slide 44 text

Copilotを活⽤したコーディングのポイント • 実装を始める前にコメントで実装内容を記述 • 50-70点くらいの品質のコードが⽣成されることが多い • ⽣成されるまで待つ! • 100点のコードを期待しない • ⽣成されたコードをベースに実装を拡張していく • できる限り⾃分で書かない • ⽣成されたコードがベースなので追加の推薦も期待しやすい(はず)

Slide 45

Slide 45 text

Copilotを活⽤したコーディングのポイント

Slide 46

Slide 46 text

Copilotを活⽤したコーディングのポイント

Slide 47

Slide 47 text

Copilotを活⽤したコーディングのポイント

Slide 48

Slide 48 text

Copilotを活⽤したコーディングのポイント

Slide 49

Slide 49 text

Copilotを活⽤したコーディングのポイント • 実装を始める前に参考にしたいコードをコメントとして貼っておく • 参考にしたいコードの下にそれっぽい変数名を定義する • ⽂脈が⾮常に⼤切なので必要な情報を明確に渡す

Slide 50

Slide 50 text

Copilotを活⽤したコーディングのポイント

Slide 51

Slide 51 text

Copilotを活⽤したコーディングのポイント

Slide 52

Slide 52 text

Copilotを活⽤したコーディングのポイント

Slide 53

Slide 53 text

Copilotを活⽤したコーディングのポイント

Slide 54

Slide 54 text

Copilotを活⽤したコーディングのポイント

Slide 55

Slide 55 text

Chat GPTも活⽤する • よく使うプロンプトはクリップボードに

Slide 56

Slide 56 text

プロンプトの例

Slide 57

Slide 57 text

プロンプトのテンプレートをメンバに共有する • プロジェクトのドキュメントに記載して、メンバが活⽤することで 
 チーム内のコードに統⼀感が⽣まれるとのこと • ⾶び道具的な使い⽅をしているのかと思ったが、とにかくCopilotやChat GPTにコードを書かせているだけだった • とはいえここまで数字に現れるとは思っていなかったので知⾒だった

Slide 58

Slide 58 text

開発⽣産性と向き合う

Slide 59

Slide 59 text

https://www.cyberagent.co.jp/way/list/detail/id= 5 開発⽣産性と開発体験の部署

Slide 60

Slide 60 text

⽣産性が上がると得られること • 作業量のXX%はAIツールの利⽤によって削減ができます🙋 • リリースサイクルが⾼速化されて1⽇あたりのリリース回数がYY回増えます🙋 • これまでの半分のチームサイズでサービス開発ができます🙋 • リリース後に発覚するバグの数がZ%減少しました☺

Slide 61

Slide 61 text

開発⽣産性と向き合う • 「⽣産性」だけを突き詰めていくとどうなるんだろう…?

Slide 62

Slide 62 text

「ムダ」から⽣まれるもの https://youtu.be/uN 6

Slide 63

Slide 63 text

技術は「いたずら」のような物から⽣まれる https://dnobori.cyber.ipa.go.jp/ppt/download/ 0 % 9

Slide 64

Slide 64 text

技術は「いたずら」のような物から⽣まれる https://dnobori.cyber.ipa.go.jp/ppt/download/ 0 % 9

Slide 65

Slide 65 text

技術は「いたずら」のような物から⽣まれる https://dnobori.cyber.ipa.go.jp/ppt/download/ 0 % 9

Slide 66

Slide 66 text

「作る経験はコピーできない。」

Slide 67

Slide 67 text

開発⽣産性と向き合う • ⽣成AIの活⽤でエンジニアの平均的な開発⽣産性はどんどん上がるはず。 • 短期的には⽣成AIの活⽤による⽣産性向上が武器になるはず。 • 中⻑期的にはそれが当たり前になるはず。 • ⼀⽅でソフトウェア開発は決まったものを⽣産する活動ではないはず。 • ⽣産性が向上した分をどこに投資するのか? • ソフトウェアエンジニアは何を⽣み出していくのか?

Slide 68

Slide 68 text

まとめ • サイバーエージェントがGitHub Copilotを導⼊するまでの流れ • スピード感とみんなの協⼒が⼤事! • GitHub Copilotを導⼊してどんな変化があったか • メキメキ開発速度を上げている⼈も出はじめた! • 開発⽣産性との向き合い⽅ • ソフトウェアエンジニアとしてこの先⽣きのこるには… • つづきはパネルディスカッションで!

Slide 69

Slide 69 text

No content