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 Behind the Scene
Search
Yuki Hattori
September 13, 2023
Technology
1
2k
GitHub Copilot Behind the Scene
Yuki Hattori
September 13, 2023
Tweet
Share
More Decks by Yuki Hattori
See All by Yuki Hattori
Productivity-Conference-GitHub-20240629
yuhattor
2
3.9k
The-Next-gen-Dev-Strategy-InnerSource
yuhattor
1
31
AI-Powered Development with GitHub Copilot 20240202
yuhattor
12
4.9k
AI-Powered Development with Copilot
yuhattor
0
160
Bringing Open-Source Brilliance to Scrum Teams: A Guide to Enhanced Collaboration
yuhattor
0
170
GitHub Copilot for IT Professionals - 考え方のポイント
yuhattor
1
360
GitHub Universe JP Keynote
yuhattor
0
150
GitHub Universe 主要アップデート
yuhattor
0
460
InnerSource for Developer Experience and Competitive Advantages
yuhattor
0
160
Other Decks in Technology
See All in Technology
Functional TypeScript
naoya
6
2.8k
中規模・ミドルTier開発組織におけるDevRelの戦略と実行と成果 - DevRel Guild Conference Mini -
leveragestech
2
280
技術力あげたい
hisaichi5518
2
2.8k
エンジニア向け会社紹介資料
caddi_eng
15
250k
LLMに日本語テキストを学習させる意義
ksaito
13
3.6k
20240906_JAWS_Yamanashi_#1_leap_beyond_the_AWS_all_certifications
tsumita
1
190
ビジネスとエンジニアリングを繋ぐプロダクトを中心とした組織づくりの実践
sansantech
PRO
1
120
四国のあのイベントの〇〇システムを45日間で構築した話 / cloudohenro2024_tachibana
biatunky
0
230
自社開発した大規模言語モデルをどうプロダクションに乗せて運用していくか〜インフラ編〜
pfn
PRO
4
1k
Our Journey from in-House CD System to Open Source
ffjlabo
0
110
標準ライブラリの奥深アップデートを掘り下げよう!
logica0419
2
420
「名前解決」から振り返るAmazon VPC
yuki_ink
0
320
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
4 Signs Your Business is Dying
shpigford
179
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
Web development in the modern age
philhawksworth
204
10k
Bash Introduction
62gerente
608
210k
Art, The Web, and Tiny UX
lynnandtonic
294
20k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.8k
Facilitating Awesome Meetings
lara
49
5.9k
How to Think Like a Performance Engineer
csswizardry
15
920
Fashionably flexible responsive web design (full day workshop)
malarkey
400
65k
YesSQL, Process and Tooling at Scale
rocio
167
14k
Designing Experiences People Love
moore
138
23k
Transcript
の裏側と Tips & Tricks Yuki Hattori Customer Success Architect GitHub
Japan
December, 2022 GitHub Copilot Agenda GitHub Copilot 101 Demo Behind
the curtain Tips and Trick Q&A
None
開発者の⽣産性向上 本当の問題に集中でき、満⾜度も向上 イノベーションを加速 より速くプロトタイプやイノベーションを実現 スキルギャップを埋める 新しい開発⾔語や技術を習得 開発者に⼤きな アドバンテージを提供
55% 46% 74% のコードがCopilotによるもの 速くタスクを完了 がより満⾜する仕事に 集中できたと証⾔ プロジェクトの⽂脈に即したコードを提案
OpenAI Model 文脈 提案
今後のGitHub Copilot リファクタリング (コード翻訳) コードレビュー (コード解説) ドキュメント化 今後のGitHub Copilot ユニットテスト
コードエラー検知 デバッグ コードレビュー AI による Pull Request 現在のGitHub Copilot コメントをコードに変換 繰り返すコードを補完 代替⼿段を表⽰ 1 計画 2 分析 3 設計 4 実装 5 テストと統合 6 メンテナンス X エディタを⾶び出し SDLC 全体を AI で⽀援
GitHub Copilot X Copilot for Pull Requests Copilot for Docs
Copilot for the CLI Copilot Chat
GitHub Copilot Future コードやドキュメントから、ユニットテストを 自動生成 TestPilot Codespaces上に存在するすべてのコードを使う ことで提案を改善 GitHub Copilot
for *Your* Codebase キーボードを使わずにコードを書く Copilot Voice https://githubnext.com/
None
December, 2022 GitHub Copilot GitHub Copilot Behind the curtain
GitHub Copilot の裏側 • GitHub Copilot の仕組み • GitHub Copilot
がエディタの情報をどのように取るのか = GitHub Copilot Prompt Crafting • Tips and Tricks
GitHub Copilot の 3 Layer Copilot Platform Copilot Client OpenAI
Model API * 上記は GitHub Copilot のアーキテクチャを抽象化した図です Githubによって開発及び保守。 認証、セキュリティ、プライバシー Githubによって開発及び保守。 カスタムプロンプト作成と自動補完 ユーザーエクスペリエンスを提供 OpenAI によって開発 GitHub が Azure でホスティング スケーラブルなデリバリー
GitHub Copilot のモデル GitHub Copilot のモデル選定重要事項 • 精度 • 速度
←とても重要 現在は GPT3.5-turbo の派生版である Sahara-base を利用 Codex は今は利用していません *今後変わる可能性があります
Large Language Models LLM To k 1. Attention 2. Tokenization
3. Autoregressive(自己回帰型) Very Very …. Very Large Neural Network To,k ens To,k,ens in To,k,ens, in . Tokens in. To,k,ens, in, . テキストはトークンに分割され、モデルに1つずつ供給されます。 前のトークンに基づいて次のトークンを予測する、訓練済のモデルです。
Prompt Crafting • Language Marker: プログラミング⾔語情報 • Path Marker: 現在のファイルへのパス
• Neighboring Tabs: ⾮アクティブなオープンしているタブ • Code Retrieval: コードベースの中の他の場所のコード (New) Language Marker の例 "html": "<!DOCTYPE html>", "python": "#\!/usr/bin/env python3", "ruby": "#\!/usr/bin/env ruby",
December, 2022 GitHub Copilot GitHub Copilot Tips and Tricks
None
None
None
None
None
None
None
None
Tips and Tricks: あまり気にしすぎない • 「知っている」と「知らない」では GitHub Copilot の飼い慣らしに差はでますが、 GitHub
ではそれを意識しないでも高いコード提案ができるようにプロダクトを作っています。 • 結局のところ「良いコーディング」をすれば、提案されるコードも「良いコード」になります。 • 人間にとって良いコーディング • 文脈を知らない人でもわかるようなコーディング • ミスを誘発しないような確かなコーディング
None
None