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.2k
GitHub Copilot Behind the Scene
Yuki Hattori
September 13, 2023
Tweet
Share
More Decks by Yuki Hattori
See All by Yuki Hattori
コードAI本 - コード×AIーソフトウェア開発者のための生成AI実践入門
yuhattor
1
170
Code AI Findy Event
yuhattor
6
860
コード✕AIーソフトウェア開発者のための生成AI実践入門~
yuhattor
4
1.2k
Productivity-Conference-GitHub-20240629
yuhattor
2
4.5k
The-Next-gen-Dev-Strategy-InnerSource
yuhattor
1
52
AI-Powered Development with GitHub Copilot 20240202
yuhattor
14
5.8k
AI-Powered Development with Copilot
yuhattor
0
180
Bringing Open-Source Brilliance to Scrum Teams: A Guide to Enhanced Collaboration
yuhattor
0
180
GitHub Copilot for IT Professionals - 考え方のポイント
yuhattor
1
420
Other Decks in Technology
See All in Technology
OS 標準のデザインシステムを超えて - より柔軟な Flutter テーマ管理 | FlutterKaigi 2024
ronnnnn
0
110
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
180
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
390
アジャイルでの品質の進化 Agile in Motion vol.1/20241118 Hiroyuki Sato
shift_evolve
0
160
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
630
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
3
220
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
480
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
480
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
310
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Side Projects
sachag
452
42k
GitHub's CSS Performance
jonrohan
1030
460k
Producing Creativity
orderedlist
PRO
341
39k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Building Applications with DynamoDB
mza
90
6.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Designing Experiences People Love
moore
138
23k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
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