
11,494 文字

なぜみなさんは私にこの動画を作らせるのでしょうか。今日はこの動画を作りたくなかったのです。他にやることもあるのですが、これはそれほど時間がかからないはずなので、それらも完了できるでしょう。しかし、なぜソフトウェアエンジニアはAIがソフトウェアエンジニアリングのワークフローにどのように実装されるかを理解できないのでしょうか。それはまるですべてかゼロかのようです。AIについて心配することは何もないか、AIがすべてのプログラマーを1対1で置き換えて全員が失業するかのどちらかです。なぜその中間の何かではないのでしょうか。
面白いのは、昨日Vibeコーディングについての動画を作り、Vibeコーディングとアイアンマンがピーター・パーカーに与えたスーツの使用との類似点を描いたことです。素晴らしい分析だと思いましたし、素晴らしい動画だと思います。非常にお勧めします。でも人々は私がAI反対派だと思っているようです。もしAIが崖から落ちたら未来はより良くなると思いますが、ソフトウェアエンジニアとしてAIを絶対に使うなという意味ではありません。そのビデオでも言いましたが、多くのコメントは動画を見なかったのか、どうやって結論に至ったのかわかりません。動画にすべての文脈があるのに、彼らは私に同意することを言っているのに、それを反対意見として述べているのです。理解できません。
では、もっと詳細に、より多くの文脈で説明しましょう。AIがソフトウェアエンジニアリングの仕事にどのように影響を与えると思うかというと、今日起きていることを大規模に行うということです。実際に、Anthropicのメアリー・シーアーCEOがツイートしたことがあります。「今後3〜6ヶ月でAIがコードの90%を書き、12ヶ月以内にはほぼすべてのコードがAIによって生成されるかもしれない」と。多くの人々は「ああ、またAIが仕事を奪うという話だ」と考えています。今日のAIが何をできるか見たことがありますか?最高のコーダーではなく、あれこれできますが…
私が推測したのは、私のツイートで言ったように(偶然にリツイートしてしまいましたが)、彼はAIを販売しているので、このように話さなければならないということです。「AIはこれ以上良くならない」と言ったら、株主にとって良くないでしょうし、おそらく彼自身も信じていないことでしょう。AIがさらに進歩しないと信じていないわけではないと思います。AIがさらに進歩し続けるだろうということを、私たちは皆認識できると思います。なぜなら、世界で最も裕福な7〜8社がAIとAI研究に数十億ドルを投じていることを考えると、そしてこれらのAIから派生する多くのものもさらに数億、数十億ドルを投じているのです。なぜAIが現状より良くならないと思うのでしょうか?もちろん良くなるでしょう。
人々はそれが漸近的になると考えているようです。私もその理論を考えましたが、未来を言い当てることはできません。それは可能性の一つですが、私は2年前に「5年後にはコーディングが存在しなくなる可能性がある」という動画を作った時と同じ気持ちを持っています。あなたの言う通りかもしれません。その後でそれについて話しますが、先にこれを読み終えさせてください。
AnthropicのCEOが「3〜6ヶ月以内にコードの90%がAIによって書かれる」と主張していることについて、私の推測は、AIを使用するプログラマーがそのコードを書くのであって、AIだけではないということです。3〜6ヶ月以内に、あるいは12ヶ月以内に1対1の代替になるわけではありません。今、プログラマーがオートコンプリートからエージェントプロンプトまで、コードを書くのにどれだけ活用しているかを考えると、すでにかなりの量のコードがそのように書かれているでしょう。特にオートコンプリートでは、2024年のStack Overflowデベロッパー調査によると、プロの開発者46,000人のうち23.4%が「AIを使用していないし、使う予定もない」と答えているのに対し、残りの76.6%は「AIを使用している」または「まだ使っていないが、すぐに使う予定だ」と答えています。
3〜6ヶ月というのは分かりませんが、タイムラインについては知りませんが、すべてのコードの90%がAIによって書かれるようになるというのは突飛なことではないと思います。ただ、人々が彼の言うことと思っていること、あるいは実際の真実を理解していないだけです。この時点で彼が何を意味するかは気にしません。真実は、AI が3〜6ヶ月または12ヶ月以内に1対1で代替するわけではなく、開発者がAIを使用しているということです。
特に大規模なコードベースでオートコンプリートを使う場合、大規模なコードベースでプロンプトを使うのは現在少し難しいですが、おそらく改善されるでしょう。Wind Surfaceは私が使った中で最も良いもので、大規模なコードベースでプロンプトを使うとコンテキストを取得でき、他の代替手段よりも正確です。しかし、すべてを試したわけではありません。
コードの書き方を知っていて何を書くべきか理解していれば、コードを書き始めてオートコンプリートの提案を受けたとき、一瞬でそれが自分が書こうとしたコードかどうか分かります。もしそうならタブを押して先に進み、そうでなければ入力を続け、おそらく次にオートコンプリートの提案が正しくなるでしょう。それはあなたがコードを書いているわけではありません。それは「書かれたコードの90%がAIによって書かれている」という統計に入るでしょう。なぜなら、あなたはコードを書いていなかったからです。最初の数単語、あるいは最初の行を書いただけで、AIが3行、5行、10行のコードスニペットを提供したのです。もしあなたが1行書いて、そのコードブロック全体が10行あるなら、あなたは10%書いて、AIが90%書いたことになります。
私はこれを言いました。AIがコードを書くという主張はこのように見ています。AIが自らすべてを行うのではなく、Jiraチケットからプルリクエストまで、プログラマーが3〜6ヶ月または12ヶ月のタイムラインでコーディングする際にAIを使用するということです。Jiraチケットからプルリクエストまでについては、文字通り2年前の2023年に「5年後にはコーディングが存在しなくなる可能性がある」という動画で完全に説明しました。
そこで私が言ったのは、自動化が他の産業にどのように影響を与えたか、あるいは過去にどのように影響を与えたかを比較したことです。歴史を理解することは、未来を予測するための最良の機会になると思います。自動化が他の産業にどのように影響を与えたかを見ると、今、私は農場や農地を見ています。トラクターが発明される前、150年前、ガソリン駆動のトラクターが最初に発明されたのは1892年です。現在は2025年なので、それ以前は牛を使って植えていました。1日に何エーカーできたでしょうか?1エーカー、5エーカー、10エーカー?現在では、100エーカーを1日以内に完了できます。1時間以内とは言いませんでした、非常に控えめな見積もりです。
トラクターは何をしているかによって異なります。耕すなら時間がかかり、種まきならもっと早いです。散布なら、何を散布するかについては何と言っても、一部の機械では1時間に20、30、50エーカー以上をカバーできます。牛を使って同じことをするのは不可能です。これらのトラクターは、トラクターに座っている1人の男によってすべてを完了しています。ちなみに、そのトラクターにはすでに自動操縦機能があり、男は何かに衝突しないように見ているだけです。
Vibeコーディングに戻りましょう。それが、スパイダーマンの類推ビデオの内容でした。その動画では私に反対するコメントがいくつかありましたが、それは全く問題ありません。人々が私に反対していることを示すのではなく、なぜ反対しているかを説明する方法は、AIが職場にどのように適合するか、あるいは今後5〜10年でどのように適合するかについての理解不足を示しています。
明確にしておくと、今後5〜10年でAIがJiraチケットを処理し、独自のブランチを作成し、テストを書き、より大きなコードベースで動作することを確認し、プルリクエストを提出できるようになると思います。しかし、重要なのは、誰がそのJiraチケットを書いているか、プロンプトを出しているかです。3時間の小さなタスクではなく、1つの詳細なプロンプトで行える全体のスプリントだと思わないのなら、10年後でも、クライアントとソフトウェアの間には誰かがいるでしょう。今日でも、1つのプロンプトでウェブサイトを構築できますが、企業は写真とテキストを表示するだけのカスタムウェブサイトに何千ドルも支払っています。なぜなら、彼らにはこれを行う時間がないからです。
実は、あの動画で言ったことをすべて繰り返しているので、あの動画を見た方には申し訳ありません。誤解が少し困ったことですが、コメントの一つを紹介します。「Vibeコーダーはスパイダーマンから学ぶ必要がある」という動画のコメントです。
「私はソフトウェアエンジニアリングに25年携わっていて、Vibeコーディングは素晴らしいと思います。あなたは要点を見逃しています。新しいパラダイムを否定するのではなく、それを探求すべきです。すべてのVibeコーディングが初心者によって行われると仮定しないでください。それは少し偏見がありませんか?」
私は、すべてのVibeコーディングが初心者によって行われると仮定していません。動画でも言いました。あなたは文字通りに考えています。スケーリングを考える必要があります。Vibeコーディングはエージェントコーディングのレベル1です。動画でも言いましたが、コメントでも繰り返していました。最初の24時間はコメントに返信するのが好きですが、それ以降はトロールが多くなります。最初の24時間は、ほとんどの場合、楽しい会話です。
この人は少し見下したようなコメントをしています。「あなたの髪に白髪が見えないし」「ソフトウェアエンジニアはアイデンティティ危機に陥っている。滑稽だ」というコメントは、私が若いから、AIとソフトウェアエンジニアリングについての意見を持つには経験が不足していることを示唆しています。このコメントからそれが伝わらなければ、何を言えばいいかわかりません。明らかです。私が言っているのは少し偏見かもしれませんが、受け入れます。
繰り返しになりますが、動画でもコメントでも言った通り、私があなたに話しかけているわけではありません。私は特に初心者たち、そして彼らよりも知識の少ない人々に話しかけています。あなたがコードの書き方を知っていて、何が行われているかを理解していれば、それを使用するのはそうあるべきです。しかし、コーディングがどのように機能するかまったく分からない、あるいは多くの人々がAIに依存しているような方法で、ソフトウェアエンジニアになることを希望している場合、あなたは決して学ぶことができないでしょう。
これが最良の反論だとは思いません。より良い反論は「なぜ10年後にソフトウェアエンジニアが存在しないであろう時にソフトウェアエンジニアになりたいのか?」というものでしょう。私の犬も10年後にソフトウェアエンジニアリングが存在しなくなることに動揺しています。
しかし、それが反論です。AIが非常に優れるようになり、コードを理解する必要がまったくなくなるとしたら、コードの仕組みを理解することに何の意味があるのでしょうか?AIがそれを繰り返し処理し、すべてのバグを修正し、すべてを行うことができるからです。それはAIに対する最も楽観的な見方であり、それは公平です。先ほど言ったように、企業は毎年何十億ドルもこれに投資しています。
そのような見方をする人がいるなら、なぜ最初から何かを構築するのでしょうか?なぜあなたはSaaSや何らかのソフトウェア、アプリを構築しているのでしょうか?なぜそれをしているのでしょうか?もし誰でも簡単なプロンプトで全体のアプリケーションを作れるようになり、あなたに支払う必要がなくなるなら。そんなに簡単になるなら、なぜあなたはソフトウェアに関わっているのでしょうか?
私が作った議論が良くないことは理解しています。しかし、人々は期待しているのです。ソフトウェアエンジニアリング自体が全く存在しなくなると思っていないなら、それが多くのコメント視点によって暗示されていることです。彼らが気づいているかどうかは別として、多くの人の考えは半分焼けたものであり、多くの人々がAIが実際にワークフローや職場にどのように適合するかについて本当に考えていないことが分かります。
強い意見を持つ人々が、それをサポートする知識を持っていないことが多いことが悲しいです。私は以前、「無知が知性として振る舞うのが嫌い」と言いましたが、それは多くのことに当てはまります。
良いコメントがありました。「あなたが雇う仕事のために、より良いVibeコーダーが誰かをどのように判断するのですか?企業がプログラマーを初心者とシニアとして見て雇わないと言っているのですか?あなたの見解は良くありません。」
これは私が言ったことと非常に似ています。文脈外ですが、全文脈は完全コメントで見ることができます。私が言ったのは「もしソフトウェアエンジニアリングの仕事が減少するとしたら、残りの仕事を誰が得るのでしょうか?」ということです。単純なプロンプター、言うなれば、クライアントとソフトウェアの間に誰かがいるでしょう。あなたはそこに誰がいてほしいですか?AIとコードベースを深く理解している人か、AIだけを理解している人か?私は前者と言わざるを得ません。それが要点です。
ある人は「私はどちらにしても心配する必要がない。私にはスキルがないから」と言いました。しかし重要なのは、多くの人々が「10年後にはすべてプロンプトするだけでいいから、スキルは必要ない」と主張していることです。それはそんなに簡単ではないと思います。
今日、ワンショットの例をたくさん見ますが、それらは物理のような小さなことを除いて、驚くようなコードをワンショットで作成しているわけではありません。UIについてはいくつか行っていますが、もしあなたがそれを使用して、企業のソフトウェアや、誰かが1日か2日、あるいは1週間で作ったよりも大きなアプリで使用しようとすると、現在の限界が見えてきます。私は現在の限界について、10年後もこれらが限界であるかのように話したくありません。
数年前のあの動画のコメントの多くがそうでした。「コーディングは5年で存在しなくなる。あなたは正しいかもしれない」という動画です。繰り返し言及しているのは、多くの反発を受けましたが、今では多くの人々が私が2年前に言ったのと同じことを言っているからです。より明らかに見えるようになったからですが、その動画で私を批判した人たちが謝罪に来たのは見ていません。
とにかく、これは「私が言った通りだ」と言っているだけです。何について話していたのか忘れましたが、10年後には単純なプロンプトだけで巨大なアプリケーションを作れると思っているということです。私はそうは思いません。もしそうなら、先ほど言ったように、なぜあなたはこの業界にいるのでしょうか?
本当にそのウサギの穴を掘り下げ始めると、それは崩れ始めます。使用しているフレームワークや言語やものはすべてAIによって維持され、成長しているのでしょうか?それは無限のAIループになります。そうであれば、そこに価値はどこにあるのでしょうか?あるいはそこに価値がないと言っているのでしょうか?これらの議論には多くの穴があります。
またもや「ソフトウェアエンジニアはアイデンティティの危機に陥っている。これは滑稽だ」とコメントしています。「これはクラウドが彼らの仕事を奪いに来ていることに気づく前のネットワークエンジニアのようだ」。しかし、ネットワーク技術者、上級ネットワークエンジニア、上級ネットワークエンジニア…クラウドはどれくらい存在していますか?「クラウド」という用語は2006年にAmazonがAWSとEC2を立ち上げたときに広く使われるようになりました。それは19年前です。それは単に用語が作られたときであり、クラウドエンジニアの仕事、上級クラウドエンジニア、バイオインフォマティクスクラウドエンジニア、デブオプス主任エンジニア、エンタープライズクラウドと特別プロジェクト…
なぜこれが議論になるのでしょうか?ネットワークエンジニアと現在のクラウドエンジニアはまだ存在しています。それは意味をなしません。しかし、これは多くの人々の誤解を示す素晴らしいコメントです。AIが何かができると思っていることに対して。
「あなたはこのビデオのスクリプトにどのAIを使用しましたか?」これは明らかに使用していません。ビデオを作ったことがある人にとっては非常に明らかです。私は9年間ビデオを作ってきましたが、1〜2年の経験がある人でも、アイデアからスクリプト、録音、編集まで毎日ビデオを作っていれば、スクリプトがAIによって作られたかどうかは簡単に判断できます。
ビデオを作ったことがなくても、スクリプトがAIによって作られたかどうかは非常に簡単に判断できます。このビデオのスクリプトがAIによって作られたとか、AIによって作られたとは思わないでしょう。もしあなたがそう思うなら、どのAIを使っているのか教えてください。多くの場合、AIがスクリプトを書いたことは痛々しいほど明らかですし、他の場合には全くAIの関与がなかったことも簡単に判断できます。
これは偏見かもしれませんが、ビデオの作り方についての理解の欠如であり、AIがそのトピックをこなせると思っていることです。冗談かもしれませんが、それは完全に大丈夫です。しかし、人々のトピックに対する理解不足と、AIがそのトピックをこなせると思っていることをまとめる良い方法です。そして、ビデオスクリプトAIの類推からコーディングへとアイデアを結びつけます。
このコメントも好きです。「まったく同意できない」と言ったので、「説明してください」と返信しました。これは会話に何も加えないからです。この人は他のコメントでは非常に見下した態度ですが(「あなたには白髪がないので何も知らない」のような)、少なくとも彼には実質的な内容があり、実際の意見を表明し、私のコメントに返信しました。
「良い点として、より多くのVibeコードが本番環境に入れば、何をしているのか理解している私たちのような人々の仕事の安全性が向上するでしょう」というのは、短期的には間違いなく真実です。しかし、長期的に考えてみましょう。もしこれが真実でないなら、私たちが考えているのは、Vibeコーダー、つまり効果的にはプロンプターだけは、コードをまったく見る必要がないということです。それが人々が考えていることのすべてであり、そうかもしれません。
しかし、開発者やソフトウェアアーキテクト、あるいは何であれ、デブオプス、美化されたQAスタッフなど、どんな名前を付けてもいいですが、ソフトウェアを書くAIを制御する必要がある人が常に必要でしょう。それだけです。
そして、このようなケースもあります。「面白いことに、私は大手テック企業の一つで働いていますが、私たちはAIの使用を許可されていません。実際、AIツールの使用を禁止する厳格なポリシーがあります。」私の反応は「それは厳しいですが、セキュリティリスクは理解できます。オートコンプリートと時々のプロンプトは非常に便利です」でした。
これは人々が指摘することの一つですが、セキュリティが高すぎてAIがこなせない、またはAIが行えないため、実際のコーダーを必要とするコーディングのタイプが常に存在するというものです。私はAIとソフトウェアエンジニアリング、現在と未来、そのすべてについてのすべてをこのビデオで扱おうとしていますが、もう二度と扱わなくて済むようにしたいのですが、そうはならないでしょう。
AIモデルがオープンソース化され、それを行うためのハードウェアのコストが下がっています。最終的には、自分のサーバーや自分のハードウェア上でローカルAIモデルを実行し、データが他のサーバーに保存されたり転送されたりしないようにすることができるようになるでしょう。セキュリティリスクは現在存在しますが、非常に豊かな企業、多くのお金を持つ企業だけがローカルモデルを実行し、そのコードをすべて処理できるようになっていますが、それはより多くの企業にアクセス可能になり、基本的にどの企業もそれを行うことができるようになり、クレイジーなセキュリティリスクを心配する必要はなくなるでしょう。
自分を繰り返しているかどうかわかりません。30分ほど話しているので、このビデオはカットするかもしれませんが、すべてをまとめて、私の考えが非常に明確になるようにしたいと思います。そうすれば、ただこのビデオを指し示すことができます。
私は「AIがプログラマーの仕事を置き換えるなんて冗談だ」と言う人々の一人ではありません。AIを使用して25%効率的に働くことができる開発者は、5人目の開発者の仕事を置き換えています。そしてそれが増加するにつれて、2人の開発チームが5人か10人の仕事をこなせるようになるでしょう。これはAIが継続的に改善され、その点に達すると仮定していますが、私はそうなると思います。
しかし、その2人の開発者として、実際にコードがどのように機能するかを理解している人を雇いたいです。そうすれば、何か問題が発生したときに、毎回監査するために誰か別の人を雇う必要がありません。これも別のビジネスモデルかもしれません。2人のプロンプターがあなたの開発者であり、何か問題が発生した場合、年に数回しか発生しないなら、コードベースで何をしているのか実際に知っている人を呼んで修正することもできます。それも可能性としてあります。
10年後には、巨大なエンタープライズアプリケーションや大規模なWebアプリ、あるいは次の10億ドルのアプリを構築するために、完全に単純なプロンプトを何度も繰り返すだけの段階に達すると思いますか?(10億ドルのアプリと言うのは、通常それらがより複雑だからです。何かを10億ドル相当にするのはソフトウェアやアプリだけではありません)。
それは面白い質問です。わかりません。だからこそ、もしそれが実際に起こるなら、私のビデオ全体は無意味かもしれません。なぜならVibeコーダーがただそれを行うことができ、私たちはコードベースにアクセスできなくなるからです。その時点では、アセンブリやバイナリから現在のプログラミング言語への翻訳が正確に原文に忠実になるよう、シームレスに続けます。
その時点では、アセンブリやバイナリから現在のプログラミング言語への翻訳は、ただ単純に平易な英語へと直接変わることになります。誰でも平易な英語を話すことができ、平易な英語で行うことが、正確な構文で正確にコーディングすることと同じように、コンピュータが必要とすることを正確に表現できるとしたら、そうです。しかし、すべてを平易な英語でできるのなら、プログラミング言語という余分な抽象レイヤーは必要なくなります。
この動画の最後で自分の考えを変えたのでしょうか?いいえ、そうは思いません。もちろん違います。今Vibeコーディングについて話しているからです。今後5〜10年のVibeコーディングについて話しています。単に理解が不足しているので、仕事を得るには十分ではないでしょう。
そう、先ほども言いましたが、すべてが単なる平易な英語であれば、誰でもそれができるわけですから、あなたがたくさんのお金を稼ぐ理由はないでしょう。しかし、それはLLM(大規模言語モデル)が非常に優れ、基本的にどのような平易な英語でも何でもできるようになると考えた場合だけです。
これを追加する必要があります。この後に、このコメントを読むことができますが、それは私たちが実際に議論していたことへの返答です。「AIの可能性について非常に似た考えを持っています。今日よりはるかに良くなるでしょうが、100%できるようになるとは言えません。」上では「AIは100%コードを理解し、修正し、行動し、解決する能力を持つようになる」と書かれていますが、世界で最も裕福な企業がAIに数十億ドルを投じているにもかかわらず、私は注意点を述べました。
これが意味するのは、プログラミング言語が完全に消滅し、単なる平易な英語やその他の言語がマシンコードに変換されるということです。プログラミング言語や追加の抽象レイヤーの使用はなくなるでしょう。コードベースは単なるテキストファイルになり、アプリが何をするかを説明するだけのものになるでしょう。そのアプリはこのテキストファイルコードベースで構築され、単なるプレーンテキストから編集されるということです。
これがコードベースを理解する必要がなくなると言うときの示唆であり、もしそれが起こるなら、ソフトウェアは時代遅れになるでしょう。なぜQuickBooksに月額100ドル支払うのでしょうか?「AIに、QuickBooksや他のどんなソフトウェアでも構築してください」と言えるのに、なぜ支払うでしょうか?コードベースを理解する必要がないということの示唆は、コードがなくなり、すべてが単純なプレーンテキストになるということです。なぜこれがシナリオにならないのでしょうか?QuickBooksアプリを自分のコンピュータに持ち、月額100ドル支払わないでしょう。
AIはとても優れるようになり、今日よりもはるかに良くなると思いますが、私が説明したほど良くなるとは思いません。同時に、4年前にVoやLovableやBolt、WindSurfやCursorができることについて私に尋ねていたら、おそらく否定したでしょう。しかし、より現実的に聞こえるでしょう。「ええ、小さなコードスニペットで、あなたが必要とすることをほとんど実行するコードを生成できます。常に正しいわけではなく、デバッグする必要があり、幻覚を見ることもあります。」
しかし、現在多くの人々の見方は「ただプロンプトすれば良い」ということです。コードとコードベースを理解する必要がないと言う人々について私が到達した結論は、すべてを平易な英語で理解するだけで純粋なプロンプティングだということです。これは価値提案を減少させます。
5〜10年後にAIによって生成されたコードベースに問題が発生することがないと言うのは、より信じがたいことです。しかし、誰にもわかりません。問題が発生した場合、実際に何をしているのかを知っている監査者を得るかもしれませんが、彼らはどのようにスキルを維持するのでしょうか?彼らは常にコードベースに飛び込んでAIを使用するのでしょうか?
上級開発者がスキルに頼って鋭くし、維持する代わりに、AIを使用すればするほど、それらのスキルを失います。自転車に乗るような一部のことは残りますが、通常ジムに行っていて、行くのをやめるとどうなるでしょうか?筋肉を失い始めます。精神的なものであれ物理的なものであれ、何でもそうです。筋肉を失い始めます。誰が監査者になるのでしょうか?これはどのように機能するのでしょうか?わかりません。
AIとは別の話題で終わりましょう。ある人が「トム・ホランドのスパイダーマンはトップ10にすら入らない」と言いました。あなたは間違っています。3年間も公に購読してくれてありがとう。しかし、よくそんなことが言えますね。さようなら。


コメント