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
marcy731
April 18, 2024
Programming
1
1.2k
GitHub Copilotのススメ
2024/04/08 Ebisu.mobile #5 - モバイルアプリの品質改善どうしてる? -
https://hey.connpass.com/event/313395/
marcy731
April 18, 2024
Tweet
Share
More Decks by marcy731
See All by marcy731
WebViewの現在地 - SwiftUI時代のWebKit - / The Current State Of WebView
marcy731
0
170
めざせ!WKWebViewマスター! / WKWebView Master
marcy731
4
2.5k
Introduction to Memory Management in Swift - Swiftのメモリ管理を知る -
marcy731
0
23
ステートマシンを活用したWebView-ネイティブ間連携へのアプローチ / An Approach to WebView-Native Communication Using State Machines
marcy731
1
1.4k
WebViewをNativeのように使いたい / Using-WebView-like-Native-App
marcy731
2
550
「アプリをつくる仕組み」の構築 / build-system-for-STORES-Branded-Apps
marcy731
0
740
Other Decks in Programming
See All in Programming
Claude Code と OpenAI o3 で メタデータ情報を作る
laket
0
110
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
1
260
実践!App Intents対応
yuukiw00w
1
230
PHPカンファレンス関西2025 基調講演
sugimotokei
6
1.1k
ライブ配信サービスの インフラのジレンマ -マルチクラウドに至ったワケ-
mirrativ
1
130
Bedrock AgentCore ObservabilityによるAIエージェントの運用
licux
9
610
CEDEC2025 長期運営ゲームをあと10年続けるための0から始める自動テスト ~4000項目を50%自動化し、月1→毎日実行にした3年間~
akatsukigames_tech
0
120
ゲームの物理
fadis
3
950
『リコリス・リコイル』に学ぶ!! 〜キャリア戦略における計画的偶発性理論と変わる勇気の重要性〜
wanko_it
1
450
AHC051解法紹介
eijirou
0
390
オホーツクでコミュニティを立ち上げた理由―地方出身プログラマの挑戦 / TechRAMEN 2025 Conference
lemonade_37
2
460
「リーダーは意思決定する人」って本当?~ 学びを現場で活かす、リーダー4ヶ月目の試行錯誤 ~
marina1017
0
200
Featured
See All Featured
Become a Pro
speakerdeck
PRO
29
5.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Designing for humans not robots
tammielis
253
25k
KATA
mclloyd
32
14k
Adopting Sorbet at Scale
ufuk
77
9.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Building Adaptive Systems
keathley
43
2.7k
A designer walks into a library…
pauljervisheath
207
24k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Transcript
2024/04/08 Ebisu.mobile #5 - モバイルアプリの品質改善どうしてる? - GitHub Copilotのススメ STORES株式会社 モバイル開発本部
ブランドアプリグループ マネージャー/iOSエンジニア 長谷川 将司(@marcy731)
自己紹介
自己紹介 Masashi Hasegawa / 長谷川 将司 テクノロジー部門/モバイル開発本部/ブランドアプリグループ • 2022年4月 STORES(旧
hey)株式会社 に入社 ◦ STORES ブランドアプリ ▪ マネージャー / iOSエンジニア • 前職は不動産系ITベンチャーにて色々経験しました ◦ iOSアプリ開発 ◦ その他(事業立ち上げ、営業、人事、PdM) @marcy731
はじめに
はじめに STORESは GitHub Copilot Enterprise を契約しています🎉
はじめに 目的:開発速度をあげるため
はじめに Q. GitHub Copilot って結局使えるの?
はじめに Q. GitHub Copilot って結局使えるの? A. GitHub Copilot “は” 使えるよ!オススメ!
GitHub Copilot (Enterprise) とは
GitHub Copilot とは • GitHub Copilot ◦ 主な機能 ▪ AI
コーディング アシスタント(Suggestions) • 入力時にコーディングの提案が提供される(コード補完、新しいコード) ▪ チャット機能 • 問題解決の方法を尋ねたり、コードを説明してもらったり ◦ 特徴 ▪ Private Repoのコードは学習データに使われない(大事) ▪ IDE上で利用可能(Xcodeは未対応😭)
GitHub Copilot Business とは • GitHub Copilot Business ◦ 主な機能
▪ AI コーディング アシスタント(Suggestions) • 入力時にコーディングの提案が提供される(コード補完、新しいコード) ▪ チャット機能 • 問題解決の方法を尋ねたり、コードを説明してもらったり ◦ 特徴 ▪ Private Repoのコードは学習データに使われない(大事) ▪ IDE上で利用可能(Xcodeは未対応😭) ▪ GitHub Enterprise 内で Organization の GitHub Copilot へのアクセスを管理できる ▪ テレメトリー、プロンプトの候補は、GitHub側に保存もされない(大事)
GitHub Copilot Enterprise とは • GitHub Copilot Enterprise ◦ 主な機能
▪ AI コーディング アシスタント(Suggestions) • 入力時にコーディングの提案が提供される(コード補完、新しいコード) ▪ チャット機能 • 問題解決の方法を尋ねたり、コードを説明してもらったり ▪ Copilot Chat in GitHub.com • GUI上でのChatが利用可能 ▪ Copilot pull request summaries ▪ knowledge bases • (複数)リポジトリ内のドキュメントを学習させたナレッジ ベースを作成 ◦ 特徴 ▪ Private Repoのコードは学習データに使われない(大事) ▪ IDE上で利用可能(Xcodeは未対応😭) ▪ GitHub Enterprise 内で Organization の GitHub Copilot へのアクセスを管理できる ▪ テレメトリー、プロンプトの候補は、GitHub側に保存もされない(大事)
Xcode で GitHub Copilot を利用する
Xcode で GitHub Copilot を利用する • GitHub Copilot は公式でXcodeをサポートしていません •
そこで https://github.com/intitni/CopilotForXcode を利用する ◦ Copilot for Xcode はGitHub CopilotをXcodeで利用できるようにしたOSSのプラグイン
Copilot for Xcode でできること • Code Suggestions • Chat •
Prompt to code
Copilot for Xcode でできること • Code Suggestions (powered by GitHub
Copilot and Codeium) • Chat (powered by OpenAI ChatGPT) • Prompt to code (powered by OpenAI ChatGPT)
Copilot for Xcode でできること • Code Suggestions (powered by GitHub
Copilot and Codeium) • Chat (powered by OpenAI ChatGPT) • Prompt to code (powered by OpenAI ChatGPT) GitHub Copilotの機能
Copilot for Xcode でできること • Code Suggestions (powered by GitHub
Copilot and Codeium) • Chat (powered by OpenAI ChatGPT) • Prompt to code (powered by OpenAI ChatGPT) ChatGPT APIが必要
GitHub Copilot 各機能と所感
Code Suggestions
Code Suggestions • 使い方 ◦ コーディング中に リアルタイムで Suggestions が表示される ◦
提案を受け入れる時は「Accept」、拒否する時は「Reject」もしくは無視 ◦ Key Binding を設定し、マウス操作なしでAcceptできると便利
Code Suggestions https://product.st.inc/entry/2023/05/23/110000
Code Suggestions • 所感 ◦ 正直、他言語で聞くほど「それ良い!」という提案自体は少ないかも ◦ 全ての提案が「Good」ではないが、たまに「気が利く!」という提案もある ◦ 特定のユースケースにおいては捗ることが多い
▪ 例えば、既存の似たようなコードをベースにしての提案 • ボイラープレートコードでの提案 • Previewやテストのためのデータ準備 • SwiftUIのおおまかな実装の提案 ▪ 提案されたコードがそのまま使えることは多くないが、参考になるので開発速度は上がる ◦ 精度には波はあるが、良いコードだけ受け入れれば良いので正直デメリットはない ◦ Copilot for Xcodeを入れるとXcodeが重くなったという声も聞くが… ▪ 私の環境だと全く感じない ◦ CI/CD周りで Ruby Script や ShellScript を書く場合、提案がとても参考になる
Chat
Chat • 使い方 ◦ Xcode > Editor > Copilot >
Open Chat (shotcutを設定していると楽) ◦ 注意点は あくまでもChatGPTなので Prompt の内容には注意
Chat • 所感 ◦ 今やみんな利用している ChatGPT がXcodeから呼び出せる! ▪ (これだけ。でもそれが嬉しい。開発効率は上がる。) ◦
公式ドキュメントで調べるのが正しいのはそれはそう。 ◦ でもちょっと気軽に調べたり、相談したい時にとて良い。
Copilot Chat in GitHub.com(for Enterprise)
Copilot Chat in GitHub.com • 使い方 ◦ ブラウザ上のGitHubでソースコード閲覧時に、「Ask Copilot」というアイコンを押下
Copilot Chat in GitHub.com • fileをAttachmentに指定することで、コードの背景も汲み取った返答が可能
Copilot Chat in GitHub.com • どんな時に役にたつ? ◦ PR Review時 ▪
とくに自分が慣れていないプロダクトのReview時 • ex ◦ iOSエンジニアがAndroidをレビューする ▪ もっと良い書き方ありそうだなーって時 • Copilot Chatにレビューの壁打ち相手になってもらう ▪ Copilot Auto Review 求む ◦ Android・Backendの仕様を確認する時 ▪ なんとなくは分かるが…詳細は…の時
GitHub Copilot Enterprise の他の機能
GitHub Copilot Enterprise の他の機能 • Copilot pull request summaries ◦
PR Editor > Copilots Actions > Summary ◦ PRサマリーが自動生成
GitHub Copilot Enterprise の他の機能 • Copilot pull request summaries ◦
自動生成されたサマリーの精度 ▪ Whatはしっかり記述されている • が、Whyがないため、あと一歩というところ ▪ 英語のみ対応なので日本語対応が欲しい
GitHub Copilot Enterprise の他の機能 • Copilot knowledge bases ◦ 現状esaでドキュメントを管理していることもあり、まだとりかかれていません
◦ 他プロダクトのバックエンドチームでは成果が出ているとのこと ◦ 今後やっていきたい
まとめ
まとめ • Code Suggestions ⛅ ◦ 現状iOSアプリ開発においては「Copilot最高!」というわけではない ◦ ただ「たまに気の利いた提案をしてくれる良い奴」としてそばにいてくれるのはとても良い ◦
まだ「副操縦士見習い」のイメージ • Chat 🌤 ◦ XcodeからChatGPTをすぐに呼び出せるのは便利 • Copilot Chat in GitHub.com 🔆 ◦ PRレビュー時やAndroidやバックエンドのコードリーディング時にとても役にたつ • 今後 🌈 ◦ まだCopilotは進化の途中、今後に期待 ◦ Xcodeに公式にAI機能が入るらしいので、それにも期待
最後に Q. GitHub Copilot って結局使えるの?
最後に Q. GitHub Copilot って結局使えるの? A. (Suggestionsなど物足りないが) GitHub Copilot “は”
使えるよ!オススメ!