この動画は、近年話題となっている「バイブコーディング」について、その定義から実用性、限界まで詳細に解説した内容である。開発者コミュニティで賛否両論が分かれるこの手法について、投稿者は自身の豊富な経験を基に、バイブコーディングが有効な場面と危険な使い方を明確に区別して説明している。特に、バイブコーディングはエンジニアを置き換えるものではなく、エンジニアリング作業の一部を効率化するツールであるという立場から、使い捨てコードやプロトタイプ作成における価値を強調している。

バイブコーディングに対する疑問と現実
バイブコーディングの意味って何なのか、結局開発者にお金を払って修正してもらわなければいけないなら。結局のところ、コードを見てもらうために開発者にお金を払わなければいけないなら、何の意味があるのか。確かに、タイピングしている間はちょっとクールに感じる。フロー状態に入っているような感覚になる。でも何かが壊れると、それはただの重荷になってしまう。デバッグをバイブで乗り切ることはできない。
実際に重要なものを出荷することもできないし、結局元の状態に戻って、本当に何をやっているか分かっている人にお金を払うことになる。バイブコーディングは、大変な部分をやらずにハッカー気分を味わいたい人たちのロールプレイに過ぎないと思えてくる。
何か見落としているのか、それとも幻想から抜け出すと本当に使い物にならないだけなのか。この投稿を見た瞬間、これについて話さなければならないと分かった。まず、投稿者に回答したい。彼は「何か見落としているのか、それとも幻想を離れるとこれは崩れ落ちるだけなのか」と質問した。バイブコーディングが何であり、何ができるかという点では、彼は何も見落としていないと思う。ただし、全体のパズルがもっとうまく組み合わさるのに役立つ部分を見落としていると思う。
多くの人がこの分野について、率直に言って良くない方法で話していると感じる。バイブコーディングについて見かける議論のほとんどは、バイブコーディングがエンジニアを置き換えるか、バイブコーディングはジョークで誰も実際には何にも使っていない、のどちらかだ。現実はその二つの間のどこかにあると思うが、それを説明したり詳細に説明するのは難しい。
困難な話題への挑戦
でも、話しにくいことについて話すのを止めたことはないよね。特に両サイドの人々を怒らせることになるなら。長年にわたって学んだように、私は両サイドの人々を怒らせるのがとても上手だ。だから、バイブコーディングが実際に良い場面と、なぜ人々が継続的に間違った方法で使っているかを分析する時が来たと思う。
このレンズの下では、バイブコーディングは無意味に見えるかもしれないが、確実に意味はある。その意味はエンジニアを置き換えることではない。エンジニアリングを置き換えることであり、それは非常に価値のあることだ。何を意味するか説明するのが楽しみだが、残念ながらまだバイブ動画編集はできない。だからチームにお金を払わなければならない。それで、請求書をカバーするために今日のスポンサーから一言いただいて、それから詳しく話そう。
AIのおかげで、私のチームは最近はるかに多くのコードを書くようになった。でもそれは、私もはるかに多くのコードをレビューしなければならないということを意味する。だからこそ今日のスポンサーが大活躍している。Code Rabbitがコードレビューで私たちを救ってくれている。彼らが出荷を防いでくれたバグの数を言い表すことはできない。Code Rabbitを異なるものにしているのは、あなたのコードベースを学習することだ。
すべてをコンテキストに投げ込んで魔法のようにすべてを知るということではなく、時間をかけてあなたが物事を教えると、それを覚えてくれる。だから私が「これは気にしない」とか「将来これを注意するようにして」と伝えると、それを実行してくれる。コードレビュー中にフィードバックを受け入れるLintルールのようなものだ。
コメントを残すだけで、それを念頭に置いてコードがLintされるようになり、とてもクールだ。これは本当に良い例で、私たちのコードベースとeffectの複数の異なるサービスの理解が必要だからだ。これについてフィードバックを残すのは簡単なことではない。私はこれらの間違いを見つけられなかっただろう。ここにGeminiによる画像生成のためのアタッチメントIDがある。
アタッチメントがあれば、Upload ThingからのそのファイルへのポインタであるUFS URLを使って参照する。でも彼らは、キーが欠けている場合に対してガードし、非null アサーションを削除することを推奨している。そう、おそらくそうすべきだ。この感嘆符は非常に恐ろしい。これがconvexを通して実行されているコードで、そこでも悪いケースがあるかもしれないことに気づいているという事実は巨大だ。
バイブコーディングの定義の混乱
これらの部分がどのように組み合わさるかを深く理解し、実際に有用なフィードバックと、私が使用しているコーディングツールに貼り付けてこのバグを解決してもらうためのプロンプトを提供してくれる。一クリックでコミットできるコミッタブルセクションもある。私が本当に気に入っている小さなお気に入りの一つは、推定コードレビュー作業時間だ。
これによって、この作業にどれくらいの時間を費やすべきかが事前に分かる。VS Code拡張機能も素晴らしい。コードがマシンから出る前にレビューできる。これは私のチームの時間を無駄にしないためにとても有用だと分かった。始めるのは無料だ。とても安い。チームメイトにとって迷惑でなくなる。そしてオープンソースプロジェクトには完全に無料だ。私に言わせれば、これはかなり打ち負かすのが難しい取引だ。
今日soyv.link/codrabbinでチェックしてみてください。バイブコーディングの意味を理解する前に、おそらくバイブコーディングの定義が必要だ。問題は、バイブコーディングにはたくさんの異なる定義があることだ。ある人にとって、バイブコーディングは平易な英語で作業の大部分を行うことを意味する。つまり、コードを書かない。サイドバーからプロンプトするだけだ。
ある人にとって、それはコードを完全に無視してプロンプトのみを行うことを意味する。そしてある人にとって、それは非開発者がAI経由でコードを書くことを意味する。そして他の人にとって、それはIDEでオートコンプリートを使うことを意味する。これらはすべて互換性のない定義だ。これらのものは私の心では全くオーバーラップしていない。バイブコーディングについて話そうとするときこれは非常に煩わしい、なぜなら私がバイブコーディングという用語を言うとすぐに、私の話を聞いている全員が、彼らが従う定義のどれでも私が話していると仮定するからだ。そして私がこの部分について話している場合、コードを完全に無視してプロンプトのみを行うことについて話していて、彼らはエディターでのオートコンプリートについて話している場合、私がバイブコーディングは無駄だと言い、彼らがバイブコーディングはタブ補完だと思っているのでバイブコーディングは有用だと思っている場合、全く異なることになる。これらの用語に同意しなければ、会話はできない。
だからこそバイブコーディングサブレディットの存在自体が本質的に問題なのだ、なぜなら、このサブレディットに行く全員が異なるクソな定義を使っているからだ。最初の二つが同じように見えると言っている人がすでに見える。あなたは本当に間違っている。痛いほどだ。説明しやすくするためにこれらにラベルを付けよう。A、B、C、そしてD。
微妙に見えることは分かるが、ここでの「most」という単語は非常に重要だ。あなたの仕事の何が大部分であるかないかが重要だからではなく、「most」の含意が、ある作業がプロンプトを通して行われないということで、つまりコードに全く注意を払っているということだからだ。それがここで理解する必要がある鍵だ。
スキルレベルによる分類システム
これを人々がコードをどれほど理解しているかのスペクトラムとして見ることができる。これを私のお気に入りのもの、軸にしよう。多次元で、これが誰も混乱させないことは確実だ。右側に、リークコードキラーと言おう。これはデブの中のデブのような、Neovimを離れたがらない人々で、そうするために大金を払われても嫌がる人たちだ。そしてそれでも、サイドで使うだろう。そしてここに「コンピューターって何?」がある。これらは主にiPhoneを通して世界を操作する人々だ。ファイルがどのように動作するかをあまり理解しておらず、もし理解していても全く理解していない。そしてコーディングは彼らが決してしないことだ。
そして私たちには、あなたがどれだけコードを見ているかという縦のスペクトラムがある。「My life is git diffs」が上で「Wait you read this shit?」が下だ。これはスペクトラムで、ほとんどの人のバイブコードの定義はここのどこかに行く。そして私がここで与えた4つの例はその範囲をカバーするためのものだ。だから私がこれを取ってここに置くと、A、B、C、そしてDがある。
Aは平易な英語で作業の大部分を行うことだ。彼らがどこに属するか実際には分からないが、分かる。彼らはここの右側に属する。彼らでなければプロンプト経由で作業を行うことはできないので、彼らは絶対に本当の開発者だが、読んでいる。だから、私はそれは確実にこのセクションに属すると言うだろう。
コードを完全に無視してプロンプトのみを行うことはここ、右下に行く。コードを読んでいないが、コーディング方法は知っている。だから物事が間違った場合、修正できるが、おそらくそれを捨てて実際にその時点で書くだろう。AI経由でコードを書く非開発者がいる。それがこのセクションだ。そしてIDEでオートコンプリートを使っている人々。
それはここのさらに上で、コードの各ステップを読んでいる。「コンピューターって何?」と「My life is git diffs」。このセクションを私は「ブートキャンプ」と呼ぶ。実際には、このセクションには本当に何もない。ここでのポイントは、クソがどこに属するかを示すことだ。
そして、このビデオにインスピレーションを与えた投稿の著者は、コーディング方法を知らずコードも読まないこのエリアに非常に確実に属しているようだ。そのような人々はちょっと困った状況にある、なぜなら、コードがどのように動作するかを知らずには生きていけないからだ。そしてそれは、我々が皆同意して始めることを望む最も厳しい現実だ。コーダーになりたいなら、まだコードがどのように動作するかを知る必要がある。
これが論争的な見解でないことを望む。バイブコーディングの問題は、それがセクションBであるこのエリアの概念として、エンジニアによってエンジニアのために発明されたということだ。そして私もこのセクションを好まない人々、おそらくここで良い経験を持っていない人々が見ている人の大多数であることを理解している。これが最も厳しい現実だ。
開発者コミュニティでの議論の問題点
我々は開発者世界で、これら二つの違いについて戦うのに非常に多くの時間を費やしている。再び、これらは平易な英語で作業の大部分を行うAと、オートコンプリートのDだ。我々はここでの区別について非常に多く戦うので、これら二つの間のはるかに興味深い区別が完全に無視される。あなた方全員が知っているように、私はcursorを使っている。はい、私は投資家だ。
いや、それは私が常に彼らを好んでいて宣伝するということを意味しない。私は何度もcursorから離れ、使い始める前に何年も彼らを使っていなかった。cursorを使うには二つの主要な方法がある。メインの二つはタブ補完で、私はこれが大好きだ。私は本当にcursorのタブ補完が好きだ。バイブコーディング的なものを嫌う人々、primogenのような人々でもcursorのタブ補完を愛している。本当に良い。
それを使う他の方法は、ここの左側のこのバーであるエージェントモードだ。ほとんどの人にとっては右側にある。私がそれらをシフトするのは、この部分について話しているときに読めるようにしたいからだ。そうでなければ私の顔がそれを覆ってしまう。このセクションはバイブコーディング世界にはるかに多く属している。そこであなたが何を望むかの説明を伝えると、それはコードベース内のファイルを読み、オンラインで物事を調べ、あなたの問題を解決するコードを提案するための変更を行うツールを使用する。これはエージェンティックコーディングで、しばしばバイブコーディングと間違えられる。しかし
エージェンティックコーディングとバイブコーディングの違いは、バイブコーディングがサブセットであることだ。エージェンティックコーディングは、ツールを使用してコードを生成するプロンプトを使用することだ。バイブコーディングは、その後にコードを読まないときのことだ。そして、ここで私のバイブコーディングの定義を落とそう。バイブコーディングはバーの下のすべてだ。
バイブコーディングは、あなたがあまりコードを読んでおらず、コードを直接読みに行くよりもテキストボックスにエラーメッセージをコピー&ペーストする可能性の方が高い時のことだ。そして開発者世界でまだ多くの人が受け入れていないことがある。これは良い場所だ。
時々タブ補完に助けてもらい、時々エージェンティックフローを使ってコードをすべて積極的にレビューし、時々は全然気にしないこのエリア。厳しい現実は、我々が書くコードの大部分が使い捨てコードだということだ。あなたはそれを受け入れないかもしれないが、それは真実だ。
プロダクションに出荷されるコードの一行につき、さらに多くのものが書かれて削除される。多くのものは全く日の目を見ない。スクリプトは、ターミナル内やブラウザーのインスペクターのような狂ったものの中で行われるランダムな一回限りの事柄であなたを助けるために書かれる。私はChromeで、そして今はFirefoxのコンソールで書いた非常に多くのコードがあり、それは本当のコードではなく、今私はそのコードも見ない、なぜなら私はT3 chatでそれを行い、私が探しているものを行うJavaScriptのようなクイック関数を生成し、それを貼り付けて実行し、もし動作しなければT3 chatに戻って、これは動作しなかったと言うからだ。だから私の真実のリストに行こう。
バイブコーディングの五つの真実
真実その一、コーダーになりたいなら、まだコードがどのように動作するかを知る必要がある。真実その二、書く価値がないか読む価値がない多くのコードが存在する価値がある。これは多くの開発者が見逃す部分だと思う。彼らは書くコードに感情的な愛着を持ち、彼らにとって有益である可能性があるが、座ってそれを書く時間の価値がない多くのコードが存在するという事実を受け入れることを拒否する。私はこれによく遭遇する。
私は存在しない、存在したらいいなと思う多くのランダムな物事を持っている。そして私は一週間座ってそれを構築することもできるし、一時間座ってそれを持つこともできる。それがバイブコーディングが優れていることだ。使い捨てコード。レガシーコード。あなたが対処したくないクソ。コードを見ていない理由は、方法を知らないからではない。
見る価値がないから、書く価値がないからだ。私はAIモデル用のベンチマークをたくさん構築した。それを行うのは本当に楽しく、私が話しているモデルについてより良いコンテンツを作るのに役立つ。それらのベンチマークを実行可能にするためのツーリングを構築するために数日、もしかすると数週間を費やすのは価値がなかっただろう。
とは言っても、バイブコーディングソリューションを使用してcursorで過ごすとき、必要なコードの多くを生成してそれを読まずに動作させることができる。私はskatebenchのロジックコードの大部分、特にUI側を読んでいない。その部分がどのように動作するかを実際には知らない。何をやりたいかを説明した。
動作するコアプロトタイプがあった、なぜならテストランナーがシンプルな部分だからだ。それは実際に私が最初に書いたときに少し注意を払った50行のコードのようなものだ。今ではその時点からコピー&ペーストされて生成されるだけだ。残りはUIボイラープレート足場とクソだ。そしてバイブコーディングによって私はそれらの詳細を見ずに物事を出荷することができる。
そして他のより伝統的な研究者からの他のベンチマークを見ると、私がバイブコーディングしたコードは彼らがPythonで実際に書いたコードより良い。私はこれを偽装すらできないほど多くのベンチマークを実行してきた。ここでcursorと組み合わせて、あちこちでの私自身の意見と好みと組み合わせて私が生成しているクソは、多くの人々が毎日プロダクションで出荷している大量のスロットよりも良く出てくる。チャットで誰かが今作ったもう一つのポイントがあり、私が同意できないほどだったので触れたい。
パッケージ依存vs.バイブコーディング
私が今言ったことである、書く価値のない多くのコードがあるということの二番目が、人々がReactアプリで多くのランダムパッケージを使用する理由だ。私はそれをさらに一歩進めよう。バイブコーディングに怒り、Leftpadに怒ることはできない。それは矛盾している。人々が自分の問題の解決策をインストールしているという事実に怒ることはできない。
そして、代わりに彼らのためにそれを書くツールを持っているときにもっと怒る。明らかに、人々はもはやLeftpadについて知らない。それはクレイジーだ。年をとった気分だ。タグは非推奨になった。string prototype pad startを使え。Leftpadは文字列の前にスペースを追加できるパッケージだ。これを書くのは3行のコードのようで、今はJavaScriptに組み込まれている。
このパッケージは、JavaScript開発者がどれほど悪いかのミーム例としてしばしば引用される。彼らはすべてのものにパッケージをインストールする。そしてそれは今日でも週に百万ダウンロードを得ている。下降していることに注目しろ。下降しているのは、バイブコーディングが彼らのためにそれを書くか、ブラウザ標準を使うので、誰もそれを再び書かないし、誰もそれをインストールしないからだ。
すべてのこれらのdepsを持つ問題は、あなたのコードベースを所有し制御し変更を行う能力を抽象化することだ。何回AI SDKが間違った意見を持っているためにそれをpatch packageしなければならない問題にぶつかったかを言い表すことはできない。とは言っても、AI SDKの代替を作る作業はその場合に価値があるものにする。
我々は各パスの利益と欠点を重み付けし、パッケージを使う代わりに独自の代替を作るパスを下ることを選択した。バイブコーディングとAIコーディングは、他の人のコードを持ち込まなくても非常に似たようなことを行うのに役立つ。パッケージとしてインストールする代わりにソリューションをバイブコーディングする場合、まだそれがどのように動作するかを知らず、まだ大部分の時間コードを読んでいない。
とは言っても、バイブコーディングしたものに変更を加える必要がある場合、インストールしたパッケージに変更を加えるよりもはるかに簡単だ。人々がパッケージインストールを好まない理由は、大部分の場合、バイブコーディングで解決される。でも彼らは両方に怒っているのは、良い信仰の操作者ではないからだ。
彼らはただ怒りたいだけなので、あなたより良い開発者だと感じることができる。そしてこれが最も面白い部分だ。バイブコーダーであり、T3 chat全体をバイブコーディングしたということでクソを言われることが多い。私はT3 Chatをクソバイブコーディングしなかった。自分でやってみろ、我々がそこに構築したものがどれほど難しいかが分かるだろう。
AIツールは我々が持っているものの5分の1も構築しないだろう、すべての変な構文とクソでマークダウンレンダラーが適切に動作するようにするのは言うまでもない。幸運を祈る。楽しんで。真剣に、誰かがそれをやるのを見てみたい。やらないだろう。私はトップランクのElite Codeコンペティターだ。私は毎年Advent of Codeでトップ200に入っている。
それは200,000人が競争し、私が定期的にトップ200にいるということだ。これを自慢するために言っているのではない。あまり頻繁には話さない。私は800以上の動画を持っているが、私が良いコーダーであるという事実は5回ほどしか出てこない。私はただ気にしないだけだ。私の作品が自分で語っていると思う。だから、自分たちのために語る作品を持たない人々は私について悪口を言うのが大好きだ、なぜなら私が彼らを不安にさせるからだ。クール。
彼らには良いことだ。このビデオはあなたのためのものだ。この方法で考えるなら、あなたは悪い人だ。人々がパッケージを持ちすぎることの解決策が、彼らがパッケージを書きやすくすることだということを理解できないなら、なぜなら彼らは二つの理由でこれを望んでいるからだ。問題を解決したいし、詳細を見たくない。
バイブコーディングは彼らにそれを与え、今彼らは外部依存の問題を持っていない。あなたが怒っていることを解決するそれがどのように見えるかを理解できないなら、あなたが怒っていることについて誠実ではない。バイブコーディングに怒り、LaPadに怒ることはできない。私はその声明を支持する。その部分で少し熱くなってしまって申し訳ない。
個人的な経験と資格について
非常に明確にするために、私はただ、これが起こったことに気づいたときに怒っているだけだ、私が100,000人の購読者に達したとき、それはその線のようだった。私は、何をやっているかを知っていて、たまたまYouTuberでもある、オープンソース開発者兼貢献者から、コードを書くふりをするYouTuberに変わった。私がコードが得意かどうかを知りたくて、私の同僚の一人と話したことも私のコードを読んだこともないなら、ただ黙れ。
あなたの意見について良い気分になるために私がコードで悪い必要があるなら、あなたは悪い信仰をしているという事実を理解すべきだ。そしてそれを理解できないなら、ただビデオを閉じて、登録解除して、去ってください。私は会話をしようとしているのであって、クソ投稿祭りではない。とにかく、私がしばらくビデオでカバーすることを計画していた記事がある。
私はこれについてもっと詳しく調べることにとても興奮している。バイブコーディングはレガシーコードだ。要点は、コードが存在することさえ忘れることだ。私たちにはすでにそのための言葉がある、レガシーコードだ。私はこの表現が本当に好きだ。これが要点だ。レビューされて一度マージされた後のコードベースのコードの大部分は、二度と見られることはなく、二度と触れられることはなく、静かに忘れられるか静かに非推奨になり、そして誰もそれを削除できることを知らなかったのでコードベースに残される、まで静かに自分がすべきことを行う。それはソフトウェア開発の重要な部分だ。
ホットテイクその四、バイブコードはレガシーコードの一種だ。バイブコーディングの実際の出力は、ステップをスキップしたレガシーコードだ。レガシーコードで何かを修正する必要がある場合、入って修正することもできるが、誰もそうしない。私たちはスレッジハンマーを取って、その部分を書き直す。使い捨てコードは人生の一部だ。
それを受け入れるかどうかはあなた次第だが、私たちは皆その事実を受け入れるべきだと思う。少しの使い捨てコードがそれを少し良くしない、価値のあることはほとんどない。ただの愚かな例だ。プロダクトの新機能を作業している場合、座って正しい方法ですべてを計画し、最初から正しく行う価値があるかもしれない。
しかし大部分の時間、実際にマージすることも日の目を見ることもないコードで、ユーザーの前に置いてどう感じるかを見るためだけのクソプロトタイプを投げ合わせることができるなら、それは非常に多くの問題を節約してくれるだろう、なぜなら間違ったものを構築しているときに良いコードを構築することに時間を無駄にしなくて済むからだ。良いコードには二つの重要な特徴がある。正しい問題を解決し、読むのがクソではない。
人々は二番目の部分に集中しすぎて、しばしば、常にではないとしても、最初の部分を無視する。バイブコーディングは二番目の部分に影響を与えることを意図していない。バイブコーディングはあなたのコードを良くすることを意図していない。cursorのエージェント経由で書いているコードがあなたが自分で書いたであろうコードより良いなら、そのクソをオフにしろ。それはあなたを傷つけている。
バイブコーディングの適切な使用法
あなたは自分でコードを書けるほど良い必要がある、なぜならこれらのツールの要点はあなたの能力を超えることではないからだ。あなたより良くなることではない。あなたより悪いが、もっとあなたになることだ。今、これらのツールにもたれかかっているのが問題の解決方法を知らないからなら、あなたはクソだ。しかし、問題の解決方法を知っていて、十分気にしていないからこれらを使っているなら、あなたは良い。それをポイント五にしよう。ツールがあなたより良いなら、使うのをやめろ。ストレートに。
問題を解決する方法を知らないのでこれらを使わなければならないなら、あなたは困っている。だから、私の現在の人生での一例として、私は誤って私のチーム全体をeffect pilledにしてしまった、なぜなら私たちがT3 chatでUpload Thingで扱っていた奇妙なasyncクソの多くが、TypeScriptで複雑な非同期作業を行うためのより良いフレームワークとツールセットを持っていればはるかに良くなることを知っていたからだ。TypeScriptでそれを行わなければならない。
だから、Rustについてのクソで出て行け、今はそれについて話したくない。effectは私たちがcomplex Asynchronous concurrentクソを構築するはるかに良い仕事をすることを可能にする、effectですでにeffectの人でないなら言語を再学習しなければならないというコストで。
このコードを見ると、あなたの脳は少し落ちるだろう。Program equals effect.gen function star transaction amount equals yieldstar fetch transaction amount. 関数として呼び出してもいない。Discount rate equals yield star fetch discount rate. Discounted amount is yield star apply discount. 今私たちはtransactionをdiscountに渡している。final amount equals add service chargeで、それを返す。ああ、彼らはすでにeffect succeedでラップしてもいる。ええ、effectをまだ書いていないなら、これを見てあなたの脳は落ちている。そして私は理解している。私もまだ何となくそう感じる。これを持ち出すのは、私がコードを書くためにAIツールを多く使うからだ。
私のチームがeffectで書き直したものに触れなければならない時、私はエージェントをオフにする。私を信じて、誘惑を感じたことがある。サイレンの歌を聞いたことがある。テオ、エージェントを開いて何をしたいかを伝えるだけで、これらのeffect部分に再び貢献できる。そして私はサイレンに落ちない、なぜなら私はより良く知っているからだ。
コードベースのeffect部分に貢献したいなら、effectでクソ上手になる必要がある。私は最近あまりコードを書けない、忙しいからだ。はい。だから実際に座ってeffectを学ぶ時間がない、なぜならそれを学ばなければならないからだ。それは異なる考え方だ。しかしチャットがここで指摘しているように、サイレンコールに落ちないのはとても難しい。絶対にそうだ。
そして私がAIについてのコンテンツで多く話してきたことだ。学習している学生について多くの懸念を持っている。向上しようとしているがこれらのAIツールを使っている人々について多くの懸念を持っている、なぜなら人々は本能的に愚かに感じたくないからだ。愚かに感じるのはクソだ。ブロックされた感じはクソだ。
目の前の問題を解決するのに必要なスキルを持っていないように感じるのはクソだ。人々はブロックされるのが好きではない。そしてこれらのAIツールは彼らをブロック解除できると約束する。理解する必要さえない。ただそれを行うことができる。そしてそれは悪い。これらのツールがあなたが知る必要がないと思わせ、知らないことの快適さをあなたに与える時に危険が存在する。知らないことに快適さを取るべきではない。そこに危険がある。
AIツールの危険性と正しい学習アプローチ
これらのツールの魔法は、コードの仕方を知る必要がないということではない。これらのツールの魔法は、書く気がしなかった多くのランダムなコードを持って、ただ解決されないままにされたであろう多くのランダムな問題を解決することができるということだ。下っていくには奇妙なうさぎの穴だが、これが中毒が起こる理由だ、なぜなら、離脱から来るあなたの中の恐ろしい、ひどい感情を持っているとき、それを力で乗り越えて反対側でより良くなることもできるし、中毒になっているものを行って即座により良い気分になり、実際に向上しないこともできる。実際、あなたは人生をより悪くしている。
そのパターンは、作業をしたりなんやらかんやらでコードを書くためにこれらのAIツールを使っている多くの人々に起こることだ。それは危険だ。それらは決してあなたの能力を超えるべきではない。物事を学習するためにAIを使うなら、クール。私はeffectについてもっと学ぶためにGPT-5を使ったことがある。しばしばT3 chatに行って、「やあ、私はeffectのこの機能について学習している。このコードをより良く理解するのを手伝ってもらえる?」と言う。私は知識をアウトソーシングしていない。
物事を学習するために質問をアウトソーシングしている。しかしそれが、私がコードベースのeffectコードに触れているとき、エージェントをオフにして、T3 chatを開いて物事をコピー&ペーストして質問する理由だ、なぜならこのサイドバーを開いた瞬間、誘惑はそれがどのように動作するかを尋ねることではないからだ。それに行って物事を修正しろと伝えることだ。
だから私でさえ、何をクソしているかを知っていて、これを理解してエージェントを閉じることを自分に強制し、コードを読み、まだ理解しなければ、それをいくつかのチャットツールにコピー&ペーストして質問する、なぜなら学習しない誘惑は常にそこにあるからだ。
そして本当にクレイジーなのは、このReddit投稿に戻ると、これは明らかに非常に長い間コードを学習することを遅らせてきた人だ。以前から開発者にお金を払っていて、バイブコーディングを思ったが、もうdevにお金を払わなくて良いと思ったが、今でも払わなければならないことに気づいているなら。彼らは座って実際にクソコードを学ぶことができたであろう十分長くこれを行ってきた。ええ、私は感情を持っている。
私の最後のホットテイク。バイブコーディングがどのようにあなたを助けることができるかを見ないなら、あなたは非常にクリエイティブではない。または私はさらに踏み込もう。または多分あなたは不誠実だ。これは私を最も苛立たせる部分だ。本当に何をやっているかを知っていて、非常に賢い開発者たちが、多くのコードを書くために座る価値はないが、毎日彼らを煩わせるほど大きく、誰かが解決策を彼らに手渡すなら、それを使うことを考えるであろう問題を彼らの人生で持っているという事実を受け入れることを拒否するのに、私は本当にとても腹を立てている。
率直に言って、私は最初にこれらの問題の多くを自分自身のために見なかった。しかし時間をかけて、私の脳は再配線されており、今私はこれらの物事をもっとたくさん見ている。ばかげた例がある。私はコンテンツのために多くのアセットを扱う。私たちが取引するブランドのロゴのために多くのSVGファイルを扱う。SVGは驚異的なフォーマットだ。
おそらく既に出ているそれについての長いビデオを持っている。しかしSVGはすべてのプログラムで動作しない。特に、私のビデオ編集ソフトウェアでは動作しない。だから企業からSVGロゴを持っていて、編集している動画にそれを入れたいなら、できない。
そしてグラフィックソフトウェアでそれを開き、多くのホットキーを押し、解像度を手動で入力し、エクスポートし、アスペクト比がずれていることに気づき、それから再び行うことができる。そして私はこれに十分煩わされており、私のチームもそうだと気づいた。だから行って1時間未満、おそらく15分費やして、SVGをアップロードしてそれをPNGに変える アプリをバイブコーディングした。ここにスケートボードSVGがある。黒いので非常によく見えない。
だからここにデフォルトで1200 x 1200がある。そして今私はsave as PNGを押すことができる。そして今私はその解像度でそのSVGのPNGを持っている。SVGなのでベクターだからより高解像度が欲しいなら、8xをクリックして、保存できる。うまくいく。驚き。私のCTOはこれについて良い見解を持っている。これを見たことがあった。これがLMがエンジニアを置き換える現実だ。
どのエンジニアもとにかく構築することがなかった一人から数人の人々のためのオーダーメイドソフトウェアを可能にしているだけだ。より少ないプラットフォーム、より多くの個人ソフトウェア。良くてスケーラブルである必要はない。数人が持っている問題を解決するだけで、それで価値がある。
これはNear Cyanが作った自家製ETH sleepで、小さな魚のタンククーラーinマットレスオーバーレイだ。これは彼らのベッドを涼しく保つためのバイブコーディングされたソリューションだ。それは本当にクールだ。これを販売したり何かをしたりするのは全く意味をなさないが、今彼らは以前なら努力する価値がなかったであろうもののソリューションを構築できる。
SVGからPNGコンバーターで。これの一部を行うことができるツールがいくつかあった。それらのどれも正しいUXを持っていなかった。それらの多くはお金を請求した。それらの多くはサーバー上でそれを行った、これは意味をなさなかった。私がここで行っている方法は、キャンバスでそれをレンダリングし、保存するときに、canvas APIを使って効果的にキャンバスをスクリーンショットするということだ。これを行うために構築されており、本当にうまく行う。
サーバーが関与する理由は全くない。そして私はブラウザを知っていたのでそれを知っていた。これを書く方法を知っていた。私の人生のどの時点でもそれを書くことができたが、そんな気はしなかった。他にやることがある。だから代わりに、私はそれをバイブコーディングして1時間で完了させた。そして私が望んだ他の物事があった。正方形画像ジェネレーターが欲しかった。そしてこれは面白い。
これはYouTubeがコミュニティフィードに投稿したときに画像のプレビューを適切にクロップしないからだ。だからコミュニティ投稿では常に正方形の方が良い、そうすればページに実際に適切にフィットする。だからYouTubeでより人気になりたい時の私のお気に入りをやろう。プログラミングユーモアに行こう。
過去月の上位投稿を見よう。これは良いものだ。友人がCOBOLを学んで、最後の変更が90年代に彼のママによって行われたコードベースを受け取った。それはプログラミングでの継承がどのように働くべきかではない。だから、私はこの画像をダウンロードし、これをそのままYouTubeに投稿するなら、適切にフィットしない。だから、代わりに、このミームをアップロードしよう。背景色として黒を選ぼう。
保存した。そして今私は全く同じ画像を持っているが、今それは完璧な正方形だ。そして今YouTubeに行ってこれを投稿するとき、正方形バージョンを投稿し、フィードに適切にフィットするだろう。そして非常に少ない努力で、YouTubeで数千のいいねを得るであろう投稿を作った。以前なら作らなかっただろう、なぜなら投稿を試みて、YouTubeのクソクロッピングがとても壊れているのでテキストが切れているのを見たとき、投稿を削除して気にしなかっただろうからだ。これがバイブコーディングが良いことだ。これらは私
ができたであろう物事だ。私ができないことをやっているのではない。私がやる気がしなかった物事をやるのを助けて、煩わされていた問題を解決することだ。ここで言ったように、私は存在しなかったことに煩わされていたのでこれらのツールを構築した。そしてそのカテゴリーに該当するものを何も持っていないなら、十分に難しく考えていないか、ただ自分に対して誠実ではない、なぜなら世界にはこれらのタイプの物事が非常に多くあるからだ。
そして私は私の人生を通してそれらの多くを見つける。今この方法で考えているので、私はいつもそれらを見つける。私は「ああ、この情報が欲しい。私のためにそれを生成するスクリプトを書きに行こう。今年Defconでパズルを行ったとき、私たちが解決しようとしていた問題の様々なソリューションを作成しようとするために、おそらく5,000から10,000行のコードをバイブコーディングした。
コードを手書きできたが、私のプロセスは非常に異なっただろう。コードを書く気になる前に、ソリューションが正しいことを証明するために迂回しただろう。そしてこれはおそらく私がここで持っている最もホットで大きなテイクだ。バイブコードは捨てるのが決して傷つかないので素晴らしい。エンジニアは自分のコードに非常に愛着を持つ。
コードへの感情的愛着とバイブコーディングの利点
私のコメントセクションで今激怒している人々の一人なら、おそらくそれらの人々の一人だろう、なぜなら書くコードを非常に好むからだ。問題を解決しないときやそれが他の何かで置き換えられているときにそれを取り除かなければならないとき、非常に傷つくよね。私は変で、私のコードが置き換えられるのが好きだ。それは何かより良いものがあることを意味する。多分私はそれがより良いと思わないが、置き換えられるほど十分良い。
それは結局より悪くなって元に戻されるかもしれない。何でも。学ばれるか、物事がより良いかのどちらかが常にある。私のコードが捨てられることを気にしないが、ほとんどの人はそうだ。そのために、二つの問題がある。最初の問題は、捨てられるべきコードがあるが、開発者がそれに感情的愛着を持っているために、そうされないということだ。
しかしより大きな問題、私がより多く見るものは、二番目のものだ。有用だから書くであろうコードがあるが、残り続けるほど有用ではないことを知っており、捨てられるだろうから書かない。これは私がバイブコーディングについて興奮していることだ。有用ではなく、出荷されなかったり捨てられたりなんやらかんやらされたときに悪い気分になるだろうから書かなかったであろうコードがある。
私のPRの半分以上は、オープンのまま残されるか、マージせずにクローズされる、なぜなら私はこれらのPRを、書くコードのすべての行がマージされ、我々がやる方法になることを期待して書いているのではないからだ。私のコードを私以上に削除した唯一の人はMarkだ。私は私のコードを取り除き、他のクソに置き換えるのが大好きだ、なぜなら扱うことが少ないからだ。ほとんどの人はそうではない。
そして私がそうだとしても、それが有用でない、使われない、または捨てられることを恐れている場合、私はまだためらい、座ってそれを行うことを望まないと自分を見つける。今私は反対を感じ、特にcommand Iでそれを行うことができるなら、問題を解決しようとすることを興奮している。ええ、ここでの最後のホットテイク。バイブコードがdevが必要ないと言われた人は誰でも嘘をつかれた。
これは非常に重要なポイントだ。私たちがより生産的になり、そうでなければ構築しなかったであろう物事を構築する方法として、バイブコーディングを擁護することの雑草で失われないことを確認したい。バイブコーディングは、コーディング方法を知る必要がないということを非常に明示的に意味しない。多くの人々がこれを売られた。彼らは皆嘘をつかれた。
彼らは怒るべきで、これを言い続ける人々をからかうべきだ。この未来が存在することを信じない。農場を運営するためのより良い技術を手に入れ始めたときの反応が、まあ、今は皆が農民になるだろう。もうプロの農民は必要ない、だったと想像してみて。いや、実際にそれは反対だった。
今は、最大10人のための食料を作ることができた農民が、代わりに何十万人の人々のための食料を作ることができる新しい技術によって、彼らの分野のより深い専門家である遥かに少ない農民がいる。それはより多くの農民がいることを意味しない。食べ物の育て方を知らなくてもいいという意味ではある。
しかしそれは、これらの新しいツールを使って自分で食べ物を育てに行くからではない。ツールが非常に改善されたので、それらを使い、それらを理解し、すべての側面を理解する人々が、彼らが行う仕事でより生産的になることができるからだ。私のバイブコーディングマニフェストに来てくれてありがとう。これについて怒った暴言で申し訳ない。
私はこの すべての側面に非常に苛立っているだけだ。皆がコーダーになるだろうと言うAIブロたちは、私をクソ煩わせる。そしてAIツールが役に立たないと言うスーパーエリート開発者たちは、彼らはさらに私を煩わせる。ここでの両側は間違っている。そしてそれは彼らが用語を理解しておらず、実際に気にするほどコードを読まないほどコードを生成できることの価値を見ていないからだ。私がここで言わなければならないことを言おう。これが誰かに役立つことを望む。皆さんがどう思うか教えてください。


コメント