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
Timee-event-Copilot
Search
Yuki Hattori
September 25, 2023
Technology
2
300
Timee-event-Copilot
Yuki Hattori
September 25, 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
プロダクト開発を加速させるためのQA文化の築き方 / How to build QA culture to accelerate product development
mii3king
1
250
Amazon SageMaker Unified Studio(Preview)、Lakehouse と Amazon S3 Tables
ishikawa_satoru
0
150
Password-less Journey - パスキーへの移行を見据えたユーザーの準備 @ AXIES 2024
ritou
3
1.4k
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
4
540
20241220_S3 tablesの使い方を検証してみた
handy
3
170
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
160
株式会社ログラス − エンジニア向け会社説明資料 / Loglass Comapany Deck for Engineer
loglass2019
3
31k
Fanstaの1年を大解剖! 一人SREはどこまでできるのか!?
syossan27
2
150
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
520
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
250
なぜCodeceptJSを選んだか
goataka
0
150
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
45
7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
Raft: Consensus for Rubyists
vanstee
137
6.7k
Designing for Performance
lara
604
68k
A Modern Web Designer's Workflow
chriscoyier
693
190k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
440
Transcript
開発⽣産性をあげる を 徹底解剖! Yuki Hattori Customer Success Architect GitHub Japan
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/
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 によって開発 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: ⾮アクティブなオープンしているタブ Language Marker の例 "html": "<!DOCTYPE html>", "python": "#\!/usr/bin/env python3", "ruby": "#\!/usr/bin/env ruby",
Prompt Crafting: Markers Path: foo/foo.py Language Marker HTML: <!DOCTYPE html>
Python: #\!/usr/bin/env python3 Ruby: #\!/usr/bin/env ruby ファイルパスおよび言語マーカーは、強力なシグナルを言語モデルに 提供し、出力の構文と文法を調整します。
Prompt Crafting: 隣接ファイル Open Tab 1 Open Tab 2 他のオープンタブからのコード
スニペットは類似性を検索し、 プロンプトに追加のコンテキス トとして注入されます。
Snippet Inclusion – 隣接するタブ • 最⼤で 20 ファイルまで 過去の履歴 (FIFO)
を遡り読み込む • 同じ⾔語のファイルを読み込む
文字の類似性でファイル内を検索 • GitHub Copilot は 現在⽂字の類似性 を活⽤して類似性を求める • 関数名はシンプルかつ、意味のあるものにする必要性 •
AB テストなどでこの⽅法は変わります / カーソル履歴など • ⼀貫して⾔えること • ⼀貫性のある命名規則ときれいなコード • 現在何をしているのかにフォーカスしながら作業
GitHub Copilot の制限 • プロンプトの制限トークン数 • トークンが無限に渡せるわけではない • 渡せるトークンの数は増加中 •
より多くの情報を渡すには…? • ⽇本語よりも英語を使う • 短く、わかりやすい変数名 • ⼀⽅でトークンが多ければ確実に精度が上が るわけではないのでご注意を https://platform.openai.com/tokenizer
December, 2022 GitHub Copilot GitHub Copilot Tips and Tricks BJOBUJWFEFW
None
None
None
None
None
None
None
None
None
None
None
None
None
None
まとめ: あまり気にしすぎない • 「知っている」と「知らない」では GitHub Copilot の飼い慣らしに差はでますが、 GitHub ではそれを意識しないでも高いコード提案ができるようにプロダクトを作っています。 •
結局のところ「良いコーディング」をすれば、提案されるコードも「良いコード」になります。 • 人間にとって良いコーディング • 文脈を知らない人でもわかるようなコーディング • ミスを誘発しないような確かなコーディング
None
None