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.3k
GitHub Copilot Behind the Scene
Yuki Hattori
September 13, 2023
Tweet
Share
More Decks by Yuki Hattori
See All by Yuki Hattori
GitHubの軌跡:リポジトリからAIプラットフォームへ
yuhattor
3
91
コードAI本 - コード×AIーソフトウェア開発者のための生成AI実践入門
yuhattor
1
270
Code AI Findy Event
yuhattor
7
990
コード✕AIーソフトウェア開発者のための生成AI実践入門~
yuhattor
4
1.2k
Productivity-Conference-GitHub-20240629
yuhattor
2
4.7k
The-Next-gen-Dev-Strategy-InnerSource
yuhattor
1
63
AI-Powered Development with GitHub Copilot 20240202
yuhattor
14
6k
AI-Powered Development with Copilot
yuhattor
0
190
Bringing Open-Source Brilliance to Scrum Teams: A Guide to Enhanced Collaboration
yuhattor
0
200
Other Decks in Technology
See All in Technology
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
440
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
100
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
510
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
180
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
280
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
520
フロントエンド設計にモブ設計を導入してみた / 20241212_cloudsign_TechFrontMeetup
bengo4com
0
1.9k
alecthomas/kong はいいぞ / kamakura.go#7
fujiwara3
1
300
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
10分で学ぶKubernetesコンテナセキュリティ/10min-k8s-container-sec
mochizuki875
3
320
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
2
2.1k
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
370
Featured
See All Featured
A Tale of Four Properties
chriscoyier
157
23k
How STYLIGHT went responsive
nonsquared
95
5.2k
It's Worth the Effort
3n
183
28k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Navigating Team Friction
lara
183
15k
Speed Design
sergeychernyshev
25
670
The Pragmatic Product Professional
lauravandoore
32
6.3k
A Philosophy of Restraint
colly
203
16k
Building an army of robots
kneath
302
44k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
365
25k
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