マシン・プログラミングで
人海戦術に終止符、
AIコーディングに第二の波
生成AIがいま、ソフトウェア開発を変えようとしている。コードの自動補完から始まった支援は、プログラミングの本質を理解し、人間に代わってコードを考案するレベルへと進化しつつある。第一世代ツールが開発現場に浸透する中、AIコーディングは「第二の波」を迎え、数百人規模の開発チームを必要とした時代に終止符を打とうとしている。 by Will Douglas Heaven2025.01.30
- この記事の3つのポイント
-
- コーディングアシスタントの進化でソフトウェア開発の在り方が変化しつつある
- 単なるコード生成を超え人間の思考プロセスを模倣し始めている
- 一部の企業はコーディングアシスタントをAGIへの第一歩と位置付けている
生成AIの開発者に、現在の生成AIが何に適しているのか、彼らが特に熱心に取り組んでいる分野は何か、と尋ねると、多くの人が「コーディング」と答えるだろう。
「開発者にとって非常に刺激的なことです」。アンソロピック(Anthropic)の主任科学者であるジャレッド・カプランは先日、MITテクノロジーレビューのインタビューにこう語った。「生成AIはコードの問題点を本当に理解し、それをデバッグしてくれます」。
オープンAIの大規模言語モデルを基盤に構築され、マイクロソフトが支援するギットハブ(GitHub)によって2022年にリリースされたツール「Copilot(コパイロット)」は現在、世界中の数百万人の開発者に利用されている。さらに数百万人の開発者たちが、アンソロピックの「Claude(クロード)」、オープンAIの「ChatGPT(チャットGPT)」、グーグル・ディープマインドの「Gemini(ジェミニ)」といった汎用チャットボットを活用し、日常業務を効率化している。
「現在、グーグルで作成されるすべての新しいコードのうち4分の1以上がAIによって生成され、それをエンジニアがレビューし、承認しています」。アルファベットのCEOであるサンダー・ピチャイは、昨年10月の決算説明会でこう述べた。「これにより、当社のエンジニアはより多くの作業を、より迅速に進めることができます」。他のテクノロジー企業も、すでに同様の取り組みを進めているか、今後追随することが期待される。
AIコーディングツールの展開は、大手企業だけにとどまらない。非常に注目を浴びており、多くのスタートアップ企業が参入している。ゼンコーダー(Zencoder)、マーリー(Merly)、コサイン(Cosine)、テッスル(Tessl、設立から数カ月で7億5000万ドルの評価額)、プールサイド(Poolside、製品リリース前にもかかわらず30億ドルの評価額)といった新興企業が、市場の一角を獲得しようと競争を繰り広げている。「実際、開発者たちはCopilotにお金を払うことをいとわないようです」。投資会社エア・ストリート・キャピタル(Air Street Capital)のアナリストであるネイサン・ベナイチは指摘する。「つまり、コードはAIを収益化する最も簡単な手段の一つなのです」。
これらの企業は、生成コーディング・アシスタントを次のレベルへと進化させることを目指している。現在のほとんどのツールが、強化されたオート・コンプリート機能を提供するのに対し、次世代ツールはコードを試作し、テストし、デバッグする能力を備える可能性がある。その結果、開発者の役割は、ゼロからコードを書くことから、モデルが生成したコードをレビューし、修正する方向へと変化するかもしれない。
しかし、それだけではない。生成コーディングアシスタントの開発者の多くは、これらのツールが汎用人工知能(AGI)への近道となる可能性があると考えている。AGIとは、多くのトップ企業が目標として掲げている、仮説上の超人的な知能を持つテクノロジーである。
「経済的に大きな価値を生み出す分野で、初めて人間レベルの能力に到達するのは、ソフトウェア開発になるでしょう」。プールサイドの共同創業者兼CEOであるエイソ・カントはこう話す(オープンAIはすでに、同社の最新モデル「o3」が、主任科学者をコーディング競技会で打ち負かしたと公表している)。
AIコーディングの「第二の波」が、いま到来している。
正しいコード
ソフトウェア・エンジニアが「正しさ」について語るとき、それには2種類の意味がある。1つは、プログラムのシンタックス(構文)が正しいことだ。つまり、すべての単語、数字、演算子が正しい位置に配置されていることである。これは、自然言語における文法的な正しさよりもはるかに重要である。何千行ものコードの中にたった1つの誤りがあるだけで、そのプログラムはまったく動作しなくなるからだ。
この意味において、コーディング・アシスタントの第一世代は、正しいコードを生成する能力を大幅に向上させた。何十億ものコードで訓練されたこれらのツールは、多種多様なプログラムの表面的な構造をある程度理解するようになっている。
一方で、プログラムの「機能的な正しさ」も重要である。確かにコードは実行されるかもしれないが、それが本当に意図した通りに動作するのか、という問題だ。生成コーディング・アシスタントの次の進化は、この「機能的な正しさ」を追求することであり、これこそがソフトウェア開発のあり方を根本から変える可能性を持っている。
「大規模言語モデルは、コンパイル可能なコードを書くことはできますが、常にあなたが望むプログラムを生成するとは限りません」。コサインの共同創業者であるアリステア・プーレンは指摘する。「意図したプログラムを作成するには、人間のコーダーがその結果に到達するまでに経るであろう思考プロセスを再現する必要があります」。
しかし、ほとんどのコーディング・アシスタントが訓練されたデータ、つまりオンライン・リポジトリから取得された何十億ものコードの断片には、そのような思考プロセスが記録されていない。これらのデータは、完成したコードそのものを示しているだけであり、それがどのように作成されたのかという情報は含まれていないのだ。「世の中には膨大なコードが存在します」と、プールサイドのカントCEOは言う。「しかし、そのデータはソフトウェア開発というプロセスを反映しているわけではありません」。
プーレン創業者やカントCEOらが指摘するのは、オート・コンプリート機能以上の能力を持つモデル、つまり、有用なプログラムを考案し、テストし、バグを修正できるモデルを開発するためには、コーディング・アシスタントに単なるコード以上の情報を提供する必要があるということだ。すなわち、そのコードがどのように組み立てられたのかを理解させる必要がある。
要するに、コサインやプールサイドのような企業は、単に優れたコードの見た目(動くかどうか)を模倣するのではなく、そもそもそうしたコードを生み出すプロセスそのものを模倣するモデルを構築しようとしている。もしそのプロセスを適切に再現できれば、これらのモデルはより優れたコードを生成し、より効果的なバグの修正するようになるだろう。
パンくず
しかしまずは、そのプロセス、つまり、人間の開発者がコードを書く際に踏むであろう手順を捉えたデータセットが必要となる。それらの手順は、機械が自ら同様のコードを生成する際にたどることができる「パンくずリスト(breadcrumb trail)」のようなものだと考えるといい。
そのために必要なことの一つは、どのような情報源からそのプロセスを抽出すればよいのかを明らかにすることである。あるプログラミング・タスクを達成するために必要なのは、既存のコードベースのどの部分なのかを把握することだ。「コンテキストが重要です」と、ゼンコーダーの創業者であるアンドリュー・ファイルフは語る。「第一世代のツールは、コンテキストを理解するのが非常に苦手でした。基本的に、開かれているタブの情報しか考慮していませんでした。しかし、コードリポジトリには5000ものファイルがあることもあり、そのほとんどが無視されてしまうのです」。
ゼンコーダーは、大規模なコードベースを分析し、適切な部分と不要な部分を区別できるツールを開発するために、経験豊富な検索エンジン・エンジニアを多数採用してきた。こうした詳細なコンテキストを把握することで、AIの「幻覚(hallucination)」が減少し、大規模言語モデルが生成するコードの品質が向上すると、フ …
- 人気の記事ランキング
-
- Useful quantum computing is inevitable—and increasingly imminent それでもなお、 量子コンピューターが 人類に必要な理由
- Useful quantum computing is inevitable—and increasingly imminent それでもなお、 量子コンピューターが 人類に必要な理由
- Why the next energy race is for underground hydrogen 水素は「掘る」時代に? 地下水素は地球を救うか
- IU35 Japan Summit 2024: Nobuyuki Yoshioka 「量子コンピューターの用途解明、新たな応用へ」吉岡信行