AI によって生成されたコードであっても、企業が依然として人間の開発者を必要とする理由
プロンプトを与えるとどの AI コーディング ツールも構文的に正しいコードを生成できます。しかし、エンタープライズ ソフトウェアを構築できるでしょうか?そして本当の疑問は、 ソフトウェア開発者はもう必要ないのかということです。
ソフトウェア開発は常に設計とコード以上のものです。これには、セキュリティ、GDPR、SOC 2、社内ポリシーの要求の理解、何かが失敗した場合の責任の所在の把握が含まれます。
それには、プロンプトでは提供できない、エッジケースの推論と組織的な知識が必要です。エンタープライズ ソフトウェアには、アーキテクチャ上の判断を下し、システムが長期にわたってどのように構築されるべきかについての計画を立てる人が必要です。
しかし、AI は開発者の働き方を変えました。
開発者の役割は、コードの作成から検証、オーケストレーション、結果の所有へと移行しました。
そして、AI がコードを書いたとしても、エンタープライズ企業が依然としてソフトウェア開発者を必要としているのは、まさにこの変化のためです。
エンタープライズ環境における「AI によるコード作成」の実際の意味
AI がコードを書くと言うとき、実際に意味するのは、自然言語プロンプトを与えると、ツールが構文的に正しい出力を返すということです。ボイラープレート、単体テスト、標準関数を確実に処理します。
しかし、それはあなたのシステムを理解していることを意味するものではありません。
アーキテクチャ、コンプライアンス要件、長年のトレードオフを経て進化したビジネス ロジックを知りません。エンタープライズ環境では、これが、便利な生産性向上ツールと、実稼働ソフトウェアを構築できるツールとの間のギャップです。
エンタープライズ システムは、プロンプトの明確な境界のはるか外側に存在します。製品コードには、何年にもわたって蓄積されたロジック、非標準の統合、規制上の制約、および現在のタスクが存在するずっと前に行われたアーキテクチャ上の決定が含まれています。そのコンテキストが 1 か所に存在することはほとんどなく、単一のプロンプトに取り込まれることもありません。
最新のモデルは、純粋なパターン マッチング以上のことを行います。彼らは真の推論能力を発揮します。しかし、エンタープライズ ソフトウェアは、特定のシステムがどのように動作するか、どのような制約の下で動作するか、そしてチームが長期にわたってシステムをどのように維持するかによって決まります。文脈がなければ、いくら推論してもそのギャップを埋めることはできません。
AI は単独で正しいコードを生成できます。エンタープライズ ソフトウェアは、特定のシステム内、特定のルールの下、実際のチームによって保守されるというコンテキスト内で正しくなければなりません。
なぜ AI コード生成 ≠ エンタープライズ ソフトウェア開発なのか
AI を使用したコード生成は大規模にオートコンプリートされます。エンタープライズ ソフトウェア開発はプレッシャーの下で判断されます。何を構築すべきか、なぜそれが建築的にまとまっているのか、そして午前 2 時に壊れたときに誰が応答するのかを知ることです。
AI はコードを生成できますが、少なくとも現時点では、システム、決定、結果を所有することはできません。
このギャップは、システムの設計、本番環境での結果の所有、AI が認識できない制約内での運用など、コードの作成以外にエンタープライズ開発に実際にどのようなことが含まれているかを見ると、より明確になります。
それを詳しく見てみましょう。
1.コードを書く
コード生成は、行と関数のレベルで優れています。適切な範囲のプロンプトを使用すると、モデルは機能する API エンドポイントからデータベース クエリに至るまであらゆるものを生成でき、多くの場合、上級エンジニアが最初から入力するよりも速くなります。
しかし、新しいコードを書くことは、開発者の仕事の中で驚くほど小さな部分です。 IDC の 2024 年のレポートによると、アプリケーション開発は開発者の時間の約 16% を占めています。広く引用されているロバート C. マーティンの観察では、読み取りと書き込みの比率は 10 対 1 以上であるとされています。
残りの作業には、既存のコードを読み、意図を理解し、障害を追跡し、トレードオフを交渉し、明確な答えがない呼び出しを行うことが含まれます。
2.システムの設計
システム設計では、企業の複雑さが許容できないものになります。プロンプトは AI に次のようなことを伝えることはできません。
- 決済サービスはもう存在しないチームによって構築されており、それに変更を加えるには 3 つのコンプライアンス チーム間の調整が必要です
- 同社は 3 年前にパフォーマンス上の理由から結果整合性を選択しましたが、現在その決定を覆すことは 4 億レコードを再移行することを意味します
- 生成する新しいマイクロサービスは、オンコール ローテーションが異なる別のタイムゾーンのチームによって所有されます
エンタープライズ システムはグリーンフィールドではありません。延期された決定や、買収後に 2 つのシステムが強制的に統合されたためにのみ存在する統合による技術的負債を抱えています。
この環境で優れたシステム設計を行うには、歴史的背景 (なぜ過去にトレードオフが行われたのか)、制約マッピング (交渉不可能な規制、契約、および運用上の境界)、障害モードの推論 (「これはどのように失敗するのか、どの程度ひどくなるのか?」)、および組織の認識 (誰がこれに依存し、誰が変更することで壊れるのか) が必要です。
LLM 生成コードにはこれがありません。背後にあるシステムではなく、 その前にあるコードについて推論するのです。
3.本番環境での結果を所有する
本番環境はテスト環境ではありません。エンタープライズ ソフトウェアでは、バグは単体テストの失敗ではありません。それは、収益に関する出来事、コンプライアンスに関するインシデント、顧客の信頼の失墜、または規制された業界では法的問題につながる可能性があります。
本番環境の障害によるコストは、SLA 違反、インシデント レポート、経営陣が把握できる事後分析によって測定されます。
エンタープライズ環境では、所有権とは次のことを意味します。
- システムが予期せぬ動作をした場合、責任はあなたにあります
- 過去の失敗のコンテキストを引き継ぎ、それを利用して今回の失敗を別の方法で設計する
- 完璧な答えがないトレードオフについて判断を下し、それを支持する
- 監視アラートが発生する午前 2 時にデバッグするのはあなたになります
コード生成により出力が生成されます。それは責任を生みません。プロンプトを超えた正確さには関与せず、最後の停止の記憶はなく、ページングされる機能もありません。
4.エンタープライズ乗数
これらすべてが規模によってさらに悪化します。エンタープライズ ソフトウェアの意味:
- 分散所有権: 複数のチームが独自の基準とインセンティブを持って協力する
- 規制対象領域: GDPR、SOX、HIPAA、PCI-DSS への準拠がアーキテクチャ上の決定に組み込まれている
- 寿命要件: 10 ~ 20 年にわたって運用および進化するシステム
- 統合密度: 3 つのサービスではなく、何百ものサービスが相互に通信しており、多くの場合、組織やベンダーの境界を越えて
この環境では、コード出力をエンジニアリング上の判断と誤解する危険な幻想が生じます。 AI 支援を利用して実用的な機能を生成する若手開発者は、そのシステムが組み込まれているシステムを設計したり、どのように失敗するかを予測したり、失敗したときに何が起こるかを把握したりする能力を自動的に身につけることはできません。
コードは簡単な部分です。企業は難しい部分です。そして、AI は現状ではそのうちの 1 つを支援するだけです。
企業が依然としてソフトウェア開発者を必要としているもの
大規模に実行されるソフトウェアには法的責任があり、失敗は許されないため、企業は依然として開発者を必要としています。それには人間の判断、組織の記憶、説明責任が必要ですが、そのどれもが存在を促したり、モデルに委任したりすることはできません。
1.システム アーキテクチャと長期的な設計
アーキテクチャは、不完全な情報に基づいて行われる、取り消しできない一連の決定です。
開発者は単にパターンを選択しているわけではありません。彼らは、組織の制約をサービス境界、データ所有権、そして今後 10 年間に配当金を支払うか税金を徴収するかの組み合わせの決定にエンコードしています。
AI はサービスを生成できます。そのサービスの境界がどこにあるべきなのか、また、 会社の規模が2倍になったり、方向性が変わったり、 競合他社を買収したりしたときに、なぜその境界が依然として意味をなすのかを決めることはできないのです。
2.セキュリティ、コンプライアンス、説明責任
セキュリティはアーキテクチャ上のプロパティであり、機能レイヤーではありません。
脅威のモデリングは設計時に行われ、規制された環境 (SOX、HIPAA、PCI-DSS) では、すべての決定により、指定された人間が所有し、防御する必要がある法的および経済的な証跡が作成されます。
データはこの懸念を裏付けています。 Veracode の 2025 GenAI コード セキュリティ レポートでは、AI が生成したコードには2.74 倍の脆弱性が含まれていることがわかりました。 人間が書いたコードよりも、100 以上の LLM と 4 つのプログラミング言語でテストされています。 2026 年の別の調査では、AI コード サンプルの 4 つのうち 1 つに確認されたセキュリティ脆弱性が含まれており、45% には OWASP トップ 10 の欠陥が含まれていることがわかりました。
規制当局が顧客データが特定の方法で処理された理由を尋ねた場合、「モデルがこのパターンを示唆している」では答えになりません。 AI が生成したコードには法的地位も責任もなく、違反によって実際にどのようなコストがかかるかについても認識されません。
3.例外処理とエッジケース
予想通りの道は簡単だ。 99 パーセンタイルの障害は、エンタープライズ システムの信頼性を獲得する場所です。
ここでは、決済ゲートウェイがトランザクション中にタイムアウトし、ダウンストリーム システムがピーク負荷時に不正な応答を送信し、ライブ マイグレーション中にデータベース フェイルオーバーが発生します。
経験豊富な開発者は、これらの失敗を直接知っています。彼らは、エッジケースに対して防御的にコーディングするだけではありません。彼らはそれらを乗り越えてきました。
彼らは、エラー コードを偽るサードパーティ API や、障害が壊滅的に連鎖するサードパーティ API を知っています。これはどのトレーニング データにも含まれていません。
4.レガシー システム統合
ほとんどのエンタープライズ ソフトウェアは、最新の API を提供する COBOL バッチ プロセス、文書化されていない副作用のある ERP システム、脆弱なサービス レイヤの背後で抽象化されたメインフレーム データ モデルなど、現在のチームよりも、場合によっては数十年前に構築されたテクノロジーと共存しています。
この作品は完全に文書化されていないものについてのものです。これを行う開発者は、以前の統合による歴史的な制約を引き継ぎ、文書化されていないリスクを知っており、違反した場合にどの前提が黙って破られるかを理解しています。 AI は表示されたものだけを認識します。
5.信頼性、監視、インシデント対応
配送コードが始まりです。実際の仕事は、目に見える障害を考慮した設計、ノイズを追加するのではなく通知するアラートの調整、オンコール エンジニアに何が壊れたのか、なぜ壊れたのかを数秒で伝えるダッシュボードの構築など、システムを稼働し続けることです。
インシデントが発生すると、開発者は調査し、ロールバックするかパッチフォワードするかを決定し、関係者に通知し、再発を防ぐ事後検証を実行します。
設計、観察、失敗、学習のこのサイクルは、コード ジェネレーターでは生成できない結果をもたらします。
企業が AI によって書かれたコードに過度に依存すると何が問題になるか
AI が作成したコードに過度に依存しても、大々的に失敗するわけではありません。徐々に失敗していきます。システムは静かに負債を蓄積し、そのギャップはインシデント、監査、セキュリティ侵害などの圧力がかかったときにのみ表面化します。
1.技術的負債
AI は、システムではなくプロンプトに対して機能するコードを生成します。各出力をガイドするアーキテクチャ上の判断がなければ、コードベースには一貫性のないパターンや冗長な抽象化が蓄積され、局所的には合理的でも全体的にはコストが高くなります。
そしてそれはすぐに起こります。 AI のペースで生み出された負債は、どのチームも吸収できるよりも早く到着します。
設計上の決定権を持たずに出荷を急ぐチームは、誰も完全に理解していないコードベースを作成することになり、作成コストよりもリファクタリングコストの方が高くなります。
2.サイレントエラー
AI によって生成されたコードは、成功パスは適切に処理され、失敗パスは適切に処理されない傾向があります。プロンプトに含まれていないエッジ ケースは単純に処理されません。また、構文エラーとは異なり、欠落した障害モードは条件が正確に間違っているまで通知されません。
サイレント障害は、エンタープライズ バグの中で最も危険な部類です。 2 回処理される支払い、部分的に書き込まれる記録、決して発生しないアラート。これらはテストでは明らかになりません。
モニタリングはトリガーされません。それらは、通常、損傷が発生してからかなり経ってから、下流の影響を通じて発見されます。
3.セキュリティリスク
モデルは、安全でないパターン、古いライブラリ、非推奨のアプローチを含むトレーニング データ内のパターンからコードを生成します。開発者が出力の脅威を積極的にモデリングしないと、SQL インジェクション サーフェス、シークレットがハードコーディングされ、入力検証がスキップされるなど、脆弱性が機能に付随して組み込まれてしまいます。
微妙なリスクは、誤った自信です。
コード レビューと自動スキャンに合格した AI コードには、信頼境界の侵害、権限昇格ルートのオープン、設計に組み込まれたデータ漏洩など、アーキテクチャ上の脆弱性が依然として含まれている可能性があります。これらには、リンティングではなく、人間のセキュリティに関する推論が必要です。
4.システムの理解の喪失
最大のリスクは技術的なものではありません。それは組織的なものです。
開発者が AI を使用してコードを生成する場合、十分に読んだり、議論したり、所有したりすることはなく、システムがどのように機能するかについての組織的な知識が蓄積されなくなります。
時間が経つと、開発者はシステム全体について推論する能力を失います。その結果、誰も理解できず、誰も安全に変更できないコードベースが作成されます。
一部の企業はすでに対策を講じています。コード理解レビューの義務化、AI ツールとのペア プログラミング、PR 基準の厳格化などです。
しかし、意図的な努力がなければ、これは構造的な脆弱性のままであり、何かがチームにそれに立ち向かうことを強制するまで、静かに蓄積していきます。
エンタープライズ開発者の役割はどのように変化しているか
エンタープライズ開発者の役割は、コードの作成から管理へ、そして手動実装から AI 支援のオーケストレーションへと進化しており、人間のみが提供できる判断と説明責任に支えられています。
1.書き込みから検証まで
開発者の主な出力は、もはやコード行ではありません。それはコードに関する決定です。つまり、AI が生成した出力を批判的に読み取り、何が欠けているか微妙に間違っているかを特定し、実際の結果をもたらす運用システムに適したものだけを承認し、出荷前にセキュリティのギャップ、エッジケースの省略、アーキテクチャの不整合を発見することを意味します。
これには、判断力の低下ではなく、より多くの判断力が必要です。コードを書けない開発者には、コードを検証する能力が備わっていません。
2.実装からオーケストレーションまで
開発者は、AI 生成コンポーネント、サードパーティ サービス、社内プラットフォームからシステムを構成する責任がますます高まっています。導入作業が軽減されます。統合と調整の作業が増加します。
つまり、組み立てられたコンポーネント間のコントラクトとインターフェースを管理し、異なるソースから構築されたシステム間で一貫した動作を確保し、コンポーネントが結合して前提が崩れる継ぎ目での障害を管理し、すべてのレイヤーを作成するのではなく、チーム、ベンダー、プラットフォーム間で調整することを意味します。
工芸は、作者から建築へ、実行から設計へ移行します。
3.スピードから安全性と回復力へ
AI によりコード生成の速度が向上します。企業の開発者にとっての負担は、速度によって安全性が損なわれないようにすることです。つまり、以下のものを所有することになります。
- 可観測性 :インストルメンテーションとロギングは設計により組み込まれており、後付けではありません
- 回復可能性 :ロールバック パスと障害境界が必要になる前に定義される
- 防御力 :規制や事後調査に耐えられるアーキテクチャ上の決定
- ペース :リスク プロファイルが必要とするため、いつスローダウンすべきかを知る
AI 拡張環境における開発者の価値提案は速度ではありません。速度が責任にならないようにするのは判断です。
AI が開発者に取って代わるのではなく、支援すべきとき
AI は、人間の指示の下でツールとして動作するときに真の威力を発揮します。企業は、アーキテクチャ、セキュリティ、コンプライアンスに関する意思決定者として扱われた瞬間、説明責任を自動化に置き換え、判断を確率に置き換えることになります。
AI が活用される場所
AI が最も価値を発揮するのは、最初の試みでは大規模でリスクが低い開発の部分です。強力な使用例は次のとおりです。
- ボイラープレートの生成: スキャフォールディング、CRUD オペレーション、サービス全体にわたる反復パターン
- テストの作成 :既存の関数シグネチャから単体テスト ケースと統合テスト ケースを生成する
- ドキュメント :コード コンテキストからのインライン コメント、API ドキュメント、および README コンテンツの下書き
- コードレビュー支援 :明らかな問題、一貫性のないパターン、スタイル違反が表面化する
- リファクタリングのサポート :意図の前後を明確にして、よく理解されたコードを再構築する
- デバッグの高速化 :エラーの原因を絞り込み、修正候補を提案する
- プロトタイピング :アプローチに取り組む前に、ソリューションがどのようなものかを迅速に検討する
これらすべてにおいてAI は時間を圧縮します。開発者は引き続き出力を所有しますが、 より早く出力に到達します。
人間の判断が交渉の余地のない場所
人間を排除することがリスクをもたらすだけではないという明確な一連の決定があります。これにより、企業が依存する責任構造が排除されます。
- システム設計とサービスの境界: コードベースを何年にもわたって制約する決定
- セキュリティ アーキテクチャ :脅威のモデリング、信頼境界、権限の設計
- コンプライアンスの決定: どのようなデータが収集され、どのように保存され、誰がアクセスできるのか
- 本番環境でのインシデント :診断、エスカレーション、プレッシャーにさらされたロールバック コール
- 従来の統合 :文書化されていない行為を回避し、爆発範囲を最小限に抑える
- トレードオフの解決 :明確な答えがない競合する制約の中から選択する
- 事後分析と学習 :失敗から組織の知識を抽出する
これらはAI が下手に行うタスクではありません。これらは、 人間が決定するという行為自体が企業が求めるものの一部であるタスクです。
企業において人間参加者が重要である理由
コンシューマ ソフトウェアでは、AI によって生成された不適切な決定によりバグが発生します。エンタープライズ ソフトウェアでは、コンプライアンス違反、セキュリティ インシデント、または契約上の影響を伴う機能停止が発生する可能性があります。賭け金によって、ループに何を含める必要があるかが変わります。
エンタープライズにおける人間参加型とは、AI が生成したコードが開発者の承認なしに本番環境に入ることがないことを意味します。これは、アーキテクチャの決定が AI 支援の実装に先行するということであり、その逆ではないことを意味します。
すべてのシステムに関する決定は、それを理解し承認した指名されたエンジニアに遡ります。 AI の出力は成果物ではなく、ドラフトとして扱われます。また、モニタリング、アラート、インシデント対応は依然として人間によって設計され、人間によって実行されます。
目標は AI の速度を低下させることではありません。それは、AI が提供するスピードによって、企業のソフトウェア、規制、組織の信頼がすべて構築される意思決定と結果の間のつながりが分断されないようにするためです。
結論
ソフトウェア チームは依然として重要です。なぜなら、テクノロジーの構築における最も困難な部分 (アーキテクチャ、説明責任、制度上の記憶) には常に人間の意思決定が必要だからです。
新しい現実は単純明快です。開発者が利用できるツールを改善することであり、置き換えるのではありません。 AI は、思考を代替するものではなく、思考を研ぎ澄ますために使用します。そして、誰かが最終的に結果を所有することになるということを理解した上で展開してください。
今後 10 年で最も耐久性のあるソフトウェアを構築する組織は、最も多くのコードを生成する組織ではなくなるでしょう。彼らは、AI のスピードと人間の判断を組み合わせ、その 2 つの境界がどこにあるべきかを正確に知っているのです。
AI がエンジニアリング組織のどこにネットプラスをもたらし、どこにリスクをもたらすのかを理解するのに役立つ現実的なパートナーが必要な場合は、Imaginovation のチームが最適です。 ロードマップの構築に役立ちます。
話しましょう
産業技術
- フォグコンピューティングとは何ですか?
- オンデマンドウェビナー:FPGAがインダストリーオートメーションとインダストリー4.0への変換を可能にする方法
- 産業用IoT接続は2023年までに460億に達するでしょう
- レーザー切断の推奨事項と禁止事項
- 金属加工プロジェクトのベンダーを審査する際の考慮事項
- 最先端の高度な製造技術の3つの代表的な例
- Swanton Welding が 2 番目の塗装ブースを購入
- 資産管理プロセスを最適化する5つの方法
- C# で PLCnext Control gRPC サーバーのクライアントを作成する方法
- 米国ラスベガスで開催されたAWFS2019木工機械展
- 一般的なコンデンサの銘板定格(電解コンデンサ)