開発者を全員解雇してAIにコードを書かせた時

6,883 文字

when you fired ALL your developers and AI writes the code
The AI hype pretends to replace software engineers and have machines writing code in a few years... but is this really p...

私のプロジェクトが大きくなりすぎてClaudeが適切に理解できなくなってしまいました。Pythonでコンポーザーとコマンドラインインターフェースを使ってプロジェクトを作りましたが、30以上のPythonファイルがある巨大なコードベースになり、非常に整理されていない状態です。重複したループもあるかもしれません。Claudeは基本的なインポートさえ忘れてしまいます。この時点でコードの最適化やバグ修正を依頼しても、本質的な問題を認識できず、ランダムに行を削除したり、完全に壊してしまったりするだけです。
私はPythonの知識がまったくないので、ここまでプロジェクトを進められたのは奇跡的です。でも今では物事を把握するのがほぼ不可能になっています。どうすればいいでしょうか。すでにカーソルルールを試しましたが、うまくいかないようです。
カーソルルールは実際には、コーディングスタイルに従うようにカーソルに与えることができる目標のセットです。Pythonを使用している場合は、特定の方法でPythonをコードするように指示したり、JavaScriptでも同様のことができます。
このビデオでは、非常に重要だと考える3つのポイントについて説明します。
1つ目は、現在の群衆の狂気とAIゴールドラッシュについてです。なぜ特徴が実際にはバグなのか、そしてそれがAIコーディングにどのように影響を与えるのかについて説明します。
また、なぜこれが開発者として先に進むための絶対的に最高の時期なのか、そしてどうすればそれを実現できるのかについても説明します。私たちは、パラノイアの裏側には、野心的な開発者が実際に前進し、2年後には非常に良い立場にいるための多くの機会があると信じています。
まず、現在の群衆の狂気とAIゴールドラッシュについてです。最大の問題は、今日多くの人々、特に多くのソフトウェアエンジニアが、ソーシャルメディアやYouTube、そしてYouTuberたちがSam AltmanやNVIDIAのCEOたちの発言を咀嚼して伝えることからのみ情報を得ていることです。
これらの人々の問題は、AIが根本的にゲームを変えるという信念を持たせることに既得権益があることです。人々は感情に支配されてしまいます。開発者を責めることはできません。多くの人々は自分で分析する時間やリソースがなかったからです。
これが本ビデオの最初のアドバイスです。自分で分析を行い、手元にあるAIコーディングツールを試し、その背後にあるアーキテクチャとそれらがどのように機能するかを理解することです。それが私たちがこのビデオでも行うことです。
Bさん、コーディングに関してAIの最大の問題点は何だとお考えですか?
言及したように、大きな問題はAIの基礎となる推論にあります。これは基本的に、データセットを統計的に分析することに基づいて次のトークンを予測する能力です。DevinやすべてのAIコーディングツールの背後にある現在の仮説は、モデルのサイズが大きくなればなるほど、コーディングの提案の質や自律性、コードベースのサイズが指数関数的に向上するというものです。
これらの指標を単一の包括的な品質指標にまとめると、多くの人々が主張しているのは、サイズを増やすほど品質が指数関数的に向上し、ある種の特異点に達して、AIが人間の開発者よりも高い品質を実現できるようになるという曲線です。
しかし、彼らが私たちから隠している現実は、証拠とAI研究を見ると、その曲線はおそらく平坦化していくということです。私たちは今どこにいるのか誰も本当にはわかりませんが、GPT-3がここに登場し、GPT-4が続き、誰もがGPT-5やDPSが開発者を置き換えるポイントに到達すると言っています。Zuckerbergもそう言いましたが、実際にはGPT-4、5はおそらくここにあり、わずかに改善された程度で、次のモデルもここにとどまるでしょう。
そしてOpenAIは投資家に対して、彼らが行ってきたことを何とか正当化する必要があります。その理由は、サイズを増やすと、私たちのLLMは文字通りネットワーク、重み付けされたネットワークになるからです。
アイデアとしては、入力を与えて出力を得るというものです。すべてのコーディングツールの背後にある全体的な論文は、これが私のモデルであり、それが非常に大きくなり、私の全コードベースを与えると、提案は実際に良質なコードのように良くなるというものです。
問題は、モデルのサイズを大きくすると、得られる提案は良くなるのではなく、実際には悪くなることです。モデルが大きくなればなるほど、このネットワークが大きくなればなるほど、あなたが尋ねた質問がモデルの異なるセクションによって回答される可能性が高くなります。なぜなら、与えられたものが実際にこれに似ているとモデルが考えるからです。
異なるセクションを区別できないため、より多くのコードを投入すれば投入するほど、得られる提案がより幻覚的になる可能性が高くなります。これに対処するためにさまざまな方法があり、その1つが現在DPSで見られる専門家の委員会(Committee of Experts)です。
これは、モデル内に単一のLLMモデルがあるのではなく、異なるモデルのサブセットがあるというものです。基本的にコーディング用のサブセット、数学用のサブセット、そしてコーディング内部ではJavaScriptのオブジェクト指向用のサブセットなどがあり、質問をすると実際の専門家にルーティングされ、答えが返ってきます。
これが、モデルが大きくなるほど幻覚が増えるという事実に対処しようとする方法です。専門家の委員会の問題は、AIはあなた自身のコードについてのみ専門家になるということです。コードベースでモデルを訓練して、望む方法で質問に答えるようにすると言いましたが、問題があります。
想像してみてください。結局、多くのレガシーコードを生成することになります。開発者が毎日行っていることの多くは、コードベースを見て、テキストには存在しないビジネスの方向性や、私たちの周りで変化している技術に向かって移動しようとすることです。そのため、私たちが最も嫌うのはレガシーコードを扱うことですが、それは実際には仕事の大きな部分です。
あなたのコードベースで訓練されたAIの問題は、より多くのレガシーコードを生成することです。そしてもしあなたのコードベースで訓練されていない、世界中のすべてのコードを持つ巨大なAIであれば、それは幻覚を起こすでしょう。これら2つの問題は、データを増やすことでは解決されず、ハードウェアを増やすことでも解決されず、文脈(あなたの全コードを取り込める能力)を増やすことでも解決されません。
これが現在のAIが抱える根本的な問題です。どのような解決策を提案しても、それはコードベースに反映された現実のスナップショットで訓練されていますが、それは現実そのものではありません。AIが独自の科学的プロセスを持ち、問題解決メカニズムを内部化し、現実と相互作用し、自分で物事を試すことができるようになるまで、私たちはそこに到達することはないでしょう。
正直に言って、私たちはそこまで何世紀も離れているかもしれません。誰にもわかりません。
推論に話を戻しますが、これを特徴として言及されましたね。その特徴がバグになるというのは、具体的にどういう意味ですか?
より大きなコードベースに移行する場合、Redditの投稿では30のPythonファイルがあると言っていましたが、これは非常に小さなプロジェクトです。これは実際のプロダクション企業アプリケーションの規模ではありません。マイクロサービスであっても、数百のファイルを持つアプリケーションについて話しています。
現在のLLMを使用したAIの問題は、統計的に次のトークンを推論しようとすることです。そのため、質問に対して統計的な回答を提供することになります。統計的な回答の問題は、まず、それらが幾何学的に高価だということです。
私たちが与える入力が増えるほど、文字通り、LLMが答える各トークンに対して、ネットワーク内で正しい答えを導き出すために、それらの異なる重みを通過する必要があります。これは非常に非効率的です。彼らがそれを実行できる唯一の理由は、計算の観点からは極めて非効率的ですが、巨大なプロジェクトで提案を行うより良い方法があるからです。
例えば、TypeScriptのような型システムがあります。TypeScriptとインテリセンスやオートコンプリートは提案を行う上では強力ではありませんが、数千行のコードを扱う場合には非常に強力です。TypeScriptの静的型付けを使用して、巨大なコードベースで作業し、数秒で優れた提案を得ることができます。そして計算の観点からは、ローカルマシンで実行できます。
インターネット上のすべてのコード、GitHubのすべてのコードを見て、そのコードと私のコードベースに基づいて統計的に回答を近似するという考え方があります。これは、TypeScript、静的型付け、インテリセンスやコンビネータのような開発ツールを持つよりもはるかに非効率的な方法です。
もちろん、それらは強力ではありませんが、はるかに高速です。そこで私たちは、回答を近似することと回答を与えることの違いを理解する必要があります。人間が非常に得意で、開発者が本当に得意なのは回答を与えることです。AIが得意なのは、回答だと考えるものの近似を提案することです。
しかし、これは人間の要因を排除するものではありません。提案された解決策の検証者が依然として必要です。これがMark ZuckerbergやSafra Catzのような人々が「エンジニアを雇用しない」「エンジニアは必要ない」と言っている理由です。今、このDeepSeekが出てきた時に、彼らは今どこにいるのか賭けてみましょう。SaaSの人々に何が起こっているのか尋ねに行ったのでしょうか?いいえ、彼らはエンジニアのところに戻りました。
これが、カーテンの裏側を見ることができ、これらの人々が虚勢を張っていることがわかる理由です。市場、IT市場は、これまで以上にエンジニアを必要としており、これまで以上に多くのエンジニアを必要とするでしょう。
その反対を主張しているにもかかわらずです。その通りです。彼らは、あなたが言及したように、このようになると信じています。そして、もう開発者は必要ないと。彼らはそれを売り込みます。なぜなら、彼らのAIツールを売りたいからです。
しかし実際には、彼らが解雇した人々だけが知っていたレガシーコードが大量にあり、プロジェクトは非常に大きく、膨れ上がり、物事を把握するのが非常に困難になるでしょう。そして、本当に動作するソフトウェアを販売したいのであれば、彼らは解雇した人々を再雇用しなければならないでしょう。
なぜなら、これは誰かがサイドプロジェクトで作ったものかもしれませんが、私たちは企業向けソフトウェア、人々がお金を払うものについて話しているからです。そして、実際に優れたエンジニアリングチームと優れたコードを持つ企業が、市場シェアを獲得し始めるでしょう。なぜなら、彼らは営業やAIに過剰投資している企業に対してエンジニアリング上の優位性を持つことになるからです。
おそらく見たことの1つは、DPSが発表された時にすべての株価が暴落したにもかかわらず、Appleは上昇しているということです。なぜなら、Appleは彼らの戦略でAIを控えめに扱い、不必要なモデルの訓練やAIの専門家の雇用に多くの資本を費やしませんでした。
開発者がAIに置き換えられるという考え方は、実際にはこのAIブームが大きな話題になる前に、Elon MuskがTwitterに参入し、開発者を解雇してもまだ会社を運営できたことから来ていると思います。しかし、X.comのアプリのレビューを見ると、人々は不満を述べています。もちろん、Elon Muskの政治的立場について不満を述べる人もいますが、製品に焦点を当てると、製品自体、UXなど、すべてが悪化したことがわかります。
Xは問題を抱え始め、それはMuskが間違っていたことを証明しています。しかし、これらの大企業のCEOたちは、おそらくより良い選択肢を知らないため、この時点でただElon Muskを真似ているだけのようです。
これが3つ目のポイントにつながります。なぜこれが開発者として先に進むための最高の時期なのでしょうか。
私が見る限り、誰もがAIによって麻痺し、忙しくしています。多くの開発者が突然機械学習を学び始めたり、開発者のスキルが置き換えられると考えて大学に戻って博士号や修士号を取ることを考えています。誰もが麻痺しているか、ゴールドラッシュに飛び込んでAI/ML開発者になろうとしています。
同じではありませんが、似たようなことがブロックチェーンの時代にも起こりました。2021年だったと思いますが、当時私たちは開発者をコーチングしていて、多くの人々が「ブロックチェーン開発者になります。彼らは50万ドルを稼ぐから」と言っていました。そして6ヶ月後、同じ人が失業し、実際にお金を稼げる元の仕事に戻っていました。
人々は気を散らされているか、この不安に対して行動を起こさなければならないと感じ、実際には技術を向上させていません。そして、6ヶ月後、おそらく1年後に、彼らは去った時と同じ地点で目覚めることになるでしょう。今日実際に技術を向上させている人々が、1年後、2年後に大きな優位性を持つことになります。
これは再び、群衆の狂気から来ています。私たちが視聴者の開発者に伝えたいことは、ソーシャルメディアやアルゴリズム、Mark Zuckerbergや誰かに私たちの決定を期待するのをやめるべきだということです。
なぜなら、あなたがこの分野に留まることを選択するにせよ、ソフトウェアに未来がないと考えて別の道に進むことを選択するにせよ、それは人生の大きな決定であり、これを群衆に任せることはできないからです。その群衆はあなたの上司かもしれません。
テクノロジー企業のCEOやCTO、書類上では非常に資格があるように見える人々が、AIの具体的な部分についてほとんど知らず、分析も行っていないのに、物事を言っているのを見ます。そして、中級レベルの開発者、ジュニア開発者が「もう耐えられない、とても混乱している、この先に未来があるとは思えない。コーディングの学習にこれほど多くの時間を投資したのに、今や終わりだと言われている」と言っています。
これは非常に危険なメッセージだと思います。中級レベルの開発者、ジュニア開発者、そしてキャリアの選択を疑問視しているシニア開発者へのアドバイスです。キャリアの選択を疑問視しているなら、深く掘り下げ、ウサギの穴を下り、自分で分析することをお勧めします。これらの人々の言葉を聞かず、彼らがあなたより多くを知っていると考える間違いを犯さないでください。
確かに、LLMを実際に構築している主任科学者たちは、あなたよりもはるかに多くを知っています。しかし、彼らは働いている企業のPRを損なうため、多くを語ることができません。多くの混乱、多くのノイズがあります。これは、エンジニアとしてあなたが学んだことを使い、自分で分析を行う必要がある時です。
そうすれば、私たちが毎日見ているように、これは大きな虚勢であり、6ヶ月後には、先に進んでいる人々、仕事で素晴らしい成果を上げている開発者たちが見えてくるでしょう。過去2年間を見ても、ChatGPTが2022年10月に登場して以来、私たちは何十人もの開発者が給与の昇給を受け、昇進し、仕事で素晴らしい成果を上げているのを見てきました。
煙の向こう側を見なければなりません。それが私が与えられる唯一のアドバイスです。群衆に従わないでください。これらの人々は、一人が何かを言い、他の人々がそれを繰り返します。それがソーシャルメディアの仕組みです。DPSが登場すると、すべてのYouTuberが素早くクリックを得るためにDPSに関する動画を作りますが、彼らは皆同じことを話し、30のPythonファイルを処理できないコマンドラインインターフェースがあるのに、AGIについて話します。
私たちはそこからはるかに遠く離れています。そして、私たちが今持っている唯一の本当の知性は人間の知性です。だから、そこに戻り、自分を信頼し、自分を信じ、自分で分析を行い、スキルの向上を続けてください。
皆さん、ありがとうございました。Bさん、ありがとうございました。また次回お会いしましょう。

コメント

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