エンジニアリングの仕事にVibe Codingが登場

エンジニアリングの仕事にVibe Codingが登場

かつてエンジニアリングはテクノロジー業界で最も安定し、最も高収入の仕事でした。しかし、AIがコーディングを習得しました。

A photo illustration of a green and orange mushroom cloud in front of a backdrop of computer code that has been colored...

写真イラスト:WIREDスタッフ/ゲッティイメージズ

ワシントン州カークランドの5Kスクリーンでは、4台の端末が人工知能(AI)が数千行のコードを生成する様子が鮮明に映し出されている。かつてGoogleとAWSで働いていたベテランソフトウェアエンジニア、スティーブ・イェーグ氏が、その様子を見守っている。

「こっちはテストを走らせているし、あっちは計画を立てている。今は4つの異なるプロジェクトを同時にコーディングしているけど、実際はトークンを消費しているだけだ」とイェッゲ氏は、大規模言語モデル(LLM)を使って大量のテキストを生成するコストについて言及した。

コーディングを学ぶことは、長らくテクノロジー業界で高収入で安定したキャリアを築くための手段と考えられてきました。しかし今、OpenAI、Anthropic、Googleといった企業による高度なコーディングモデルの公開により、その概念は完全に覆されようとしています。XやBlueskyといった企業は、開発チームの規模縮小、あるいは完全に廃止するといった噂で持ちきりです。

ChatGPTが2022年後半にデビューした当時、AIモデルはコードの小さな部分を自動補完することができました。これは、ソフトウェア開発のスピードアップに役立ったものの、ささやかな前進でした。モデルが進化し、ソフトウェアプログラムの使用、ファイルの操作、オンラインサービスへのアクセスを可能にする「エージェント的」スキルを獲得するにつれて、エンジニアも非エンジニアも、これらのツールを使ってアプリやウェブサイト全体を構築するようになりました。著名なAI研究者であるアンドレイ・カルパシー氏は、2月に「バイブコーディング」という用語を提唱しました。これは、AIモデルにテキストで指示を与えることでソフトウェアを開発するプロセスを表しています。

この急速な進歩は開発者たちの間で憶測を巻き起こし、パニックさえ引き起こしている。彼らは、開発作業のほとんどがすぐに自動化され、エンジニアの雇用が激減するのではないかと懸念している。

「AIがコードの90%を書く世界は、そう遠くない。3~6ヶ月以内にはそうなるだろう」と、アンスロピックのCEO、ダリオ・アモデイ氏は3月に外交問題評議会のイベントで述べた。「そして12ヶ月後には、AIが実質的にすべてのコードを書く世界になるかもしれない」と付け加えた。

しかし、多くの専門家は、たとえ最高のモデルであっても、多くのコーディング作業を確実に自動化するにはまだ道のりが長いと警告しています。将来の進歩によって人間と同等のコーディング能力を持つAIが登場する可能性もありますが、それまではAIに過度に依存すると、バグだらけでハッキング可能なコードが大量に発生し、優れたソフトウェアを開発するために必要な知識とスキルを持つ開発者が不足する可能性があります。

AIが雇用に及ぼす影響を研究しているMITの経済学者、デイビッド・オーター氏は、文字起こしや翻訳の仕事が急速にAIに置き換えられているのと同様に、ソフトウェア開発業務も自動化される可能性があると述べています。しかし、高度なソフトウェアエンジニアリングは、日常的なコーディングよりもはるかに複雑で、自動化が難しいと指摘しています。

オーター氏は、ソフトウェア エンジニアリングの需要の「弾力性」、つまり市場が追加のエンジニアリング職をどの程度受け入れることができるかによって状況が複雑になる可能性があると付け加えています。

「ソフトウェアの需要が大腸内視鏡検査の需要と同じなら、検査速度の向上やコスト削減がなくても、肛門科医院に殺到することはないだろう」とオーター氏は言う。「しかし、ソフトウェアの需要がタクシーサービスの需要と同じなら、コーディングにおいてもUber効果が見られるかもしれない。つまり、より多くの人々がより低価格でより多くのコードを書き、賃金も下がるということだ。」

イェッジ氏の経験は、AIの見方が変化していることを示している。プログラマーであり、多作なブロガーでもあるイェッジ氏は、以前はAIがコード生成にどれほど役立つのか懐疑的だった。しかし今では、AIの虜となり、同じく経験豊富な開発者のジーン・キム氏と共に『Vibe Coding』という著書を執筆し、AIの可能性と落とし穴を解き明かしている。イェッジ氏は昨年12月、AIがソフトウェア開発に革命をもたらすと確信し、自身の会社SourcegraphでAIコーディングツールの開発を主導している。

「年末までに、すべてのプログラミングはこのように行われるようになるでしょう」とイェッゲ氏は予測する。「もしこれをやらなければ、ただ競争の中で歩いているだけなのです。」

バイブコーディングの分裂

今日、コーディング関連の掲示板には、モバイルアプリ、商用ウェブサイト、さらにはマルチプレイヤーゲームまでもがバイブコーディングによって実現された例が溢れています。Yegge氏のような経験豊富なプログラマーは、AIツールに指示を与え、AIが複雑なアイデアを実現する様子を見ることができます。

CursorやWindsurfを含むいくつかのAIコーディングのスタートアップ企業が、このアプローチへの関心の高まりに乗っている。(OpenAIがWindsurfの買収交渉中であるという噂が広まっている)。

同時に、モデルが作話したり混乱したりするなど、生成 AI の明らかな限界により、多くの熟練したプログラマーは、AI 支援コーディング、特に熱意にあふれた、手を使わない雰囲気のコーディングを、潜在的に危険な新しい流行と見なすようになりました。

アンドリーセン・ホロウィッツのゼネラルパートナーで、コンピューターサイエンティストのマーティン・カサド氏は、カーソルの取締役も務めており、AIが人間のプログラマーに取って代わるという考えは誇張されていると指摘する。「AIは素晴らしいことをするのは得意ですが、特定のことを行うのは得意ではありません」とカサド氏は語る。

それでも、カサド氏は最近の進歩の速さに驚いている。「こんなに早くここまで良くなるとは思いもしませんでした」と彼は言う。「アセンブリ言語が高水準言語に取って代わられて以来、コンピュータサイエンスの分野における最も劇的な変化です。」

ソフトウェア開発向けのオープンソースコードを提供するAnaconda社のエンジニアリング担当副社長、ケン・トンプソン氏は、AIの導入は世代によって大きく異なる傾向があると述べ、若い開発者は積極的に導入する一方、年配の開発者はより慎重な姿勢を見せる傾向があると指摘する。AIツールは多くの注目を集めているものの、その出力は予測不可能で、同じ指示を与えても日によって結果が異なるため、多くの開発者が依然としてAIツールを信頼していないとトンプソン氏は指摘する。「AIの非決定論的な性質は、あまりにもリスクが高く、危険すぎるのです」とトンプソン氏は説明する。

カサド氏とトンプソン氏はともに、バイブコーディングへの移行は置き換えというよりも抽象化であると捉えており、Pythonのような新しい言語がCのような低レベル言語をベースに構築され、コード記述がより容易かつ迅速になるのと同じようなものだと考えている。新しい言語は一般的にプログラミングの魅力を広げ、実践者数を増加させてきた。AIも同様に、動作するコードを生成できる人材の数を増やす可能性がある。

悪い雰囲気

逆説的に言えば、バイブコーディングのブームは、コーディングの確かな知識がこれまで以上に重要であることを示唆しています。この分野に手を出そうとしている人たちは、予期せぬセキュリティ問題を引き起こしたり、実際の機能を模倣しただけの機能を作成したり、AIツールを使ってうっかり高額な請求額を出してしまったり、壊れたコードになってしまい、どう修正すればい​​いのか分からなかったりといった問題に遭遇することが多いと報告しています。

「AI(ツール)はあなたの代わりに何でもやってくれます。失敗も含め」とイェッゲ氏は言う。「幼児のように、注意深く見守る必要があるんです」

AIが驚くほど素晴らしい結果から、衝撃的な問題を引き起こす結果まで、幅広い結果を生み出す可能性があるという事実は、開発者の間でAIに対する意見がこれほど分かれている理由を説明しているのかもしれない。WIREDは3月にプログラマーを対象にAIコーディングについてどう感じているか調査したところ、AIツールに熱心な人(36%)と懐疑的な人(38%)がほぼ同数であることがわかった。

「AIは間違いなくコードの作成方法を変えるでしょう」と、現在大規模ソフトウェア開発にAIを統合する方法を研究しているMITのコンピューター科学者、ダニエル・ジャクソン氏は語る。「しかし、期待外れに終わるとしても驚きではありません。この熱狂はいずれ過ぎ去り、私たちは失望することになるのですから」

ジャクソン氏は、AIモデルは、高水準言語で書かれたコードを機械にとってより効率的な低水準言語に変換するコンパイラとは根本的に異なると警告する。なぜなら、AIモデルは必ずしも指示に従うわけではないからだ。AIモデルは、指示を受け取って開発者よりも優れたパフォーマンスを発揮することもあるが、時には開発者よりもはるかに低いパフォーマンスでタスクを実行することもある。

ジャクソン氏は、本格的なソフトウェアを開発するとなると、バイブコーディングは通用しない、と付け加える。「『ほぼ動作する』だけで十分なアプリケーションはほとんどありません」と彼は言う。「ソフトウェアを気にするなら、それが正しく動作するかどうかが重要になります。」

多くのソフトウェアプロジェクトは複雑で、コードの一部を変更するとシステムの他の部分に問題が生じる可能性があります。経験豊富なプログラマーは全体像を把握するのが得意ですが、ジャクソン氏は「大規模な言語モデルでは、そうした依存関係をうまく理解することができません」と述べています。

ジャクソン氏は、ソフトウェア開発は、AIの盲点を補うために、コードベースのモジュール化と依存関係の低減によって進化する可能性があると考えています。AIは一部の開発者を置き換える一方で、より多くの開発者にアプローチを再考させ、プロジェクト設計に重点を置くよう促すだろうと彼は予想しています。

AIに過度に依存することは「差し迫った災害」となる可能性があるとジャクソン氏は付け加えた。「セキュリティ上の脆弱性に満ちた壊れたコードが大量に発生するだけでなく、そうした脆弱性に対処できない新世代のプログラマーが生まれることになるからです。」

コーディングを学ぶ

すでにソフトウェア開発プロセスにコーディングツールを統合している企業でさえ、この技術はより広範囲に使用するには依然として信頼性が低すぎると述べている。

大規模ソフトウェアシステムのパフォーマンス監視技術を提供するHoneycombのCEO、クリスティン・イェン氏は、コンポーネントライブラリの構築など、単純で定型的なプロジェクトはAIの活用に適していると述べています。しかし、社内でAIを活用している開発者の生産性は、わずか50%程度しか向上していないと彼女は言います。

イェン氏はさらに、適切な判断が求められるもの、パフォーマンスが重要なもの、あるいは生成されたコードが機密性の高いシステムやデータに触れるものなどについては、「率直に言って、AI はまだ付加的に機能するには十分ではありません」と付け加えています。

「ソフトウェアシステム構築の難しいところは、大量のコードを書くだけではありません」と彼女は言います。「少なくとも今日においては、キュレーション、判断、ガイダンス、そして方向性を担うエンジニアの存在は依然として必要でしょう。」

労働力の変化が起こりつつあると示唆する人もいる。「開発者の需要が減っているわけではありません」と、企業に生成AIプロジェクトの影響測定を支援するマイルストーンのCEO、リアド・エリダン氏は言う。「平均的、あるいは低パフォーマンスの開発者の需要が減っているのです」

「製品を開発するなら、以前は50人のエンジニアが必要だったかもしれませんが、今は20人か30人程度で済むかもしれません」と、大企業のAIシステム構築を支援するDatabricksのAI担当副社長、ナビーン・ラオ氏は語る。「これはまさに現実です。」

しかしラオ氏は、コーディングを学ぶことは当分の間、価値のあるスキルであり続けるはずだと述べている。「『子供に算数を教えてはいけない』と言っているようなものです」と彼は言う。コンピューターを最大限に活用する方法を理解することは、今後も非常に価値のあるスキルであり続けるだろうと付け加えた。

ベテランプログラマーのイェッジ氏とキム氏は、ほとんどの開発者が来たる波に適応できると考えています。バイブコーディングに関する著書の中で、二人はモジュール化されたコードベース、継続的なテスト、そして十分な実験といった、ソフトウェア開発のための新しい戦略を推奨しています。イェッジ氏によると、AIを用いたソフトウェア開発は、独自の、そしてややリスクを伴う芸術へと進化しつつあります。「ハードディスクを壊したり、銀行口座を空にしたりすることなく、いかにAIを活用するかが重要なのです」と彼は言います。

  • 受信箱に届く:ウィル・ナイトのAIラボがAIの進歩を探る

ウィル・ナイトはWIREDのシニアライターで、人工知能(AI)を専門としています。AIの最先端分野から毎週発信するAI Labニュースレターを執筆しています。登録はこちらから。以前はMIT Technology Reviewのシニアエディターを務め、AIの根本的な進歩や中国のAI関連記事を執筆していました。続きを読む

続きを読む