Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GitHub Copilotのススメ
Search
marcy731
April 18, 2024
Programming
1
1.3k
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
Voidと() - 意図を伝える“ユニット型”の世界- / Void vs () -The World of Expressing Intent
marcy731
0
5
WebViewの現在地 - SwiftUI時代のWebKit - / The Current State Of WebView
marcy731
0
240
めざせ!WKWebViewマスター! / WKWebView Master
marcy731
4
2.9k
Introduction to Memory Management in Swift - Swiftのメモリ管理を知る -
marcy731
0
26
ステートマシンを活用したWebView-ネイティブ間連携へのアプローチ / An Approach to WebView-Native Communication Using State Machines
marcy731
1
1.5k
WebViewをNativeのように使いたい / Using-WebView-like-Native-App
marcy731
2
590
「アプリをつくる仕組み」の構築 / build-system-for-STORES-Branded-Apps
marcy731
0
790
Other Decks in Programming
See All in Programming
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
270
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
230
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
780
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
3.8k
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
150
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
440
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
5
2.3k
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.5k
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
10
2.5k
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
130
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
120
ELYZA_Findy AI Engineering Summit登壇資料_AIコーディング時代に「ちゃんと」やること_toB LLMプロダクト開発舞台裏_20251216
elyza
2
390
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
54
7.9k
Context Engineering - Making Every Token Count
addyosmani
9
540
Applied NLP in the Age of Generative AI
inesmontani
PRO
3
1.9k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
170
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
200
How Software Deployment tools have changed in the past 20 years
geshan
0
29k
Git: the NoSQL Database
bkeepers
PRO
432
66k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
260
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
30
Evolving SEO for Evolving Search Engines
ryanjones
0
72
sira's awesome portfolio website redesign presentation
elsirapls
0
87
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 “は”
使えるよ!オススメ!