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
2.4k
GitHub Copilot Behind the Scene
Yuki Hattori
September 13, 2023
Tweet
Share
More Decks by Yuki Hattori
See All by Yuki Hattori
InnerSource Patterns - Japanese
yuhattor
1
17
Developer Summit 2025 [14-D-1] Yuki Hattori
yuhattor
20
7.2k
GitHubの軌跡:リポジトリからAIプラットフォームへ
yuhattor
3
130
コードAI本 - コード×AIーソフトウェア開発者のための生成AI実践入門
yuhattor
1
500
Code AI Findy Event
yuhattor
7
1.1k
コード✕AIーソフトウェア開発者のための生成AI実践入門~
yuhattor
4
1.5k
Productivity-Conference-GitHub-20240629
yuhattor
2
5k
The-Next-gen-Dev-Strategy-InnerSource
yuhattor
1
81
AI-Powered Development with GitHub Copilot 20240202
yuhattor
14
6.5k
Other Decks in Technology
See All in Technology
ESXi で仮想化した ARM 環境で LLM を動作させてみるぞ
unnowataru
0
170
2/18 Making Security Scale: メルカリが考えるセキュリティ戦略 - Coincheck x LayerX x Mercari
jsonf
0
190
Snowflakeの開発・運用コストをApache Icebergで効率化しよう!~機能と活用例のご紹介~
sagara
1
430
Windows の新しい管理者保護モード
murachiakira
0
200
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
200
EDRの検知の仕組みと検知回避について
chayakonanaika
11
4.8k
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
150
RemoveだらけのPHPUnit 12に備えよう
cocoeyes02
0
280
MIMEと文字コードの闇
hirachan
2
1.4k
サイト信頼性エンジニアリングとAmazon Web Services / SRE and AWS
ymotongpoo
7
1.5k
短縮URLをお手軽に導入しよう
nakasho
0
140
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
170
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
53
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
How STYLIGHT went responsive
nonsquared
98
5.4k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Producing Creativity
orderedlist
PRO
344
40k
RailsConf 2023
tenderlove
29
1k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
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