
2026/04/07 3:31
「ヴァイブ・コーディングのカルトは、自社製品を試用しながら無秩序に走り回っています。」
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
記事では、Claude のソースコード流出が、内部利用(「ドッグフーディングの乱暴な運用」)における人間監視不足から生じた広範囲な重複(「スパゲッティコード」)を露呈したことについて論じている。開発者は「バイブコーディング」を採用し、基盤となるコードを無視して高レベルのプロンプトに集中した結果、冗長なエージェントやツールが生まれたと述べている。著者は、例示・ガイドライン・監査などの積極的な人間関与がこれらの冗長性を除去できると主張している。提案された解決策として「Ask mode」があり、AI との反復対話でタスクを実行前に洗練させ、徹底した事前作業後に正確なワンショット出力を得る方法だ。この作品は、ソフトウェア品質の低下が AI 自体ではなく、低基準を意図的に受け入れた結果であると強調し、大規模言語モデルをコーディングに活用する際には人間の所有権と関与が不可欠であることを訴えている。
本文
Claude のソースコードが漏洩してしまい、みんなでそのひどさを笑って楽しんでいるという状況です。どうやってそんなことが起きるのか疑問に思われたら、答えは「ドッグフーディングが暴走した結果」と言えるでしょう。ドッグフーディングとは自社製品を自分たちで使うことですが、それが過剰になり合理的な範囲を超えてしまった場合です。このケースでは「ヴァイブ・コーディング」という概念が登場します。これは裏側で何が起きているかをまったく見ず、貢献しないという点に重きを置いた手法です。
もちろんこれは馬鹿げた話です。人間による貢献が全く無いわけではありません。まず、あなたはヒューマン・ランゲージ(自然言語)を使用しており、機械も同じ言語で内部処理を行っています。他の開発チームに属さない人々が基盤作業を行っていると主張することもできますが、それでも「純粋なヴァイブ・コーディング」が起きているわけではありません。実際には、プランファイル(要するにTODOリスト)やスキル、ルールなどのインフラを構築しているからです。機械は枠組みなしで動かすと極めて不安定になります。
したがって「純粋なヴァイブ・コーディング」は神話に過ぎません。しかし彼らはそれを試み続け、その結果として非常に馬鹿げた結論に至っています。例えば、人間が実際にコードを見て多くの重複を発見したケースがあります。なぜ開発者自身が調べないのか疑問に思われるでしょう。再度言いますが、これもヴァイブ・コーディングです。裏側を見ることは詐欺行為であり、機械と「何をしているか」についてあいまいな会話だけを許されているのです。
この状況は特に滑稽です。一般人が理解できない高度な技術的事情があるわけではなく、このコードは英語で書かれています。誰でも読めるため、重複したエージェントとツールの要素をすぐに発見できます。「あれ? エージェントとツールの両方を持つものが多いですね」というような冗長性を指摘し、整理するべきだという結論になることもあります。
ソフトウェア開発ではこうした混乱は常に起こります。プロジェクトは「罪」から始まることがよくあります。歴史的には、技術負債が膨大であるため、純粋な開発観点から見ると何もせずに1年間も整理作業を行うだけになるケースが多かったです。AI を活用すれば、このクリーンアップは数週間で完了できるか、少なくとも新機能の追加より遅くても進むはずです。そしてそれこそが求められるべき品質向上です。AI は実際にこの作業を非常に得意としています。
具体的には、人間が機械に「エージェントとツールの両方を持つものが多いので、リスト化して例を見せる。どれがエージェントでどれがツールか教えてほしい」と指示すれば、ディスカッションを通じて一般的なガイドラインを固めます。その後、全体セットの監査を行い、それぞれのカテゴリに分類し、誤ったタイプのものは転送、両方が必要なケースでは最適版を統合します。AI は特に事前に会話で理由付けを共有し、間違いを修正すると非常に効率的です。実際には一度きりのタスク完了ではなく、多回のやり取り後にスムーズに作業を進めることができます。
しかし Claude チームはそうしたプロセスを採用せず、ドッグフーディングに走りすぎて裏側を少しでも見る時間を取らず、問題点を機械に説明することも拒否しています。これはヴァイブ・コーディングの概念違反ではなく、むしろ「上位レベルの抽象的アイデアだけを与えて実際の記述はほぼ全て機械に任せる」状態です。
私は数か月間、この手法で作業しています。まず「到達不能コードがあるか監査しましょう」とか「この関数は目が痛い」と発言し、何らかの実行可能な結論が出るまで会話を続けます。その後、必要だと思う対策を説明し、機械が誤った回答をやめるまで議論を重ねます。最後に「計画を作成してビルドを実行してください」と指示すれば完了です。AI は自動でスパゲッティコードを発見するのは苦手ですが、指摘と少しのガイダンスがあれば整理できるのです。
したがって「AI を使うから品質が悪い」というわけではありません。それは決断次第です。私は過去一週間、AI の助けを得ずに過払いされた人間たちが書いたライブラリと戦っています。低品質ソフトウェアは選択の結果であり、自ら所有し改善すべきものです。ぜひより良い品質を目指してください。