AIが6ヶ月以内に90%のコードを書くことになる – Claude CEO

AGIに仕事を奪われたい
この記事は約19分で読めます。

11,157 文字

"90% of code will be written by AI in the next 3 months" - Claude CEO
The Anthropic CEO is claiming that SOURCEThank you to Convex for sponsoring! Check them out at T3 Chat is dope btw Want ...

もうこの発言を聞いたことがあるでしょう。Anthropicのダリオ・アモデイCEOの「コーディングやプログラミングなど、AIが最も進歩している分野を見てみると、AIがコードの90%を書くという世界からそれほど遠くないことがわかります。私の考えでは、3〜6ヶ月以内にそこに到達するでしょう」という発言です。なぜあなたがこれに同意しないかもわかります。「そして12ヶ月後には、AIが本質的にすべてのコードを書く世界になるかもしれません」
たった2ヶ月前までは、このような発言に同意したり擁護したりすることは想像もできませんでした。しかし、このカオスなAIの流れを深く追求すればするほど、これらの発言に隠された真実が見えてきました。ダリオの発言は恐ろしく聞こえます。私たちの仕事がすべてAIに置き換えられようとしているように聞こえます。しかし、そんなに単純なことではないと思います。正直なところ、この発言の後半はちょっとでたらめですが、その本質は将来のコードの書き方について非常に非常に興味深いことを示唆しています。それについてすぐに説明しますが、もし私が請求書を払い続けるつもりで、もはやコードを書けないなら、誰かがやらなければなりません。すぐに戻ってきます。
少し愚痴らせてください。AIのAPIからのデータ(OpenAIなど)を取得して、ユーザーにすぐに送信しながらデータベースに保存する良い方法を見つけようとしています。試したことはすべて混乱していて、結局ユーザーに大量のデータを送信しすぎたり、全く同期が取れなかったりします。今日のスポンサーはConvexで、正直に言うと、彼らはこの問題を解決していませんでした。キーワードは「していませんでした」です。しかし今はしています。
T3 Chatでconvexを使いたいと思っていたので、向こうのチームにこの問題について不満を言いました。そしたら彼らは本当に説得力のある主張をしてくれました。彼らがこれを正しく実演するために作った新しい「persistent text streaming component」は素晴らしく、彼らの解決策は本当に天才的です。もしデータベースがメッセージが変わるたびに更新を送信すると、おそらく追加されたテキストの小さな部分だけでなく、メッセージ全体を送信することになるでしょう。そしてトークンごとにストリーミングするとき、それは恐ろしいことです。
彼らの解決策は素晴らしいです。サーバーからストリーミングするとき、トークンごとに受け取るので、本当に良い感じがして、すぐに更新されます。しかし、接続が切れたり、別のタブで開いたりすると(マルチタブは現在の私の存在の悩みの種です)、うまく動作します。単語ごとではなく文ごとに処理するので、ストリーミングはそれほどスムーズではありませんが、他のすべての問題を解決しています。ここまで来るとは思いもしませんでしたが、Convexを使っていないことが申し訳なく感じます。確かに彼らはこのビデオのスポンサーですが、私は考えるべきことがたくさんあります。ここで私がおそらく犯した間違いを避けたい場合は、今日soy.l/cconvexでチェックしてみてください。
さて、ダリオはここで何を言っているのか、そしてなぜこれが何らかの形で合理的な見解だと思うのでしょうか?いつもの刺激的な見解と同様に、図表が必要です。なぜなら、私が考えていることを聞くだけでなく、見ることができると、人々は私をより賢いと思うようです。
「AIが今後3〜6ヶ月で90%のコードを書くだろう」この発言が意味をなすためには、いくつかの質問に答える必要があります。
質問1:どのコードか?企業のコードなのか?GitHubのコードなのか?一般的なコードなのか?90%がカバーされるのはどの範囲のコードなのか?
質問2:誰がこのコードを書くのか?プロの開発者によって書かれるのか?書くと言うとき、コードを職業として書いている人によってプロンプト入力されるのか?楽しみでやっている人なのか?Cursorで遊んでいる人なのか?AIツールが完全に自分自身でやるのか?私たちが話しているコードを書いているのは誰なのか?
そして質問3:最も重要なのは、これが以前にも起こったことがあるかどうかです。Primeのツイートを皆さんも見たことがあるでしょう。「AIがあなたの仕事を奪うまであと6ヶ月」と22ヶ月言い続けてきました。人々は「6ヶ月以内に開発の仕事がなくなる」ということをずっと言い続けてきました。もしダリオの発言を「90%の仕事がなくなる」と解釈しているなら、それはおかしいし、怒るべきです。なぜならそれは全く意味をなさない発言だからです。私も同意します。開発者として、私たちの仕事の90%が今後3〜6ヶ月で自動化されるわけではありません。それは馬鹿げています。
しかし、過去に似たようなことが起こったことがあります。C言語が最初に登場したころを想像してみてください。C言語が登場したとき、私たちのほとんどのコードは、COBOLのような扱いにくい恐ろしいシステムで書かれていたか、本当にパフォーマンスの高いコードが欲しければ、単にアセンブリで書いていました。C言語が最初に登場したとき、パフォーマンスの高いコードをプラットフォーム用に書きたければアセンブリを書かなければならなかったと想像してください。C言語が登場したとき、誰かが「3〜6ヶ月以内にアセンブリの90%がC言語で書かれるだろう」と言ったとします。
当時、これはナンセンスに聞こえる発言だったでしょう。なぜなら、アセンブリに信じられないほど優れた開発者がたくさんいて、アセンブリで書かれたプロジェクトがたくさんあり、アセンブリの世界で進行中の仕事がたくさんあったからです。新しい言語がそれら全てを短期間で置き換えるという考えは単に滑稽です。しかし、それは置き換えられませんでした。
考え方はこうです。これがアセンブリコードの円だとして、「アセンブリの90%がC言語で書かれるだろう」と言うと、あなたはこのように解釈するでしょう。この部分が本物のアセンブリで、残りはそうではない、残りはC言語だと。そして、この発言を、現在書かれているアセンブリコードを取って、ここに線を引くと解釈します。このボックス内の既存のコード、このボックス内のすべてのものはC言語で書かれることになり、現在このボックス内に書かれているアセンブリはもうだめだ、これは小さなものに圧縮されるだろうと。
しかし、それは起こらなかったことです。起こったことはまったく異なります。これが起こったことです:ネイティブに書かれたアセンブリは、全体的なネイティブアプリケーションコード空間のうちのはるかに小さな部分になりました。C言語は、ネイティブレベルで動作するコードをプログラムできる人の数を大幅に拡大しました。C言語は想像もつかないほどの地を開拓しました。アセンブリコードの90%を置き換えたのではなく、アセンブリにコンパイルされるコードを書く人の数を10倍にしました。
だから、最終的にアセンブリコードの90%以上がC言語やそれに類似したもので書かれているというのは本当ですが、それはこのバブルの90%が入れ替わったからではなく、バブルが10倍になったからです。アセンブリにコンパイルされるコードを書く人の数が、自分自身で書くにせよ、C言語で書くにせよ、大幅に増加しました。
では、なぜ今これについて話しているのでしょうか?数ヶ月前、プラットフォームのLovableで事故がありました。ちなみに、私はLovableの投資家であり、ここや他の場所で彼らからスポンサーされていますが、彼らは広告枠以外のことで私にお金を払っていません。だから私の偏りはそのままですが、私は過去にこれらの人々と一緒に仕事をしたことがあることを知っておいてください。
今年1月に彼らはGitHubの障害に見舞われました。Lovableをご存知ない方のために説明すると、これはアプリ生成プラットフォームで、何かを作るように指示すると、それを作ってくれます。彼らが他と違うことの一つは、あなたのプロジェクトをGitHubに保存することです。そのため、リポジトリが作成され、そこにプロジェクトがミラーリングされ、そこで変更を加えると、Lovableでも確認できますし、その逆も可能です。つまり、LovableにデプロイされたものはすべてGitHubリポジトリを取得します。
Lovableを通じて作成されたGitHubリポジトリの量は非常に多かったため、GitHubは作成されるものが多すぎるという理由で彼らをロックアウトしました。参考までに、彼らには500,000人のユーザーがいて、1日に25,000以上の新しいプロジェクトを構築しています。これがどれほど狂ったことか分かりますか?毎日25,000の新しいプロジェクトが初期化され、その驚くほど多くがデプロイされているのです。
そして、これは選択肢の一つに過ぎません。Lovable、Bolt、v0があり、最近では私が投資している新しいもの、aZがあります。モバイルアプリに特化していて、これらの人々は素晴らしいです。これらのプラットフォームはますます増えています。また、同じく、Aiden(Millionの作者でReactのパフォーマンスウィザード、ReactScanも作成した、大好きなAiden)が最近作成したdodev.aiもあります。
これらのプロジェクトジェネレーターはすべて、信じられないほど多くのコードを生成しています。そして、開発者として考えたくない数字がいくつかあります。なぜなら、ほとんどの人は開発者ではないからです。従来は開発者だけが行っていたことを非開発者が行えるようにするツールは、開発者の世界だけでは起こらないことが起こるような、とんでもない量のことを引き起こすでしょう。
私自身、T3 Chatをリリースしたときにこれを経験しました。私たちのプロジェクトのほとんどは、最初の1〜2週間で数百から数千のユーザーを獲得するのが通常でした。T3 Chatは最初の週に約10万ユーザーを獲得しました。なぜなら、それは開発者だけに適用されるものではなかったからです。開発者1人につき、開発者でない人が何百人もいて、そのうち少なくとも数十人は開発者がやることをやりたいけれどできない人たちです。
世界のコードの量がどれだけ速く増えているかを図表で示すとしたら、量が急速に増え始めた瞬間がたくさんあります。パンチカードを使わなければならなかったとき、コーディングして世界にコードを追加する人の量は比較的少なかったです。次にアセンブリが登場し、チップがより身近になったので、少し速く上昇し始めました。そしてC言語が登場し、学校で教えられるようになり、アプリを作るのがどんどん簡単になりました。そしてWebが登場し、突然、これまでにない方法でものを構築できるようになりました。
この曲線はすでに攻撃的すぎます。なぜなら、すぐにもっと攻撃的になる必要があるからです。重要なのは、誰でもテキストを入力して数千行のコードを持つプロジェクトを生成できるようになったことです。これはつい最近起こったことです。今や、毎日オンラインに出ていくコードの量は大幅に増加しています。現在出ていくコードの総量は、これまでにないほど増加しています。
これらのAIツールを使っているなら、あなた自身もある程度感じているでしょう。私の機械にこれほど多くのプロジェクトがあったことはありません。明らかに私はここでデモやその他のことをするために小さなものを作っているクリエイターとして平均より高いですが、過去よりもかなり多くのプロジェクトを構築し、より多くの個別のものをリリースしています。この数週間だけでも、私が抱えていた特定の問題を解決するために4、5つのアプリをリリースしました。
明らかに私はそのコードのかなりの部分を自分で書いていますが、最初の出発点のほとんどは私が書いたものではありません。v0、bolt、lovableのようなツールを使って最初の部分を組み立て、コンポーネントを生成して移動させます。エディタに入ると、エディタを使って部分を滑らかにし、変更を加えます。
Cursorを使用するとき、私がやっているタスクに応じて、おそらく私のコードの20%から70%が生成されています。タブ補完とcomposerを開いたり、command IやcommandKビューなど、小さなコマンドで使うものを数えると、作業している機能によっては非常に少ない量、例えば20%かもしれません。私は自動補完を使っているだけで、他にはあまり使っていません。なぜなら、私が取り組んでいるものは複雑で、それを理解できないからです。しかし、他のことに取り組んでいるとき、例えば大きなUIの変更作業などでは、T3 Chatリポジトリでの私の最大のPRのほとんどは80%がAIでした。小さな、本当に難しいものは0%に近かったですが、大きなものは大部分が生成されたものでした。
ここで質問します。アセンブリにコンパイルされる最大のコードベースを分析すると、そのコードベースはアセンブリで書かれていると思いますか?それともC言語で書かれていると思いますか?これは明らかな質問だと思います。C言語が答えであることは明確に分かると思います。理由はたくさんあります。コードベースが大きくなると、より高レベルの言語を使うと維持が容易になります。
人々は明らかにこの2つの間で、C言語がアセンブリにコンパイルされる最大のコードベースを持っている可能性が高いことに同意しています。そしてそれは直感的に理解できます。いくつかの理由から、より大きなコードベースは、Cが提供する抽象化からより多くの恩恵を受けるでしょう。C言語は最も最適なアセンブリコードにコンパイルされるわけではないので、自分で書いた場合よりもバイナリ内のコードが多くなる可能性があります。
そして、これらの巨大なコードベースで働いている人々は、もし同じコードベースで数百人のチームがいるなら、アセンブリでそれをやるのに十分な賢さを持つ数百人を見つけて、一緒に仕事をすることは、幸運を祈るしかありません。C言語のほうがはるかに簡単で、C++はさらに簡単かもしれませんが、それには独自の災害もあります。
私が言いたいのは、チームが大きくなればなるほど、貢献する人々がより広い範囲の人々となり、スキルの範囲も広がり、彼らが作成する結果の出力も大きくなるほど、彼らがこれらの高レベルのツールを使用する可能性が高くなるということです。これらの抽象化は大きなものを管理することを容易にし、スキルレベル間のギャップをはるかに良くするからです。
Go言語が実際に優れていることの一つは、シニア開発者が書くコードと、真新しいGo開発者が書くコードが比較的似ているようにすることです。フォーマットの組み合わせ、多くの異なることに対するオプションの欠如など、Go言語がさまざまなスキルレベルや経験レベルで一貫して感じられるようにするために多くの作業が行われました。
あなたは私がどこに向かっているか分かりますか?特定のコードベースに貢献する人の数が増えれば増えるほど、コードベースの数が増えれば増えるほど、そして引用符付きの「開発者」の数が増えれば増えるほど、作成されるコードの量は指数関数的に増加します。そしてAIツールはそれが起こっている大きな理由です。もしそれが起こっている理由のすべてではないとしても。
だから、誰かが「コードの90%がAIで生成されている」と言うとき、彼らが意味しているのは「コードを書くのをやめる、今はすべてのコードがAIになる」ということではありません。彼らが意味しているのは、コードの量が10倍になり、これらのプロジェクトのサイズが大きくなり続け、プロジェクトの数が指数関数的に増え続けるということです。
私たちは急速に、C言語に似た点に近づいています。つまり、アセンブリ開発者は独自の奇妙なポケットとなり、私はそれが今AIで起こっていることだと思います。現在、実際のコーディング経験のないAI開発者は、経験のある開発者に追いつくことができません。これは、T3 Chatに行って、そこでの経験とほとんどの他の類似ツールを使用する経験を比較するだけで分かります。
信じてください、私はこれを構築する際にAIを使って支援しましたが、重要な部分ではAIはまったく役に立ちませんでした。ここでの経験をDeep Seek、Claude、あるいはOpenAIのようなAI企業の経験と比較すると、彼らの製品を使用する実際の経験ははるかに悪いです。なぜなら、そこで働いている人々はウェブで素晴らしい経験を構築することに集中していないからです。彼らにはこれを行うための10年の仕事がありません。彼らはTwitchチャットを構築し、すべてのフレームができるだけ速く応答するようにし、1秒あたり数千の更新を処理するようにしたわけではありません。
もしあなたがその経験を持っていないなら、AIを介してそれをうまく行うのに十分な公共の参照がありません。なぜなら、AIは基本的に一般的なコンセンサスより優れていることはできないからです。情報が公共のドメインに存在しない場合、AIがそれを理解できる可能性は非常に低いです。しかし、私たちが書くコードのほとんどはインターネット全体に存在するコードです。ソフトウェアでは、開発の仕事のほとんどは単にGoogleで検索することだというジョークが永遠にあります。特にPrimeはこの引用を常に嫌っていましたが、これらの巨大なコードベースで作業していて、多くの異なるプロジェクトや多くの異なるスタックにまたがって作業している場合、これは絶対にそのケースになり得ます。
Googleで多くの時間を費やすことになるコードは、ほぼすべてAIで行うことができます。そしてAIは、あなたがその物事を学ぶステップをスキップし、それでより速く生産性を上げることができるようにしてくれます。AIが彼らの開発者体験の奇妙さをスムーズにするのをどれだけ簡単にしてくれなかったら、T3 Chatの多くをCloudflareにデプロイすることはできなかったでしょう。その結果、AIが私をより生産的にしてくれるので、より多くのプロジェクトを構築し、より多くのプラットフォームにそれらを出荷し、より多くの仕事を全体的に行っています。
現在私から出ているコードの生の行数を推定すると、70〜80%がAI生成だと思います。なぜなら、私は楽しいからいつもランダムなプロジェクトをボルト上で、v0上でスピンアップしているからです。それは本当に楽しいことです。そして、解決したいランダムな問題があるとき、v0に飛んで、あるものの5つのバージョンを生成し、好きな部分をコピーし、エディタに入って自分自身で整理することができます。
しかし、私がコードベースに入れる30行のコードに対して、300行、あるいは3,000行を生成したかもしれません。しかし、以前は存在しなかったコードの量が、私が同じ正しい30行のコードを書こうとした結果として今存在するようになりました。以前は同じ機能を2〜3回書いて、それを適切に仕上げることがありました。コミットした30行ごとに100行を削除したかもしれませんが、今では1,000行、あるいはそれ以上に近いでしょう。私が作成しているコードの量は大幅に増加しました。
私が作成するコードの70%がAIだと言うとき、それは私が3倍以上のコードを作成しているからです。それはAIが私が以前書いたコードを置き換えているわけではなく、より多くのものが作成され、より多くのコードが作られ、まったく異なるプロセスになるような異なるワークフローを持つことを可能にしています。
開発者としての私のスキルはこれらのツールを使用する上で役立ちましたが、レビューのスキルははるかに役立ちました。私は人生で書いたよりもはるかに多くのコードをレビューしてきました。そしてそれがこの新しいAIツールの時代のための私のスキルセットをはるかに良くしています。なぜなら、最終的にv0が使えるものを吐き出すと、私はコードのうち欲しい部分と欲しくない部分を見つけることができ、それをコードベースに入れて、自分が望む変更を加えることができるからです。
ここでBot Cooperが言った表現が気に入りました。「作成することはコミットすることと同じではない」そして私はそれに完全に同意します。v0で作成しているもの、T3 Chatで生成しているもの、そして実際に既存のコードベースに入れてコミットし、出しているものの間には意味のあるギャップがあります。それはAIによって置き換えられることはありません。コードの仕方を知らない人によって置き換えられることもありません。彼らが今できるところまで到達できるという事実は素晴らしいですが、それは別のことであり、私たちはそれを認めることができる必要があると思います。
現在のコードの大部分はAIによって書かれていると思います。50%をはるかに超えるコードが今日出ているコードのうち、昨日の終わりには存在せず、今日の終わりには存在するコードのおそらく70〜80%はAI生成です。これらのツールやテクノロジーがどれほど人気があるかを知れば、スペースでは多くのことが変わっています。私たちが構築する方法やGoogleで検索するスキル、ちょくちょく取り出すスキル、実際に欲しいものを見つけるためにゴミの山を解析するスキル、それらのスキルはこれまで以上に重要になっています。
だから、一方では馬鹿げたことに聞こえるかもしれませんが、一日中Googleで検索するだけの人々をAIで置き換えていますが、他方では、誰も適切に理解していない隠された資源を見つけることで、他の誰も解決できなかった問題を解決するために、干し草の山の中から針を見つける実際のスキルを持つ人々は、これまで以上に準備ができています。
そして私はこれを予想もしなかった方法で経験しました。2年間ほとんど触れていないコードベースにある奇妙なバグがあった回数は数えきれません。正直に言うと、今はUploadThingのコードベースに貢献することはできません。それは複雑さのレベルに達し、私がそれほど精通していないツールを使用しています。なぜならJuliusがそのプロジェクトを引き継いで素晴らしい仕事をしているからです。彼はインフラ側を運営し、SDK側を運営しています。彼は現時点でUploadThingのリーダーです。
しかし、例えば、ユーザーが特定のファイルをダウンロードできなかったが他のファイルはダウンロードできたと言って、スクリーンショットを送ってきたような奇妙なバグがあるとき、私はそのスクリーンショットから、失敗したファイルと失敗しなかったファイルの大きな違いは、失敗したファイルに非標準英語の文字(チルダなど)があることを直感したことです。そして私は、おそらく私たちのシリアライゼーション層(アップロードされたファイル名をサービス上のキーに変換する層)がこれらの文字を間違って処理している可能性があると提案しました。そして私の直感は正しかったのです。
コードを読んでいなかったにもかかわらず、物事が失敗している層を理解する直感、正しく行かない情報のセットを見て、失敗が発生している可能性のある場所を組み立てる能力、それらのスキルは非常に価値があります。そして私は永遠に、これらのスキル、多くの層を持つ複雑な問題を解決し、それを行うための個々の層を特定する能力が本当のエンジニアリングであるという議論をします。あなたが書くコードの行数は本当のエンジニアリングではありません。どれも深く理解せずに、多くの異なるシステムにまたがる複雑な問題を解決することが、あなたを素晴らしいエンジニアにするスキルです。それが橋を建設するエンジニアであろうと、しょぼいCRUDアプリを構築するエンジニアであろうと。
そして今やそれは単にあなたがレベルアップする方法ではなく、このことで本当に優れているために不可欠なものです。B Cooperが言ったように、これは実際のリアル人生の経験で、AIは置き換えることができないものです。そして私は再び完全に同意します。ここでは偶然の真実があるかもしれません。なぜなら彼は技術的に偶然とは言っていないからです。
どういう意味かというと、彼の立場からは、実際にはすべての企業が今すぐに調整する必要があると言っています。あなたのエンジニアはすべて基本的に価値がなくなるということです。実際には彼らが販売しているツールが、すべての価値がある場所になるでしょう。あなたのエンジニアは本当に単なる荷車の運転手ですが、実際に購入したいのは商品と荷車自体です。
しかし、それはTJが、あまりにも圧倒的なコードが生成されるため、それを使用していない人々やそれを編集している人々でさえも、偶然にも彼が正しく、12ヶ月後には非常に大きくなり、手作りの職人的なコードが0.1%になり、それに追いつくことが不可能になるということかもしれません。
そうですね、PrimeとTJは実際に同意しているようです。まだこのビデオを見ていなかったので、後で見るリストにありました。将来このビデオを見終えるのが楽しみです。確かに私たちは異なる角度からアプローチしていますが、同じ結論に達しました。つまり、非常に近い将来、ウェブ上や一般的に存在するコードの大部分はAIコードになるだろうということです。
ですので、私が伝えようとしていることを理解していただければと思います。未来は、すべてのコードがAIによって書かれる世界ではありません。私たちの仕事がこれらの粗悪なAIチャットジェネレーターに置き換えられるわけではありません。未来は、開発者ではない人々によってより多くのものが作成される世界です。WordPressが登場したとき、突然誰でもウェブサイトをオンラインに投稿できるようになりました。それが今、私たちがこれまで見たことのない方式で再び起こっています。
そして私たちは、エンジニアとしての私たちのスキルがもはや関連性がないと偽らずに、それを認識できる必要があります。ここには中間点があり、私はダリオが言ったことと、Primeがどう感じるかの間のちょうど中間のどこかに着地していると思います。Primeのような人々が置き換えられるとは思いませんが、彼らはスキルの焦点領域を変える必要があると思います。本当に速くコードを書く能力はもはやそれほど重要ではありません。複雑なシステムにまたがる難しい問題を解決し、奇妙な問題をデバッグする能力は、今日ほど重要だったことはありません。
うまくこれらの物事について考える方法をより良く枠組みするのに役立てば嬉しいです。あなたが何を考えるか教えてください。次回まで、平和を、ナード達。

コメント

タイトルとURLをコピーしました