コードの「ブラックボックス化」を防ぐ
GitHubが指摘 AIが書いた「おそらく動くコード」が招くシステム崩壊
生成AIの普及で容易にコードが生成できる一方、中身を理解しないまま本番システムに組み込むリスクが高まっている。GitHubの担当者が、自動テストやAIエージェント向け指示書を用いて品質を制御する手段を解説する。
AI技術の発展によって、「おそらく機能する」ソフトウェアをプロンプト一つで簡単に構築できるようになった。しかし、開発者が生成されたソースコードのロジックや構造を深く理解していない場合、ソースコードのブラックボックス化が進み、本番システムで予期しない重大な障害を引き起こす危険性が潜んでいる。
一方で、AI技術は開発速度を飛躍的に向上させているのも事実だ。ソースコード共有サービス「GitHub」の利用データによれば、2023年9月~2024年8月の期間と2024年9月~2025年8月の期間を比較すると、生成されるソースコードの量は26%、プルリクエストのマージ件数は23%増加した。マージに至るまでの時間が短縮されているにもかかわらず、AI生成コードがビルドテストを通過する確率は約80%高まっているという分析結果もある。
これは一見すると、AIツールを利用することで開発速度もソースコードの品質も保たれているように思えるが、自動テストやCI/CD(継続的インテグレーション/継続的デリバリー)といった品質管理体制が防御壁として働いているに過ぎない――。GitHubのデベロッパーアドボケートであるダミアン・ブレイディ氏はそう考えている。AIツールが出力したソースコードを盲信せず、安全かつ確実にシステムへ組み込むためには、開発現場にどのような体制やルールが必要なのか。同氏の話を基に解説する。
ソフトウェア開発は「信頼」で成り立っている
併せて読みたいお薦め記事
AIコーディングが抱える問題
本記事は、技術カンファレンス「NDC London 2026」におけるブレイディ氏のセッション「The Dangers of Probably-Working Software」の講演内容に基づく。
ブレイディ氏は、現代のソフトウェア開発において、開発者がシステムを完全に把握することは不可能に近いと指摘する。小規模なWebアプリケーションであっても、利用しているオープンソースライブラリの依存関係をたどれば、膨大な他者のソースコードで動いている。つまりソフトウェア開発とは、コンパイラやフレームワークを作った他者を信じる「信頼」に基づく作業だと言える。
しかし、さまざまな開発者が検証したオープンソースライブラリとは異なり、AIツールがその場で生成したソースコードは誰も検証していない。出力結果をそのまま本番システムに投入することは、先人が検証を重ねて培ってきた、他者のソースコードに対する信頼を無視する無責任な行為だ。
ブレイディ氏は、仕組みを理解しないまま実装することの危険性を示す例として、自身が若手時代にデータ圧縮アルゴリズムをよく理解せずにシステムに組み込み、実データを通した際にシステムをクラッシュさせた経験を語った。別の事例として、AIエージェントにネットワーク内の特定のマシンを探すよう指示した結果、AIエージェントが独断でOSのアップデートを実行し、システムを復旧不能にしてしまったケースもあるという。開発者がAIエージェントに適切な制限を与えず、理解が及ばないまま権限を委譲することの恐ろしさを示している。
AIツールがソースコードを生成する速度が向上したことに伴って、不具合のあるソースコードがシステムに混入する速度も上がっている。これを防ぐためには、自動テストやCI/CD(継続的インテグレーション/継続的デリバリー)、複数人でのコードレビューといった既存の品質管理体制を確実に機能させることだ。
ただし、これらの仕組みは形骸化していては意味がない。ブレイディ氏はその例として、オーストラリアのあるピザチェーンのエピソードを紹介した。その企業では火曜日にピザが安くなる仕組みになっていたため、価格計算の自動テストが「火曜日にだけ必ず失敗する」状態になっていた。本来であればシステムを修正すべきだが、開発チームは「今日は火曜日だからテストが失敗しても問題ない」と無視するようになってしまい、自動テストが品質を確保するものとして機能しなくなっていたという。
AIがバグを混入させる速度に対抗するアプローチ
AIエージェント特有の品質制御アプローチとして、ブレイディ氏は以下の手法を提示した。
1つ目は「Spec kit」と呼ばれる手法だ。これは、AIエージェントに一度の指示でアプリケーション全体を作らせるのではなく、品質を制御可能な単位に分割する方法だ。要件定義、仕様策定、タスクへの分解、個別の実装という段階を踏み、人間が各段階の出力内容を確認して修正しながら進める。これによって、人間がAIツールを適切にガイドし、信頼性の高いソースコードを生成することが可能になる。
2つ目は「Agents MD」の活用だ。これはAIエージェントに向けた専用の指示書であり、ソースコードの記述ルールやコンポーネントの構造、アクセシビリティーの条件などを明記しておく文書だ。AIエージェントはこの文書を読み込み、指定されたガイドラインに従って実装を行う。GitHub社内でも、古いフレームワークから新しいフレームワークへの移行作業において、詳細な手順を記した指示書を用いることで、人間の介入を極力減らしつつ自動テストに合格するページを生成できている。この文書は継続的に更新できるため、AIが誤りを出力した際は新たなルールを追記して品質を高めることが可能だ。
不具合への対処や効率化においてもAI技術の活用が進んでいる。Microsoftの技術者が実施した実験では、再現手順が不明なバグ報告に対し、AIエージェントを用いてサンドボックス内でテストを繰り返させ、信頼できる再現手順を自動で特定することに成功した。AIエージェントが人間が調査に費やす時間を大幅に削減し、対処すべき課題を効率的に処理する手段となっている。
「おそらく機能する」を本番に持ち込まないために
AIツールの性能は向上し続けているが、人間が要件を完璧に記述し切れない以上、生成されるソースコードの正確性が100%保証されることはない。そのため開発者は、対象となるソースコードに問題があった場合の影響度に応じたリスク評価を実施し、AIツールへの依存度を慎重に判断する必要がある。
少額の割り勘を計算する個人的なアプリケーションであれば多少のエラーは許容できるが、医療現場における投薬量の計算など、影響が甚大なシステムでは極めて厳格なテストが求められる。「おそらく機能する」という推測だけで本番システムに組み込むのではなく、システムの重要度に応じて人間が適切に介在し、品質を制御する仕組みを構築することが、今後のソフトウェア開発においては不可欠だ。
本稿は、NDC Conferencesが2026年2月5日に公開した動画「Keynote: The dangers of probably-working software - Damian Brady - NDC London 2026」を基に作成しました。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
新着ホワイトペーパー PR
-
製品資料
使用中のデータを保護して安全な共同開発へ、クラウド時代のデータセキュリティ -
製品資料
“AIによる高速な脆弱性検出”対策を行う、RHELの統合セキュリティ機能とは? -
製品資料
企業ITを支える定番Linuxの運用管理、手動の限界を乗り越える手法とは? -
製品資料
AIとクラウドネイティブの課題を解決する、シンプルで費用対効果に優れた方法 -
製品資料
ITリーダーのための「クラウドネイティブ戦略」ガイド
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ人はいるのにDXが進まない? ライオンも直面した“老害”レガシーシステム
-
2
「業務改善とツール活用」に関するアンケート
-
3
「結局使われない」Microsoft 365 Copilot なぜキリンは“全社定着”できたのか
-
4
LLMの「過学習」、正しく説明している文章はどれ?
-
5
「次世代業務PCへの移行」に関するアンケート
-
6
100億円の「Linux更新」を回避 みずほ銀行が選んだ“おきて破り”のRHEL延命策
-
7
「Linuxサーバの長期運用とRed Hat Enterprise Linux」に関するアンケート
-
8
「生成AI導入・活用状況」に関するアンケート
-
9
「結局使わなくなる」Microsoft 365 Copilotを半年で定着 キリンの3施策
-
10
「AI活用を前提とした業務PCへの移行」に関するアンケート
ホワイトペーパーランキング PR
-
1
属人化や仕様バグはなぜ起きる? AI時代に必須のドキュメント文化の作り方
-
2
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
3
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
中小企業必見、Microsoft 365でゼロトラストセキュリティを実現する方法
-
6
5分で分かる「AI駆動開発エージェント」 要件定義から設計・実装・テストまで
-
7
動画で知るランサムウェア被害企業のリアル、会計データが無事だった理由とは
-
8
“あのファイル転送”で暗躍するノーウェアランサム
-
9
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
10
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー