コードの「ブラックボックス化」を防ぐ
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
-
技術文書・技術解説
[Jamf Japan 合同会社] MDMだけでモバイルセキュリティは十分? 不足する対策を16項目でチェック -
事例
[Wrike Japan 株式会社] 世界的な家電メーカーが実践する「クリエイティブプロセス効率化」の方法とは? -
事例
[Wrike Japan 株式会社] 世界的テクノロジー企業に学ぶ、プロセス標準化とプロジェクト納品自動化の秘訣 -
事例
[Wrike Japan 株式会社] ソニー・ピクチャーズ テレビジョンに学ぶ、次世代サービスデリバリーのヒント -
事例
[Wrike Japan 株式会社] ソミック石川に学ぶ、ICT浸透後に直面した「工数管理」の課題と解決策
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Copilot」はなぜ放置される? “議事録要約止まり”を脱する処方箋
-
2
脱VMwareの前提が崩れる BroadcomのVDDK公開停止で確認すべき点
-
3
「Microsoft一択」で本当にいいのか 知らぬ間にライセンス費用が膨らむ真相
-
4
ANAが専用回線から移行した「NaaS」の全貌 ネットワーク準備が数カ月から数週間に
-
5
「プログラマー不要論」にThe Linux Foundationが示した答え
-
6
Oracle巨大ITプロジェクトはなぜつまずいたのか 8年で導入1割、追加で170億ドル
-
7
【基本情報技術者試験】「デュプレックスシステム」と「デュアルシステム」の違いは?
-
8
VBAマクロ“原則ブロック”後に「Office」でマクロを実行する方法
-
9
なぜOpenAIやAnthropicのAIは「脱走」したのか 情シスが迫られるエージェント統制
-
10
Qlik Senseを使った教育機関の予測分析は現場に何をもたらしたか
ホワイトペーパーランキング PR
-
1
マンガで解説:「ゼロトラスト」「SASE」の必要性とメリット
-
2
5回聞くだけじゃ足りない? トヨタ式「なぜなぜ分析」の正しい実践方法
-
3
インシデント対応工数を約3割削減、東京ガスの事例に学ぶ監視体制刷新のコツ
-
4
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
5
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
6
国税庁の次世代基幹システム「KSK2」稼働開始に向けて、対応すべき変更点とは?
-
7
5分で分かる「セキュア大容量ファイル転送サービス」の機能とメリット
-
8
ドラマで分かる、標的型攻撃メールの被害を受ける企業と回避できる企業の分岐点
-
9
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
10
少額減価償却資産が40万円未満へ拡大、令和8年度税制改正で押さえるべき変更点
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー