AIでコードは爆速生成できるはず?なぜAIプログラミングの主張は現実と食い違うのか
引用元:https://news.ycombinator.com/item?id=45120517
AIに関する主張が深刻な問題になってる。テックリーダーたちはFOMOに駆られ、「AI-First」企業を名乗り、AIによる生産性向上を理由に人員削減を正当化したり、開発者の給料を不当に下げたりするんだ。俺の仕事は丁寧な計画と実行が必要なのに、AIは全く役に立たない。なのにマネージャーは「AI-first企業だから」って、プロジェクトの納期を当初の20%に短縮しろって言ってきたんだ。SVPsやPMsの集団ヒステリーは異常だよ。
「マネージャーが最新プロジェクトの納期を当初の20%に短縮しろって言ってきたんだ」って?ああ、主よ、彼らをお許しください、彼らは自分たちが何をしているか知らないのです。
AIに反対する人たちは、テック業界の「疎外されたプロレタリアート」として、AI企業やトレンドを追うマネージャーに恨みを抱き、感情的に反発してるんじゃないかな。AIが詐欺だとか無益だとか言う主張も、恨みという動機に基づいているのが明らかだよ。自分の信念が理性に基づいているのか、それとも恨みから来ているのか、よく考えてみて。
AIが生み出す労働の価値は、ボスだけでなく労働者にもちゃんと還元されるべきだよ。もし結果が「同じ仕事量なのにマネージャーが求める納期は20%」なら、誰もハッピーになれないのは当然だろ?
「最新プロジェクトの納期を当初の20%に短縮しろ」って、正気か?そんなデタラメな数字を出すなんて。達成できない場合、責任は彼に行くけど、その上の連中からは彼に責任が押し付けられるだろうね。彼がクビになるよ。LLMが本当に生産性を上げるなら、まずは成功裏に導入してから人員削減を考えるべきで、前もってやるのは間違いだ。このAIバブルが弾ける前に、S&P 500から投資を引き揚げるべきか真剣に考え始めたよ。
AI自体が問題の根源じゃないと思うんだ。本当は大きな景気後退に向かっていて、AIはその事実をごまかすための都合の良い物語として使われているだけだよ。
今の「スタートアップ/スケールアップ」文化はずっと異常だよ。この10~15年で、技術的な価値はほとんど増えてないのに、USのGDPは倍増し、ほとんどの利益はテックプロフェッショナルや投資家に流れてる。住宅のような供給が限られた資産に資金が流れ、インフレ調整後の価格が高騰して、平均的な人々はより苦しくなってる。社会は進歩してるけど、そのペースは遅くなってるんだ。AIへの過剰な期待が崩れたとき、何が起こると思う?
今日、友達の叔父からMVP開発を頼まれたんだ。「エンジニアを煩わせたくないけど、vibe codingを使えば5時間もかからないはず」って。すぐに断ったよ。もし5時間でできるなら、なんで俺に連絡してくるんだ?彼のエンジニアよりも俺が要件を理解するのに5時間以上かかるよ。vibe codingがそんなにすごいなら、シャワー浴びてる間に自分でやればいいじゃん!
15年前の技術と比べてAIの進歩はすごいよ。昔は自分で全部書かなきゃいけなかったHerokuも、Kubernetes、Google Drive、Slack、TensorFlowも、みんなこの15年で生まれたり進化したりしたんだ。おばあちゃんでもAIで簡単にウェブサイト作れるし、技術の進化を舐めない方がいいって。
生産性が上がっても、その恩恵をみんなが受けられるようにするには、ちゃんとしたシステムとインセンティブが必要だよね。マネージャーは売り上げアップとコスト削減が仕事だから、その範囲でしか恩恵は出ないものだよ。
元の記事、読んだ?記事だとAI使うと開発者はむしろ遅くなるって言ってるのに、みんな速くなったって勘違いしてるんだって。AIへの反応って、なんかやたらと守りに入るタイプと「わかんない」ってタイプしか見ないよね。
なんかAIに対して「これでいいや」って空気が漂ってるよね。企業は今、AIが実用レベルになるまで、たまに人員整理しつつ、のんびりモードに入ってる感じ。
みんな労働力不足に備えてるけど、投資家の予想とは逆の結果になると思うな。2030年は2020年みたいになるんじゃないかな。
元の記事はAIに価値がないって言ってるけど、あれは少数の実験結果だけ見てるからおかしいよ。AI企業のOpenAIやAnthropicも、CursorやreplitみたいなAI活用企業もすごい勢いで伸びてるし、みんな何十億も払ってるってことは価値があるってことだよね。俺もAIで簡単なアプリをバンバン作れるし、なんで筆者はできないって言うのか不思議だわ。
もし企業がAI頼みで人を解雇しすぎたり、AIに仕事取られるって思ってプログラマー目指す人が減ったりしたら、AIが「やっぱ使えないじゃん」ってなった時に、めちゃくちゃ人材不足になるぞ。俺がCS専攻してた2003年頃も、ドットコムバブル崩壊後で学生少なかったけど、今と比べたら全然違う。
人は論理的だからって全部受け入れるわけじゃないんだよ。あと、AIって俺が使った感じだと、言語間でstructの定義を変換するとか、そういう簡単なこと以外は全然役に立たないね。生産性が10%どころか400%も上がるとか、ありえないでしょ。
どんなAIコーディングツールやモデルを使ってるんだい?
俺は同意しないね。HNの技術者はLLMが単なるパターンマッチングの機械だって分かってる。AGIの誇大広告はWeb3のバブルと同じ。これはニッチなアプリを持つそこそこ便利なものなのに、詐欺師が非技術者に大儲けするために売ってるんだよ。バブルだし、この業界に長くいる人なら誰でも知ってるさ。
俺の予想だとさ…連中は間違った使い方してるか、20分以上前の古いモデルを使ってるんじゃないかな。
俺もAIでいくつかアプリを作ったよ(仕事じゃないけど)。でも、誰もが理解してないのは、これにはまだ時間がかかるってこと。何回もテストして、見つけた問題を正確に説明して、これを何時間も繰り返すんだ。このやり方は好きだし、自分でコード書くよりは速いって思ってるけど、決して爆速ってわけじゃない。
お前、俺がまだ返事もしてないのに、どう返すか決めつけてるだろ。的外れな皮肉でスレッドを汚さずに、もっと自然な問いかけをしてくれよ。
LLMを”パターンマッチングの機械”と呼ぶのは安易すぎだろ。人間を”脂肪と塩と化学物質の塊”って言うのと同じ。AIはこの数年で不可能とされたことを次々実現してるんだぞ。HNのAI嫌いは感情的だし、Web3のバブルと一緒にするのは違う。それはお前がAIの欠点ばかり見て、Web3の誇大広告とパターンマッチングしてるだけだ。
プログラマの数が全然足りないと思ってる。Googleみたいな企業はプログラマに莫大な報酬を払うけど、それはプログラマの仕事からもっと稼いでるからだ。これのせいで、他の多くの会社はプログラマを雇えなくなってる。今の5倍プログラマがいても、仕事はなくなることはないはずだよ。
”これらの会社の収益は何もないところから生まれるわけじゃない。人々に数十億ドルも払わせるんだから、製品に価値があるはずだ”って言うけど、ビーニーベイビーズや90年代後半のドットコム、2000年代後半の住宅ローンCDOだって、価値があったから大金が動いたとでも言うつもりか?
>このサイトの元の前提は、スタートアップの創業者とハッカーがスタートアップの創業者とハッカーの事柄を議論することだった。
やっとみんな気づいたんだね。
>でも、私も彼らの一人ではない。私は資本家で、零細企業を経営している
それは最高の誤った意識だよ。お前は本当の資本家よりも、これらの労働者に近い存在だろ。
「不況に向かってるって誰が言ってるの?一つの国の不況が「コードの全て」のトレンド全体に大きな影響を与えるほどじゃないんじゃない?」
LLMはStack OverflowとかClegg’sみたいなデータベースから作られた、多次元パターンマッチングマシンだよ。もし違ったら、データベースに教えるための答えを書く仕事なんてないはずだもんね。有料だったり検索エンジンからブロックされてる情報が手に入るのは助かるけど、Pythonのバージョン違いが混じってたりすると使いにくい。訓練データを見ると、どう実現されてるかよくわかるよ。
LLMについて、いくつか同時に言えることがあるよ。まず、汎用タスクで開発者の生産性を10倍にするわけじゃないけど、特定のタスクでは劇的に上げる。あと、裏で雑務を自動化できるね。新しいAPIやライブラリを習得したり、知らない言語でちょっとしたコードを書くのはすごく速いよ。ウェブサイトの足場作りやモック作成も得意。でも、大規模な既存コードの修正はそうでもない。要は適材適所だよ。
LLMが新しいAPIやライブラリを覚えるのに役立つって意見には賛否両論あるね。僕もそう感じたことはあるけど、いざ詳しく見てみると、LLMのコードが慣習に従ってなかったり、問題を無理やり既存の例に当てはめようとしたりすることが多すぎるんだ。魔法みたいに感じるけど、実際には不適切だったり回りくどかったりする。理解した気になって、本当の理解を失わないか心配だよ。
LLMは早く答えをくれるけど、それが正しいとは限らないんだよね。結局、自分で確認しなきゃいけないなら、LLMを使う意味がないじゃんって思う。毎回自分で確認するくらいなら、最初からドキュメントを読んだ方が早いよ。
もっとコメントを表示(1)
「LLMが裏で雑務を自動化できる」って言うけど、監視なしでできるその雑務って具体的に何なの?AI推進派は、成功してる具体的なタスクについて、もっと明確に説明すべきだと思うな。曖昧な話にはみんなもううんざりしてるよ。
Stack Overflowで答えを探して合わないのを却下するのと、LLMを使うのはそんなに違うかな?LLMに「正規表現じゃなくて文字をイテレートして」みたいに具体的に言えば、別の答えをもらえることが多いしね。
最近、あるコーディングAIでウェブサイトの足場を作ろうとしたけど、全然うまくいかなかったんだ。同僚も同じ問題だったよ。原因は、AIが使ってたツールの設定方法が、AIのトレーニング後で古くなっちゃってたこと。結局自分で直すのに時間がかかって、(1)自分でやった方が早かったし、(2)他に何か間違ってるかもって思うと、もうAIに任せられないって気づいたよ。
新規Webサイトの足場作りにLLMがすごいって言うけど、記事の統計見ると、新規開発なのに生産性上がってないじゃん。最高でも横ばいなんだから。
LLMで新しいライブラリを覚えるのはすごい速いって言うけど、QtのUI開発でAIに聞いたら、最初はうまくいったように見えたんだ。でも、自分で経験積んでから見返したら、AIのコードは全然ダメで、間違ったウィジェットを継承させてた。結局、もっとシンプルなやり方で80%のコードを減らせたよ。
AIがライブラリ学習に良いって言う人いるけど、元々知らないと、それが良いコードか悪いコードかなんて全く分からないってこと。気をつけろよ。
もしかして、もう面白いWebサイトって作り尽くされたんじゃない?
速く作れるようになったからって、たくさん作られるとは限らないでしょ。
新規Webサイトの足場作りにLLMがすごいって?
それって、これまでのコードジェネレーターの方がもっと良かったんじゃない?
あれって一貫した結果を爆速で出してたじゃん。
LLMが依存関係の出所を突き止められるなら、もっと調べてみる価値があるね。
インジェクションのせいで他人のコードベースが全く理解できないのは本当に嫌いなんだ。
“The framework scans billions of lines of code to find the implementation, and so can you!”って冗談じゃないよ。
彼ら(LLM)はできるよ。曖昧さなんてない。
今時、LLMが何もできないって信じてる人なんて珍しいでしょ。
他の懐疑的な人たちも、生産性向上が本当に現実的かどうかって、もっと関連性の高い問題に移行してるんだから。
悪いけど、それってスキル不足じゃん。
MCPサーバー、特にcontext 7を使えよ。
プロンプトにライブラリ名入れてcontext 7を使うように頼めば、最新のドキュメントが手に入るから。
お前がやったのは、ウェブ検索ツール付きのエージェントを使わずに、古いGPT-4を直接使って最新ニュースを知ろうとするのと同じだぞ。
古いMediumチュートリアルみたいに、Reactがcreate react appから変わった時も、何年ものチュートリアルがすぐに使えなくなって、フォーラムは混乱したよね。最近のライブラリは、ちゃんとしたドキュメントよりコンテンツプロデューサーに頼りがち。昔は専門の著者が紙の本を書いてたのにね。LLMは参照資料の更新が遅いだけだよ。
SalesforceでAIに助けを求めたら、半分は正しくて半分はゴミだったよ。サポートサイトも古いゴミ情報が多いから、AIもゴミを出すのは当然だね。直接サポートサイトを見れば、日付や投票でゴミを見分けられるけど、AIはヒントなしで混ぜて出すから、自分で試行錯誤するしかないんだ。
「LLMは私自身よりずっと早く新しいAPIやライブラリに慣れさせてくれる」って言うのを、「LLMは私にとって新しい古いAPIや古いライブラリにずっと早く慣れさせてくれる」って変えた方が正確じゃないかな?私の経験だと、新しいライブラリ/API/ツールだとLLMは助けにならないんだ。使い方間違ってるのかな。
Hacker Newsの投票結果は逆を言ってるよね、lol。
それに、必要ならissueを上げて更新されるようなpublicなリポジトリにあることが多かったんだよね。
AIはまだ外挿ができないんだ。学習データ間の内挿はできるけど、それは新しい面白いプロダクトじゃないよね。もし人間レベルで外挿できたら、ゲームやウェブサイトなんかが10倍も増えてるはずだよ。
Typoだと思うんだけど、「ネジにハンマーを使うのはやめろ」って言うべきだったんじゃないかな。ツールと用途のミスマッチを指摘してるんだよ。
もちろんPHPだね!https://blog.codinghorror.com/the-php-singularity/
この問題は完全に解決しないけど、context7 MCP serverみたいなのが動いてて、Copilotとかがそこにアクセスできると、ほとんどのツールの幻覚がめちゃくちゃ減るね。それに、僕はContinue.dev VSCodeを手動で指定したドキュメントやガイドと一緒に使ってるんだけど、これらは文脈に選択的に注入できるんだ。この二つの戦術は、回答の品質にすごく差をつけるよ。
今日、Claudeにプロジェクト内のベンダー製JSファイルでTypeScriptの型チェックを無視する方法を聞いてみたんだ。そしたら、Claudeはこれをガリガリやって、最終的にプロジェクト内の全JSファイルの型チェックをオフにして、「エラーがなくなったから大成功だ!」って堂々と宣言したんだ。やったー。もし僕がプロジェクトのこと何も知らなかったら、全く気づかなかっただろうね。
これ、僕にもよくあるんだよね。3ヶ月前のCursorのハイプ期間中に書いた大きなファイルを見つけるんだけど、DRYじゃない巨大な塊とか、マジで無意味なガラクタとかが入ってる。うん、もっとちゃんとレビューすべきだったのは分かるけど、たくさんあって全部見ていくのは大変だし、一応「動いてた」んだよね、UIは見た目通りだったから。
AIは「ジュニアはもう終わり」みたいな主張と一緒に、コードが画面にダーッと流れる動画以外ではほとんど存在しないよね。これの「なぜ」は、賭け金が高いからだと思うんだ。経済は揺らいでるし、テック系の仕事は消えていってる。AIが救世主になるっていう強い不安があるから、AIが開発者や能力を代替できる必要がある人たちの間で、ある種の半宗教が形成されてる感じ。
とはいえ、個人的にはAIで素晴らしい結果を出した経験もあるけど、やっぱり何をしてるか知る必要があるんだ。ほとんどの人は(初心者から中級者の範囲を超えて)知らないから、彼らが誇張された主張でSNSを埋め尽くしてるのも驚かないね。
もしAI以前に(コードを書くっていう)スーパーパワーを持ってなかったら、そのスーパーパワーが平等化のツールだと感じて、1) スーパーパワーは良い、2) スーパーパワーはなくならない、3) スーパーパワーが間違いを犯すことは無視すべき、っていう立場をみんなに維持させるために、あらゆるリソース(物質的、心理的など)を投入するだろうね。他のハイプサイクルと同じように、こういう人たちは洗い流されて、中間点が見つかって、また何十億ドルも燃やす次の言い訳をじっと待つことになるよ。
少なくとも僕の経験では、AIはまっさらなキャンバスのプロジェクトですごく優秀だね。何もないところからかなり基本的なものが欲しいときに。ツールを使えば、僕より早く新しいReactプロジェクトをセットアップできるだろう。でも、実際の仕事のリポジトリで試すたびに、ほとんど役に立たなくなるんだ。
だから、こんなにハイプが生まれるんだよね。AIはテックデモには完璧だから、マネジメントは「なんで現実世界では結果が出ないんだ?」って首をかしげるわけだ。
まさにそうだね。AIはすぐにたくさんの技術的負債を生み出すんだ。特に、あまり詳しくない分野でコードを書く人にとってはね。
だけど、ピンポイントのタスクではすごく役立つこともあるよ。例えば、僕みたいなAI/データサイエンスの人間が、基本的なリバースプロキシを設定するみたいな場合だね。でも、そのときはものすごく厳しくチェックするんだ。Kagiで検索したり、ドキュメントでコードを確認したりとかね。これは、僕がリバースプロキシについてメンタルマップを持ってないから助けになるんだ。不足している知識を補ってくれるんだけど、すごく慎重になる必要があるね。
僕の意見だけど、そういう使い方では、どの会社の何十億ドルもの評価額を正当化するとは言えないよ。
リバースプロキシについてメンタルマップを持ってないって、どういう意味?
それは、nginxとそのたくさんのオプションがOS全体でどう組み合わさって、安全で、正確で、速いものを作れるかっていう深い理解が自信を持ってできてないってことだよ。Python、Matlab、Rustなら何か作れるけど、nginxみたいなものは、LLMを使って深く理解する前にしっかり掘り下げたことがないんだ。
新しいプロジェクトを足場固めするだけでも簡単じゃないんだよね。特に新しいスタックや既存ツールの新しいバージョンだと。例えば、僕はVue 3プロジェクトをViteとTailwindで正しくセットアップできたことが一度もないんだ。トップSOTAモデルも試したけど、プロンプトのスキルが悪いのかもしれないけど、毎回プロジェクトを正しくセットアップできないんだよね。毎回、もう関係ない古い設定をくれるんだ。
LLMは、たぶんこの仕事には最悪のツールだよ。コードジェネレーターは昔からあるじゃん。「npm create vite@latest my-vue-app – –template vue」ってできるのに、なんでLLMを使うのさ?
LLMは使えると期待されるけど、ライブラリ選定や設定、ログインページ作成って単純作業が超時間かかるんだよね。これ自動化できたら1週間は浮くのに!
ViteとかTailwindってワンライナーでプロジェクト作れるのに、なんでまだプロジェクト設定が大変って文句言う人がいるんだろ?あ、LLMの話だった、ごめん!
もっとコメントを表示(2)
LLMが既存プロジェクトで使えないのは、コードベースが独自すぎたり、一般的じゃないフレームワーク使ってたりするからだよ。LLMは次のトークンを予測してるだけで、推論とか学習はできないんだ。だからコンテキストがないと使えない。
GPT-5のエージェントモードは既存プロジェクトでも超使えるよ!既存コードを分析して、プロンプト調整なしで馴染むコードを書いてくれるんだ。AIは新規プロジェクトに強いって意見はわかるけどね。
GitHub Copilotは全然使えないし、提案も邪魔。修正や説明機能もダメ。Claude Codeみたいに高いツールなら良いのかもしれないけど、会社がCopilotに数ドルしか使わないのに、高額ツールの結果を期待するって変じゃない?
職場でGitHub CopilotをGPT-5のエージェントモードで使ってるけど、これ最高!提案とか修正、説明機能は使わない方がいい、あれはほとんど役に立たないよ。
それって別の有料製品なの?VS Codeのプラグインで、エージェント機能なんて見たことないんだけど。
チャットのモデルセレクターの隣にあるよ。
これには完全に反対だね。AIは、ドキュメントやコメント、テストがしっかりした、AI開発を意識したプロジェクトでこそ一番使えるんだ。コードの中にできるだけ多くのコンテキストが欲しいんだよ。
「わかってる」って言うけど、「手動でできる経験がある」ってこと?それとも「特定のAIツールとその限界を知ってる」ってこと?どっちもかな?
ソフトウェア開発はいつかエンジニアリングが必要になる。LLMはゴミも吐くけど、ひどいシステムでも動くことはある。俺が作った古い非効率なシステムだって何十年も動いてるよ。LLMはそんなコードなら爆速で書ける。でも、エンジニアリングを知らないとLLMは負債になる。俺はLLMでInfrastructure as Codeを書いてるけど、設計を知ってるからこそ。LLMはk8sの大量yamlを秒速で吐けるけど、全体設計は無理。Bicepで仮想ネットワークも作れるけど、ゼロから合理的なのは無理だね。
AIの話って、メディアの”科学”記事みたいに、論文のちょこっとした情報から”もうすぐ実現する”って大げさに言いすぎだよね。本当のところはみんなわかってるはずだよ。
俺の経験でも同じだよ。LLMはちょっとした修正にはいいけど、大規模なタスクだと手直しが必要。経験の浅いエンジニアがLLMのコードをそのまま使うと、スタイルガイド無視、ライブラリ使わず自作、巨大なPRとか問題だらけだよ。
ライブラリを使わず独自実装したり巨大PRになったりするのって、コード量によるけど、むしろ良いことじゃない?50行くらいのコードのために、でかいライブラリを入れすぎる人もいるしね。
数行の話じゃないんだ。LLMがGoで数百行のスケジューラーとか設定ストアを自作しちゃった例があるんだ。コード自体は悪くないけど、誰も理解しないしサポートもできないライブラリを抱え込むのと同じだよ。既存のライブラリがあるのにね。
うちのチームでAIが数百行使ってCSVバリデーションのPR出したんだけど、RubyのCSV.parse
だけで済むことだったんだ。
プロンプト通りに望ましい結果が出た良い例だね。組み込みライブラリを使うかどうかの話だよ。
LLMが存在しないライブラリをでっち上げたら、どうやってそいつを黙らせるの?魔法のプロンプトなんてあるの?
昔は50行のコードのためにでかいライブラリ使ってたけど、今は違うな。みんなでご飯食べる共同キッチンみたいな感じで、共有が常に良いとは限らないんだ。共有機能として小さなライブラリにするのは一見良いけど、現実は複雑だよ。