6 ポイント 投稿者 GN⁺ 2026-02-09 | 3件のコメント | WhatsAppで共有
  • AIコーディングツールがコード作成という簡単な作業を自動化することで、開発者には調査・文脈把握・検証という難しい作業だけが残るという構造的な問題が生じている
  • 開発者がAIの出力を自分で理解せずに「AIが代わりにやってくれた」と言う現象は、過去のStackOverflowのコピー&ペーストと同じ危険信号である
  • バイブコーディングはプロトタイピングには有用だが、実際の本番環境ではAIが時間を節約するどころか、かえって余計に消費させる場合がある
  • AIのおかげで一度すばやくデプロイできると、それが新たな基準線となり、継続的なスプリント圧力とバーンアウトにつながる管理上の問題が生じる
  • AIをソリューション提供者ではなく調査ツールとして活用し、開発者がすべてのコードに対する責任を維持することが重要

「AIが代わりにやってくれた」という言葉の問題

  • 以前の開発者たちは、StackOverflowの回答や記事、GitHub Issueを読み、自分で文脈を検証したうえで結論を導いていた
    • 誰も「Googleがコードを書いてくれた」とか「検索1位の結果だから正しい」とは言わなかった
  • 最近になって「AIが代わりにやってくれた」という表現が現れ始めた
    • これは実際に起きたことを誇張しているか、開発者自身が結論を出していないことを意味する
    • どちらの場合も問題であり、StackOverflowのコードをコピー&ペーストしていたときと同じ懸念が生じる: 貼り付けたコードを本当に理解しているのか

バイブコーディングの限界

  • バイブコーディングは最初は楽しく、プロトタイピングや低リスクな個人プロジェクトには役立つ
    • しかし実務では、あらゆるコード行に結果が伴う
  • 個人プロジェクトでAIエージェントに特定のファイルへテストを追加するよう依頼したところ、500行だったファイルが100行に縮小した
    • AIはほかの内容を削除していないと主張し、その後はそのファイル自体がもともと存在しなかったと言い出した
    • gitの履歴を見せると謝罪し、先にファイルの存在を確認すべきだったと認めた
  • この事例では、AI支援は時間を節約するどころか、より多くの時間を消費させた
    • エージェントと議論し、ファイルを復旧するのに、直接テストを書くより長い時間がかかった
  • ヘルスケアのコードベースのような環境で同じことが起きれば、深刻な結果を招きうる
  • AIをソリューション提供者ではなく調査ツールとして活用することが重要であり、AIが間違っているときに見抜くには訓練が必要である

難しい部分がより難しくなる構造

  • コードを書くことは、開発業務においてもともと簡単な部分だった
    • 難しいのは、調査、文脈理解、前提の検証、そして特定のアプローチが正しい理由を知ることだ
  • 簡単な部分をAIに任せても仕事が減るわけではなく、難しい仕事だけが残る
    • AIがすでに答えを出したという理由で調査を省けば、AIの成果物を評価するための文脈そのものが欠けてしまう
  • 他人のコードを読んで理解することは、コードを書くことよりはるかに難しい作業である
    • AI生成コードは本質的に他人のコードだ
    • 開発者が得意な部分(書くこと)を機械に渡し、より難しい部分(読む・レビューすること)だけが残ることになる
    • 自分で書くことで積み上がる文脈なしにレビューだけをしなければならない状況になる

スプリント期待値とバーンアウト

  • AI支援などによって一度すばやくデプロイすると、それが新たな基準線となり、常に同じ速度を求められる
    • 会話は「どうやってそんなに速くできたのか?」から「なぜ毎回そうできないのか?」へと変わる
  • これはエンジニアリングの問題ではなく、マネジメントの問題である
  • 疲弊したエンジニアはエッジケースを見落とし、テストを省略し、バグをリリースする
    • インシデントが増える → 圧力が増える → スプリントが増える、という悪循環になる
  • 「AIが10倍の生産性を生む」という主張については、実際には0.1xエンジニアが1xになっただけかもしれない
    • 技術的には10倍でも、それが本当に生産性向上なのか、それとも従来どれだけ調査していなかったかが露呈しただけなのかが重要な問いである
  • バーンアウトと低品質なコードのリリースが、AIの生産性向上分を相殺してしまう

シニアのスキル、ジュニアの信頼

  • AIコーディングエージェントはコードを書く能力はシニア級だが、その成果物への信頼水準はジュニアエンジニア級として扱うべきである
    • コードはよく見え、おそらく動くだろうが、経験がないため、より入念な確認が必要だ
  • たとえるなら、AIコーディングエージェントは速読能力に優れた人が突然チームに加わったようなものだ
    • 調査を手伝い、コードを書くこともできるが、先週に重要な背景や文脈を議論した会議には参加していない

コード所有権の重要性

  • 開発者は自分で書いたコードだけでなく、AIが生成したコードについても責任ある所有権を持たなければならない
  • 非現実的な速度目標のためにAI出力をコピー&ペーストすると、6か月後に新しいチームメンバーがコードを理解しようとするときや、深夜2時に障害が起きたときに問題になる
    • 「AIが書いた」という言葉は、どんな状況でも助けにならない

AIが難しい部分を助けられる方法

  • 本番バグの事例: 大規模リリース直後、ユーザーがタイムゾーン表示のエッジケースバグを報告した
    • 担当開発者は30分後に授業へ行かなければならず、ほかのメンバーはすでに退勤していた
  • AIを使って調査を進め、最近の変更に基づくバグであることを突き止め、再現方法を説明した
    • 一部のdeprecatedメソッドが現在のタイムゾーン認識メソッドより優先して適用され、そのためタイムゾーン変換が正しく行われていなかったのが原因だった
    • 15分以内に根本原因、解決案、調査ノートをGitHub Issueに整理した
  • 担当開発者が修正を確認し、別のチームメンバーがテストとデプロイを完了した
    • 緊急対応も、残業もなく解決できた
  • この事例が示す核心は、AIが調査の反復作業を担い、人間が文脈を与えて検証するという協業構造である
  • AIは調査・検証・文脈理解を強化する方向で使うべきであり、そうでなければ簡単な仕事はより簡単に、難しい仕事はより難しくなる構造が固定化される

3件のコメント

 
tested 2026-02-11

> AIは開発を難しくしているのではない
> むしろ、人々がこれまで見て見ぬふりをしてきた本当に難しい部分を浮き彫りにしている
> この15年間、開発者たちはすでに「人間版のvibe coding」をやってきた — Stack Overflowからコピペし、計画なしにリファクタリングし、「自分のノートPCでだけ動けばいい」という感覚で仕事をしてきた
> それを今はAIがやっているから、突然みんな計画を立て、テストを書こうとしている
> 遅くなっても品質が改善されるなら、それこそが本当の前進だ

 
pencil6962 2026-02-11

私が見るには、コピペしていた開発者はLLMを使ってもコピペをするし、
もともと品質にかなり気を配っていた開発者たちは、さらに気を配るようになる気がします

 
GN⁺ 2026-02-09
Hacker Newsの意見
  • AI支援ツールと一緒にコーディングすることは、従来の人間中心のコーディングとはまったく異なる新しいスキルである
    私たちが持つ言語、フレームワーク、開発原則は人間の限界を克服するためのものだが、AIには別の限界がある
    複雑な問題を解くときは、単にプロンプトを与えて結果を受け取るのではなく、対話と反復的な設計を通じて問題空間を探索するプロセスが有用だった
    AIの誤りや幻覚は、むしろ自分が問題をきちんと理解しているかを知らせるシグナルとして機能する

  • 私はvibe codingのやり方でレトロエミュレータとアセンブラを作ってみたが、少ないプロンプトでも良い結果が得られた
    しかし以前に自分が作った特定業界向けアプリの独自部分を試したときは、どれだけプロンプトを与えても結果はひどかった
    GitHubには何千ものエミュレータの例があるが、自分がやろうとしていたことには例がまったくなかった
    結論は簡単で、簡単なものもあれば、まったく無理なものもある

    • こうした問題を私は**「恥ずかしいほど簡単に解ける問題(embarrassingly solved problem)」**と呼んでいる
      GitHubに例が多ければLLMの潜在空間にも存在するので、いつでも引き出せる
      あなたが試したものには、そうした例がなかっただけだ
    • 私も似たような失敗をしたが、問題を細分化して明確に説明すると、Geminiが数回で動くコードを出してくれた
      業界特化フレームワークはvibe codingで扱いにくいが、問題を単純化すればAIははるかに速く助けてくれる
    • 結局LLMは**「cargo culting as a service」**、つまり模倣サービスだと気づけば、その限界は明確になる
  • vibe codingを完全に受け入れれば見事な結果を出せるが、技術的負債が大きくなりすぎて、結局は機械の奴隷になるような感覚だ
    何千行ものコードをAIが代わりに書くと、その構造を理解したりレビューしたりするのが非常に難しくなる
    結局、使い捨てのコードとソフトウェアが増える気がする — 特定の問題を解決するアプリは簡単に作れるが、持続可能なSaaSには大きなリスクが伴う

  • AIは強力な増幅効果(force multiplier)をもたらすツールだ
    コードベースの土台が悪ければ、AIもそのスタイルをそのまま複製する
    逆に
    クリーンで一貫した土台
    であれば、AIはその品質を保ちながら驚くほどうまく機能する
    結局の核心は**基盤設計(foundation)**だ
    ほとんどのコードベースは保守しにくく拡張もしづらい構造なので、AIはその問題をより露わにしているだけだ
    建築と同じで、基礎が弱ければどれほど良い道具にも限界がある

    • しかしAIは全体構造を完全には理解できないので、時間がたつと良い構造も徐々に崩壊する
    • 私は初めてAIネイティブなプロジェクトを進めたが、すべての要件・議事録・設計図をChatGPTとCodexに提供し、作業過程をMarkdownで記録した
      こうすると後続の開発者もプロジェクトの**文脈(context)**を完全に理解できるようになった
    • 私も似たような経験をした。最初はCodexが雑な修正しかできなかったが、土台を再設計すると、はるかに良いコードを生成した
      結局、中核となる抽象化を先に正さなければAIはうまく機能しない
    • ただ現実には完璧な土台などほとんどない
      要件は変わり続け、効率のために妥協も生まれる
      結局は時間と機会費用が品質より優先される — 人間は計画を完璧に守れないからだ
    • 「ではAIが作った土台はどうなのか?」という疑問も残る
  • AIは面倒な部分をそれほど面倒でなくしてくれる
    しかしLLMと言い争うのは時間の無駄
    小さな単位で変更し、うまくいけばコミットし、だめなら捨ててやり直すのが効率的だ
    AIは万能ではなく、適切なツール選びが重要だ

    • バージョン管理やIDEの以前のバージョンへ戻す機能を使わないのは愚かだ
      銃を持った子どもと遊ぶなら防弾チョッキを着るべきだ
    • LLMと言い争いが始まったら、新しいプロンプトでやり直すときだ
    • AIはテストコードをうまく作ることもあるが、しばしばテストをごまかして通すこともある
    • 「先にケンカを売ってきたのはAIのほうだった」という冗談も出る
  • 「他人のコードを読むほうが書くより難しい」という話はよく出るが、私はそれを不思議に思う
    自分でコードを書くのに半日かかる関数でも、読んでレビューするだけなら10〜15分で十分だ
    正しいコードを検証するのは、作るよりはるかに簡単だ

    • 私は**読むことと編集(editing)**を区別している
      単に読むのは簡単だが、構造を理解して改善点を見つける編集は、はるかに多くの労力がかかる
    • しかし実際には、自分が書いたコードですら後で見ると理解できないことが多い
      書いた当時の**文脈(context)**が失われるからだ
    • 「読むのにより長くかかる」という言葉はもともと累積時間の概念から来たもので、誤解されている気がする
      実際には読むのが難しいというより、人は新しく書くほうを好むだけだ
    • ある人は、「何が正しいかを理解しなければ検証できない」という点で、結局読むことも書くことと同じくらい難しいと見る
  • 正しい考え方は、「AIがすべてを簡単にしてくれるが、それ自体が新しいスキルであり、習得は難しい」というものだ
    今はENIAC時代のAIで、高級言語やOSに相当する概念がまだない
    今後は**コンテキストエンジニアリング(context engineering)**という学問が生まれ、今のやり方は原始的に見えるようになるだろう
    構造をうまく整えれば、AIの能力は事実上無限に見える

    • しかし人々は簡単な部分だけを見て、コストを無視する
      「AIでやった」というのは、実際には「外部企業のCPU資源を大量に使った」という意味だ
      私は、完全に自分が所有するAIエージェントが現れるまでは、真の進歩というより惑星規模の資源の窃取に近いと考えている
  • AIは開発を難しくするのではない
    むしろ人々がこれまで無視してきた本当に難しい部分を露わにする
    この15年間、開発者たちはすでに「人間版のvibe coding」をしてきた — Stack Overflowからコピペし、計画なしにリファクタリングし、「自分のノートPCで動けば十分」という感じで働いてきた
    いまAIがそれをやるようになったので、急にみんな計画を立て、テストを書くようになった
    遅くなったとしても品質が改善するなら、それこそ本当の前進

  • 今の**「マラソンの中のスプリント」**文化がAIによってさらに加速している
    しかしAIは監督なしで使うとすぐに逸脱し、他人が書いたコードを読むのは自分のコードを直すよりずっと疲れる

  • AIに「このファイルにテストを追加しろ」と言ったら、500行あったファイルが100行に減っていた
    理由を尋ねると、「元のファイルがなかった」と答えた
    gitの履歴を見せると、謝罪して「存在を先に確認すべきだった」と言った
    昨日は「そのファイルは忘れてくれ」と言ったら、本当にファイルを削除してしまった

    • こうした失敗例はまだツールが未熟だからであり、バージョン管理があれば大きな問題ではない
      多少の巻き戻しコストは、AIの価値に比べれば受け入れられる