コードの「ブラックボックス化」を防ぐ
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.
本記事は制作段階でChatGPT等の生成系AIサービスを利用していますが、文責は編集部に帰属します。
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社うるる] 「入札市場」攻略ガイド:効率的に落札するためのポイントを徹底解説 -
製品資料
[株式会社うるる] 入札情報に特化した「販路拡大」「効率化」のためのサポートツールとは? -
市場調査・トレンド
[株式会社うるる] 公共入札に成功する企業と失敗する企業の「5つの違い」 -
製品資料
[日本ビジネスシステムズ株式会社] 専門家が教える、Microsoft 365の「テナント統合/分離」を成功に導く秘訣 -
製品資料
[rakumo株式会社] Microsoft 365での情報埋没を防ぐ、社内ナレッジを資産化する情報ポータル活用
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Microsoft 365」が乗っ取られる MFAを破る“本物の画面”の恐怖
-
2
半数がブルーカラー転向を視野に? ベテランエンジニアを追い込む“54歳の壁”
-
3
PHP脆弱性「PHP2Shell」で2260万件に影響 情シスの緊急チェックリスト
-
4
なぜ「Gemini 4 Argon」は出遅れたのか? Googleが狙う“逆転のシナリオ”
-
5
「Windows」の不要なファイルを安全に消して容量を空ける方法
-
6
テレワークやBYODでリスクが拡大、デバイスの多様化を弱点としない管理方法とは
-
7
データセンター事業者が「脱VMware」をした“例のライセンス問題”じゃない理由
-
8
「有線LAN環境」に関するアンケート
-
9
Copilot導入で陥る“目的化”の落とし穴 定着の鍵は「作り込まない」こと
-
10
IBM iのブラックボックス化を打破 資産継承と進化を実現する「IBM Bob」の実力
ホワイトペーパーランキング PR
-
1
AI駆動攻撃にどう対抗する? 超速の攻撃からエンドポイントを保護する方法
-
2
2026年のサイバーセキュリティには何が必要か? 最新データに学ぶ傾向と対策
-
3
経験豊富な即戦力人材に直接アプローチできる、「攻めの採用」への転換術
-
4
「IT史に名を残すシステム障害」8選
-
5
最速72分でデータが流出? 最新の脅威トレンドや侵入手法から分かった防衛策
-
6
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
7
Microsoft 365のメールセキュリティ、3つの“死角”と追加で検討すべき対策とは
-
8
AI駆動開発のスピードと安全性を両立 「品質・セキュリティ管理」の実践ガイド
-
9
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
10
「標的型攻撃メール」事例・サンプル集
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー