
AIとコーディング:これらのテクノロジー企業がプログラミングに生成AIをどのように活用しているか

生成 AI はすでにソフトウェア エンジニアの仕事のやり方を変えています。
GitHub Copilot、Amazon CodeWhisperer、ChatGPT、Tabnine、その他さまざまな AI コーディング ツールが急速に普及し、開発者が日常的なタスクを自動化し、より困難な問題に取り組む時間を確保できるようにしています。
GitHubの最新調査によると、米国に拠点を置く開発者の92%が業務内外でAIコーディングツールを利用しており、70%がこれらのツールが仕事で有利になると回答しています。また、過半数の開発者は、AIツールがチームコラボレーションの向上につながり、燃え尽き症候群の予防にも役立つと考えています。
Stack Overflow の別の調査でも同様に AI コーディング ツールが採用されていることが示され、77% の回答者が開発ワークフローで AI を使用することに好意的であると回答しています。
マイクロソフトのCEO、サティア・ナデラ氏は、火曜日に公開されたWiredのインタビューで、AIのコーディング能力を見てAIが変革をもたらすだろうと気づき、それが同社によるGitHub Copilotの開発につながったと語った。
私たちはシアトルのテクノロジー企業 6 社のエンジニアリング リーダーに会い、生成 AI をどのように活用し、それが仕事にどのような変化をもたらしているのかについて学びました。
シアトルのコラボレーションソフトウェアスタートアップ、AugmendのCEO兼共同創業者、ダイアモンド・ビショップ氏

AIのおかげで、私たちのような小規模なスタートアップでも、ソフトウェア開発ライフサイクルのあらゆる側面を加速させることができます。私たちは5人の開発者チームですが、生産性への影響はほぼ2倍になると見積もっています。
私たちは皆、日々の開発、デバッグ、そして学習において、CopilotとChatGPTの両方を活用しています。これらのツールを正しく活用し、AIを活用したサイバネティック開発者として最適な方法を知ることは、それ自体がスキルです。なぜなら、落とし穴(幻覚的なAPI/関数)や、学ぶべき呪文のようなものが存在するからです。しかし、新興スタートアップで何でも屋として働く場合、まだ専門家ではない分野、つまり多くの分野において、これは非常に価値のあるスキルです。
この拡張機能なしでコーディングに戻ると、インターネットを利用できない状態で作業しているような気分になります。」
シアトルを拠点とする不動産会社RedfinのCTO、ブリジット・フレイ氏

AIツールがエンジニアの効率向上に役立っている事例は既に数多くあります。例えば、ChatGPTを含むLLMモデルを社内タスクの支援に活用し、プログラミング言語の移行、他の同僚が書いたレガシーコードの理解支援、データ形式変換関数の作成といった業務において、かなりの成果を上げています。これらは、エンジニアがLLMの支援なしでも実行できるタスクの良い例ですが、これらのモデルを活用することで、はるかに迅速に作業を進めることができます。かつてエンジニアが30分かかっていた作業が、AIによって1分で完了するようになりました。
「かつてはエンジニアが30分かかっていた作業が、今ではAIが1分でこなせるようになりました。」
これらのツールを活用することで、お客様へのサービス提供をより効率的に行う方法も見つけました。例えば、住宅所有者がRedfinのカスタマーサービスチームに連絡し、Redfinの見積もりでなぜその価格が設定されたのかを尋ねることは珍しくありません。そこで、法学修士(LLM)に、Redfinの見積もりが特定の住宅に対してなぜその価格設定になったのかを分かりやすい言葉で説明できるように指導しました。そして、その分析結果をカスタマーサービスチームを通じてお客様に伝え、何が起こっているのかを理解してもらえるようにしています。
その他のケースでは、まだ実験段階の初期段階であるため、大きな影響は見られませんが、どのようなメリットが得られるかテストを実施しています。その一例がGitHubのCopilotです。予測コードを提案する機能が、シンプルなスクリプトの作成をサポートすることで、定型的なコーディング作業を少しでも速く、簡単にできるかどうかを検討しています。

シアトルを拠点とする会話型AIスタートアップ企業Outbound AIのCTO兼共同創業者、ジョナサン・ウィッグス氏
最近、GPTを活用して、AI搭載の仮想エージェントによる通話内容のナラティブ要約を作成しました。その結果、GPTは経験豊富な人間の担当者と同等、あるいはそれ以上の成果を上げていることがわかりました。これはGPTが非常に得意とする点の一つです。また、よく知られているAPI呼び出しのコードスニペットを作成するために、生成プロセスも活用しています。大規模言語モデルは、このような集中的でパターンベースのコード構築に最適です。
とはいえ、私たちの業務の90%は依然として経験豊富で熟練したエンジニアを必要としていることを強調しておくことが重要です。柔軟性を保ち、これらのツールを実用的かつ思慮深く導入する企業が、自社と顧客の両方にとって勝利を収めるだろうと私は考えています。

シアトルの衣料品レンタルスタートアップ企業ArmoireのCTO、ローラ・バトラー氏
最近、GitHub Copilotを使い始めました。ユニットテストのボイラープレート生成にとても役立っています。Visual Studio Codeのオートコンプリートとオートサジェスト機能も、煩わしさを感じさせず、非常に優れています。IntellisenseやPylanceのような言語プラグインは以前から存在していましたが、GitHub Copilotはそれらをさらに進化させています。
生成AIとコーディングの最大の問題は、パターンや洗練されたコピー&ペーストでうまく機能することです。しかし、優れたエンジニアリングとは、大量のコードを生成することではありません。重要なのは、より少ないコード、共有コンポーネント、既存のAPIやサービスの利用、そして品質と保守性です。コメントのないJavaScriptファイルはもう必要ありません。綿密に検討、レビュー、テストされていないバグだらけのコードはもう必要ありません。
AI ツールは、ドキュメント作成とブレインストーミングという 2 つの分野でエンジニアリングに本当に役立つと思います。
コード内のドキュメントやコメントはすぐに古くなってしまい、役に立たなくなってしまいます。忙しいプログラマーでも、質の高いドキュメントを簡単に作成し、最新の状態に保つことができれば素晴らしいと思います。
ブレインストーミングのサポート、言葉からたくさんの画像や選択肢を生成してアイデア創出を加速させる、そういったサポートも素晴らしいですね。グラフィックアーティストではない私たちにとって、プロトタイプ制作を始める前に頭の中にあるものを視覚化し共有するには、多くのサポートが必要です。

シアトルのセールスソフトウェアスタートアップであるHighspotのエンジニアリング担当副社長、ジョン・チャン氏
エンジニアリングの「副操縦士」として生成AIを活用することで、メリットと限界が等しく現れました。特に汎用的な実装やテストシナリオ用のコード生成において、時間の節約に役立っています。
もちろん、私たちは常にその機能を確認していますが、複雑な実装ではまだその価値を実感できていません。現在、より幅広いエンジニア層への導入を開始しており、利用が進むにつれてより大きな価値が生まれることを期待しています。

シアトルのスタートアップスタジオ、パイオニアスクエアラボの主任ソフトウェアエンジニア、ケビン・レネウェイ氏
私たちは2020年のGPT-3プライベートベータ版の頃からGPTを使ったアプリの開発を始めました。そして昨年はGitHub Copilotの初期ベータ版ユーザーでした。Copilotは、馴染みのないAPIを使ったプロトタイピングや、定型コードや簡単なテストを素早く記述するなど、多くのPSLタスクに特に役立ちました。
3 月に GPT-4 を利用できるようになってから、実際に機能するコードを構築するために AI をどこまで活用できるかを真剣に検討し始めました。
ちょっとした楽しみのために、OttoというAIコーディングの「インターン」を作り始めました。目標は、Ottoがチームの他の開発者と同じように、既存の開発ワークフローやコミュニケーションワークフローと連携できるようにすることです。GitHubで課題を割り当てたり、Slackでフィードバックを送信したり、プルリクエストでインタラクティブなコードレビューを行ったりできます。Ottoは様々な役割を担うことができます。例えば、プロジェクト概要をGitHubの課題の詳細なリストに変換することでプロジェクトマネージャーとして機能したり、Figmaプラグインを使ってデザインをアプリのコンポーネントに変換することでデザイナーとして機能したりすることもできます。
Ottoのアイデアを最初に思いついたとき、最初のステップの一つはGitHubとSlackのAPIと連携するためのコードをすべて書くことだと気づきました。通常であれば、これらのAPIを学習し、基本的な機能を動作させるのは非常に面倒な作業になりますが、GPT-4のおかげで、コアコードを数日ではなくわずか数時間で記述することができました。
「子どもの頃にコモドール64をいじっていたとき以来感じたことのない、コーディングの喜びが再び蘇りました。」
GPT-4は日常的な部分を効率的に処理してくれるので、より高次の計画と迅速なエンジニアリングに集中してプロジェクト全体を稼働させることができることに気づきました。子供の頃にコモドール64をいじっていた頃以来、感じていなかったコーディングの喜びが再び蘇りました。
AIの大ファンであるにもかかわらず、将来については少し不安も抱いています。過去20年間のキャリアをソフトウェア開発に捧げてきたので、今後5~10年で蓄積してきた知識の有用性が低下してしまうのではないかという不安は確かにあります。ここ数ヶ月、自動コーディングボットをゆっくりと構築してきましたが、今ではほぼ動作するようになり、日常業務の多くをこなせる、カスタマイズされ、連携されたAIエージェントを手に入れたときの感覚を真に理解した世界で最初の人物の一人ではないかと気づきました。ワクワクする一方で、培ってきたスキルセットの有用性が徐々に低下していくのを感じると、少し寂しくもなります。