GitHub Copilotが開発現場に与える影響
ChatGPTが登場し、生成AIを活用したサービスが次々とリリースされ、世界に衝撃を与える中、開発者にとってコーディングの概念を覆すサービスが利用者を伸ばしていた。それが、「GitHub Copilot」だ。「AIペアプログラマー」とGitHubが定義する同サービスは、Open AIの大規模言語モデルをベースに開発されたGitHubの機能のひとつ。同じ画面上でペアプログラミングしながら、より効率的にコーディングできるとして、すでに実務に取り入れて活用しているエンジニアも多い。
「弊社統計ではタスクが55%速く完了すると出ているが、コーディングはただコードを書くだけで終わるのではなく、分からないことなどを調べる作業も発生する。こうしたマルチタスキング時の切り替えコストをいかに減らせるかは重要なテーマで、GitHub Copilotではエディタ内でこれらの作業が完結する。ローコンテキストの繰り返し作業を取り除き、エンジニアが本質的な仕事に集中できることが、開発生産性の向上につながっている」。
そう述べるGitHub Japanのアーキテクト、服部佑樹氏は、もうすでに「GitHub Copilot X」というビジョンの中で、プルリクエストのためのコメント自動生成や、膨大な技術ドキュメントのなかからAIが「あなたのためのドキュメント」を生成してくれる機能、CLIにおけるコマンドの入力補助機能をプレビューとして公開しているという。
また、将来的には音声によるコーディングや、リポジトリのコード全体を総合的に読み込んでコードの提案をする機能が登場するというロードマップについても触れ、GitHubがプラットフォームとしてソフトウェア開発のライフサイクル全体で開発者を支援していくと話した。
実際、すでに多くのエンジニアはGitHub Copilotを体験し、メガベンチャーなどでは全社導入に踏み切っていると、ゆめみ代表取締役の片岡俊行氏は述べる。内製化支援を提供する同社では、顧客側のポリシーなどの関係で、必ずしもゆめみのエンジニアが生成AIサービスを活用できるわけではない現状がありながらも、「今は普及のS字カーブの立ち上がりのところに来ており、爆発的に普及、浸透するのも時間の問題」と指摘。組織はともかくとして、エンジニア個人は積極的に触っていかないといけない時期にあると述べた。
with AI時代に求められる新しい“15分ルール”
では、今後さらにGitHub Copilotなどの生成系AIの活用が浸透したとき、開発現場ではどのような変化が始まるのだろうか。同講演のモデレーターでギブリー取締役兼Trackプロダクトオーナーの新田章太氏の質問に、片岡氏は「新しい“Googleの15分ルール”を考えることになるのではないか」と返した。
Googleの15分ルールとは、15分たっても自分で解決できない問題は人に聞くというもの。15分を目処に、それ以上引っ張っても自分の時間を無駄にし、何も考えずにすぐ他人を頼っても他のエンジニアの時間を無駄にするという考えから生まれたGoogleのAI部門のルールだ。これが、GitHub Copilotなどの生成系AIの登場でアップデートしなければならなくなると片岡氏は言う。
「GitHub Copilotが何でも聞けば答えを教えてくれるペアプログラマーになった場合、どこまでもコーディングできるような気になるかもしれない。しかしそのまま進めているうちに、AIが提案するコードに対してどう解釈すべきか、どう判断すれば正解かで悩む場面が出てくる。そんな悩みにも、AIは何かしらの答えを返してくる。結果的に、エンジニアは悩むことに悩み続ける袋小路に迷い込んで抜け出せなくなるかもしれない」(片岡氏)
そこで必要なのが、新しいGoogleの15分ルールだ。「たとえば、解釈や判断に悩んでいる状態が15分続いたら、人間のテックリードやエキスパートに聞く。AIに頼る部分と人間に頼る部分の切り分けをどう考えるかが、これからは重要になる」と片岡氏は分析する。
新田氏は片岡氏の説を聞き、「人間と違って疲れることなく、いつまでも相手をしてくれるAIだからこそ、人間のチームとどう接続してシンクアップ(すり合わせ)していくのか、新しい行動習慣やwith AIのルールを考える時期にあるのかもしれない」と賛同した。
変化する市場で価値の高いエンジニアとは?
エンジニアがそうしたwith AI時代に生き残るためには、何を学び、どんな新しい習慣を手に入れていくべきか。新田氏はその一例として、プロンプトエンジニアリングを紹介。そして、ビジネスやソフトウェア開発において、決まったモデルとのプロンプトエンジニアリングが一般化した場合、ローコンテキストの領域はAIに任せて、ハイコンテキストな課題、デザイン、設計ができるエンジニアに市場価値が移るのではないかと問題提起した。
これに対して服部氏は、現在はどのくらい言語やフレームワークを知っているかがエンジニアの市場価値につながっていると言及しつつ、「どんなロジックで考え、エラーを見ながらクリティカルシンキングできるといったスキルが重視されるようになるのではないか」と述べた。
「現段階では、レビュアーがプルリクエストを受け取ったとき、そのスナップショットから、果たしてこのエンジニアはプルリクエストの内容を理解して返しているのか、それともChatGPTなどで出てきたものをそのまま返してきているのかが分からない。GitHub Copilot Chatでは、やりとりが履歴として残る。思考回路が可視化できるようになったとき、クリティカルシンキングができるかどうかもエンジニアを評価する基準のひとつになるかもしれない」(服部氏)
一方の片岡氏は、就職シーンに明るい未来をもたらすかもしれないと述べた。
「現場を経験したことのない学生は、教育コストがかかるからと採用されないケースがあると聞く。未経験者だから就職できず、経験が積めないゆえに就職できないという悪循環。GitHub Copilotでチーム開発を疑似的に経験できれば、教育コストも抑えつつ若手を採用しやすくなる。ジュニアエンジニアの裾野が広がると期待できる」(片岡氏)
そして片岡氏は、未経験者ばかりにメリットがあるのではなく、ジュニアエンジニアのサポート業務が減ることでミドルエンジニアが本来の業務に集中でき、経験を積んでシニアエンジニアに成長していくように、経験者や熟練者でもより上位の職位への成長が加速するのではないかと述べた。
いまエンジニアが考えるべき生存戦略
以上の議論を踏まえて、新田氏は最後に、with AI時代におけるエンジニアの生存戦略を質問した。これに対して片岡氏は、理解に対するメタ的な視点を養うことと断言した。自分はどのような業界や会社が向いているのか。どのような貢献ができるのか。どのような強みを活かせるのか。他者とどう補完し合えるのか。AIとの対話が増える中で、自分の感情や考え方などを俯瞰しながら見つめ直すことが、ハイコンテキストな業務にステップアップしていく鍵になるのではないかと片岡氏は提案する。
新田氏は、AIとのテキストコミュニケーションにおいても、情報の道筋を立てて質問を編み出す言語化や構造化の力がますます求められるようになると指摘。プロダクトを提供する事業会社であれば、顧客の理解、ビジネスの課題発見と解決、共感などに関わる能力が必要となり、開発支援事業会社であれば、よりアーキテクト的な目線が必要になる。こうしたハイコンテキストな課題を解決するためのスキルセットがエンジニアの生存戦略において重要になると述べて、講演を締めくくった。
自立自走ができるエンジニア育成をしたい方におすすめ!
Trackでは、問題数・受験者数・導入企業数が国内No.1のコーディング試験を使い個人のプログラミングスキルに合わせた学習環境を作ることができます。
エンジニア育成の設計や運用・振り返りについてお困りのことがございましたら、Trackサイトよりお問い合わせください。