AI

2026.01.25 14:21

開発者はAIコーディングツールを「着手」に使うが「完成」には使わない

stock.adobe.com

stock.adobe.com

開発者はAIを信頼していない。カリフォルニア大学サンディエゴ校とコーネル大学による最近のレポート「プロフェッショナルなソフトウェア開発者はバイブではなくコントロールする」は、開発者が依然としてAIにコーディングを任せていないことを実証している。この研究は、数百人の企業開発者におけるAIコードアシスタントの使用パターンを分析し、優秀な開発者がコンテキストを活用して品質を向上させる方法を明らかにした。

バイブコーディングと有用なAI出力の違いは何か。それは、AIに与える情報の構造化方法、出力のレビュー方法、そしてプロセス全体で発生する技術的負債の量である。

抽象化レベルが出力品質を決定する

ユーザーがアーキテクチャのガイダンスなしに「コンテンツ生成アプリを作成して」とAIに依頼すると、AIは何かを構築する。それは機能するだろうか。おそらく。しかし、セキュリティプロトコル、エラー処理、経験豊富なエンジニアが自動的に構築するアーキテクチャの一貫性を欠いているだろうか。おそらくそうだ。

Ox Securityの「ジュニアの軍団」レポートは、300のオープンソースプロジェクトを分析し、AI生成コードが「高度に機能的だが、アーキテクチャ判断において体系的に欠けている」ことを発見した。このツールは実行されるコードを書くことができる。しかし、スケール、保守、セキュリティ確保が可能なコードを書くことには苦労している。

AIコーディングアシスタントは、規範的で秩序立った構造化された情報を提供すると、優れたパフォーマンスを発揮する。単に情報を提供しているのではない。AIが効果的に動作できる領域にソリューション空間を制約しているのだ。

抽象化のレベルが重要なのは、AIが広範な概念的要求よりも、より小さく構造化されたコンテキストウィンドウをより効果的に処理するためである。つまり、構築したい機能や使用したいサービスを伝えるのではなく、開発者はドキュメントをリンクすべきである。さらに優れた制御のために、ドキュメントの正確なセクションをプロンプトにコピー&ペーストする。大規模なコードエコシステムで作業する場合は、明示的なディレクトリ構造を定義する。特定のフィールド名と関係性を持つデータベーススキーマを含める。AIがコンテキストを理解すると盲目的に信頼してはならない。

明示的なドキュメントと高いコンテキスト価値を持つ高度に構造化されたプロンプトを提供するチームは、大幅に高い成功を達成している。

バイブコーディングは指数関数的な技術的負債を生み出す

OpenAI創設メンバーのアンドレイ・カルパシー氏は、2025年2月に「バイブコーディング」という用語を作った。これは、開発者が自然言語プロンプトを使用して、構造化された監視なしにAIにコードを書かせ、改良させ、デバッグさせることを表している。バイブコーディングの問題は、初期の出力ではない。5〜10ステップ後に何が起こるかである。

開発者はAIに修正が必要なコードを指示する。AIはそのコードを修正する。しかし、見ていない別のディレクトリやテンプレートのファイルも変更する。その間、ユーザーは構築を続ける。数回の反復後、彼らは、どこか別の場所の1つの機能に集中している間に、AIがアプリケーションの他の部分を破壊していたことに気づく。

GitClearの分析は、2020年から2024年までの2億1100万行の変更されたコードを対象とし、AIアシスタンスによってコードの重複が4倍に増加していることを発見した。最初はすべてが速く動くため、バイブは心地よく感じるかもしれない。しかし、クリーンアップフェーズは初期構築の5〜10倍の時間がかかる可能性がある。非技術系ユーザーにとって、クリーンアップは専門的な人間の介入なしには不可能になることが多い。2025年に誰もが学んだ大きな教訓は、AIシステムからの技術的負債は線形ではなく指数関数的に複利計算されるということである。

ダン・クライプ氏が彼の記事で、LLMを支持してソフトウェアの死について世界が交わしている会話について書いたように、「2人チームで圧倒的な成果を上げているLLMネイティブのスタートアップ。それらは存在しない。自律エージェントで動作する本番システム。少数で、まばらで、LLMのスイートスポットに該当するタスクを実行している。これが今可能だと主張している人々は、個人の生産性ツールを構築しているか(問題ないが、エンタープライズSaaSではない)、本番環境に到達していないデモを実行しているか、どれだけの人間の介入が行われているかについて正直ではない」。

セキュリティ脆弱性は規模で増加する

技術的負債以上に、研究はAIコードが一般的に安全ではないことを証明している。Veracodeの2025年分析「GenAIコードセキュリティレポート」は、AI生成コードの45%にセキュリティ上の欠陥が含まれていることを発見した。この分析は、ジョージタウン大学安全保障・新興技術センターによる2024年のレポートと同様の調査結果を反映しており、AIコード生成モデルが「頻繁に安全でないコードを出力する」ことを確認している。

これらはエッジケースではない。AIが本番グレードの開発にアプローチする方法における体系的なギャップである。AIに一般的なプロンプトを提供すると、AIは機能性を最適化するが、セキュリティは最適化しない。動作するものを構築するが、安全なものは構築しない。シニアエンジニアは、長年の本番経験を通じてセキュリティ原則を内面化しているため、これらの問題を即座に捉える。

AIはプロトタイピングに最適、本番環境には不向き

AIコーディングツールは、創造的なアイデア創出と迅速なプロトタイピングに優れている。コンセプトをテストし、アプローチを検証する開発の探索フェーズを加速する。しかし、プロトタイプと本番システムには異なる基準が必要である。

本番コードには包括的なエラー処理が必要である。入力検証、認証チェック、依存関係が失敗したときの優雅な劣化が必要である。エッジケースを処理し、状態を一貫して管理し、負荷下でパフォーマンスを維持する必要がある。

AIは実験的条件で動作するコードを生成する。経験豊富なエンジニアは、条件が理想的でないときに動作するコードを書く。

分析によると、AIツールは低負債環境と高負債環境のコーディング環境間の速度ギャップを劇的に広げる。クリーンでよく設計されたコードベースを持つ企業は、AIから大きな生産性向上を見る。レガシーシステムを持つ企業は、AIツールを効果的に採用するのに苦労している。なぜなら、AIは微妙な制御フロー、長距離依存関係、予期しないパターンを持つ環境ではパフォーマンスが低いからである。

戦略的アプローチ:AIをジュニア開発者として扱う

最も効果的な開発チームは、AIをシニアの監視を必要とするジュニア開発者として扱う。スキャフォールディングと反復速度には有用である。最終的な実装決定を任せることは決してない。

このメンタルモデルは適切な期待を生み出す。ジュニア開発者に曖昧な要件を渡して本番対応コードを期待することはないだろう。構造を提供し、出力を慎重にレビューし、複合化または本番環境に投入される前にアーキテクチャの決定を修正する。同じ原則がAIにも適用される。

明示的なコンテキストを与える。すべての提案をレビューする。本番環境に到達する前にセキュリティギャップを捉える。人間が実施する品質ゲートを維持しながら、創造的フェーズを加速するために使用する。

「AI+エンジニア」のコラボレーションフレームワークに投資する組織は、完全自動化を試みたり、AIツールを完全に拒否したりする組織を上回るパフォーマンスを発揮している。ソフトウェア開発の未来は、創造的フェーズにおけるAI駆動の速度と、本番デプロイメントにおける人間の専門知識を組み合わせる。

ツールはエンジニアリング能力を増幅する。判断を置き換えることはない。

forbes.com 原文

タグ:

advertisement

ForbesBrandVoice

人気記事