
2025.03.07
メール対応担当の8割以上が「カスハラ被害」に クレームのハード化・長期化を防ぐ4つの対策
リンクをコピー
記事をブックマーク
服部佑樹氏:ギットハブ社の服部です。本日は、「開発生産性をあげるGitHub Copilotを徹底解剖!」というところで、ちょっと裏側の実装的なところも含め、どうなっているのかも少しお話できたらなと思います。
その前に、もしかしたらまだ「GitHub Copilot」を「触ったことがないです」という方もいらっしゃると思うので、復習になってしまう方もいるかもしれませんが、「GitHub Copilotとは?」というお話から始めたいと思います。
まず、GitHub Copilotですが、「AI pair programmer」というところで、「Visual Studio Code」のエクステンションとして入れると、AIがコード生成を助けてくれるというものです。
ただ、生成系AIの話で一般的な話ではありますが、静的解析に基づいて出しているわけではないので、もしかしたら間違う可能性がある。もしかしたら文脈と合っていないものが出る可能性もあります。
そういったところも含めて、やはりエンジニアのスキルや知識や諸々の経験みたいなところを、いかに一緒にペアプログラミングしていく中で表せるかになるかなと思います。
開発者の生産性向上というところで、やはりコードを書いているところだけがプログラマーがやるところじゃないですよね。ドキュメントを作成したり、プルリクエストのコメントを書いたり、調査をしたりというところも含めて、けっこう重いタスクだと思うんです。
そうした時にGitHub Copilotだと、コーディングももちろんだいぶ書いてくれるのですが、例えば調査のタスクをする中で、「ChatGPT」じゃないですが、GitHub Copilotに聞いて問題解決していくとか。
あとはその中で、コンテキストスイッチをなるべく減らす。例えば、ブラウザに行ったらエディターに戻って、エディターに行ったらエクセルを開いてみたいなところをなるべく少なくして、マルチタスキングを減らすことで生産性を向上させる、というところも我々はかなりフォーカスしています。
なので、GitHub Copilotで重要なところは2つあって、開発の時にはもちろん精度も大事ですが、反応、スピードもかなり大事にしているところです。
やはり、ChatGPTやチャット系のソリューションでやっていると、けっこう待ちますよね。そうしている間に頭の中からアイデアが抜け落ちてしまうということもなるべく避けたいところです。なので、GitHub Copilotとしては、そういったスピードもなるべく重要視しています。
GitHub Copilotをいじると、けっこう小さいチャンクというか少ない量で返ってくることがあると思いますが、それも実際はその理由があるからです。あまり長いものを返すよりは、どんどん提案してもらって、略すなら略してということをプログラマー側にやらせたほうがいい、そういったところでやっています。
いわゆるオープンソースでもそういう同様のソリューションは出ていて、それらを試したという声も「Twitter(現X)」などで上がっていると思いますが、我々のGitHub Copilotは、実はもう2年ほどの歴史があって、かなりカリカリにチューニングしています。
今の精度にするまでに、GitHubはお金を投資して、人を雇ってやっているので、やはりそういう精度の違いと実装の差は(あります)。
GitHub Copilotはみなさんにエディターの中で使っていただいていますが、バックエンドはもちろんあります。そもそもLLMに対して直接叩くというよりは、その中間層でAPI側がきちんとフィルタリングをしたり、本当に適切なものを返したりという処理をしている実装になっています。
なので、クライアント、バックエンド、あとはLLMと、その3レイヤーでGitHubは GitHub Copilotを作成しています。
やはり、このGitHub Copilotはエディターの中で完結させると。それこそ新しいモデルが出てきたり、いろいろ変わりゆくので、なるべくお客さんには長く使っていただきたい、プログラマーの方、エンジニアの方にも、長く使っていただきたいなということで、このエコシステムの中でいかに全体的な開発者体験、デベロッパーエクスペリエンスを上げるのかをものすごくGitHubは気にしています。
なので、チューニングをしてどんどんどんどん精度を上げていくだけというよりは、例えばプルリクエストを上げた時に、そのコメントを代わりに書いてくれたり、CLIの中で「??」というコマンドを書いて、自然言語で「このコマンドって正規表現も含めどうやって書いたらいいんだっけ?」みたいなことを書くと、少し提案してくれたりなど、そういったところの未来があります。
あと、ドキュメンテーションを見ていろいろ調査するなどのタスクがあると思います。
例えばJavaScriptやTypeScriptの中で調べたり、Googleでとりあえず検索するみたいな(ことをすると思います)。
もちろん、ドキュメントがわかる人、ないし、ここを見たらわかるという勘所がある人はそこを見に行けるのですが、そうではない場合もある。その時にAIがある程度ベクターデータベースですが、まとめて提案してくれる。ドキュメントの中にこういうデータがあったよというところの証跡というか、URLも含めてくれるものも開発しています。
なので、先ほどちょっと出しましたが、GitHub Copilotは、この全体のライフサイクルの中でいかに開発者体験を良くするのかというところを狙っています。
あとは、「Copilot Voice」という、音声でGitHub Copilotを使えるものも開発しています。これはもちろんアクセシビリティの観点もあって、やはりGitHub Copilotも Copilot Chatでもいろいろコンテキストやプロンプトの話をするのですが、条件、ないし、または情報を多く与えてあげれば与えてあげるほど精度がいい提案が返ってくるんですね。
そうした時に、いちいち全部をタイプするのは大変ですよね。もちろんそのコードベースを読んでくれますが、それ以外の情報を提供したい時は、やはり音声の入力がものすごく重要になります。
あとは、「GitHub Copilot for *Your* Codebase」というところで、今のところGitHub Copilotは、Saharaという3.5系のモデルを使っています。
実際にこのGitHub Copilotを使う中で、例えば新しいライブラリや、自分自身のチームのコードは読んでくれないよね、と思う方も多いかもしれません。
例えばチームで書いた共有ライブラリみたいなところも含めて提案してくれるという機能を開発中です。
もちろんエコシステムというお話もありますが、それ以外にも、精度というかたちでも上がっていきます。
(次回へつづく)
関連タグ:
2025.03.07
部下へのフィードバックで最初に伝える一言 何度も指摘せずに済むマネジメントの秘訣
2025.03.04
チームが協力しないのはマネジメントの問題 “協働意識”を高めるマネージャーの特徴とは?
2025.03.05
「一人前のエンジニア」になるために必要なこと 未経験からフルスタックエンジニアへの道筋
2025.01.28
適応障害→ニート→起業して1年で年収1,000万円を達成できたわけ “統計のお姉さん”サトマイ氏が語る、予想外の成功をつかめたポイント
2025.01.07
1月から始めたい「日記」を書く習慣 ビジネスパーソンにおすすめな3つの理由
2025.03.03
大企業で成功したマネージャーが中小企業で苦戦する理由 “指示待ち”部下を主体的に動かす方法
2025.03.05
「はい、わかりました」と返事をした部下が“かたちだけ動く”理由 主体性を引き出すマネジメントの鍵
2025.03.06
細かく指示出し、何度も確認…部下に悪影響をもたらすマネジメント 過干渉にならない「適度な管理」と任せるコツ
2015.11.24
人は食事をしないとどうなるか 餓死に至る3つのステップ
2025.03.12
新規事業を継続するかどうかを見極める2パターンの判断軸 会社の規模別「撤退基準」の設け方