$30 off During Our Annual Pro Sale. View Details »

QA4AIDDとは何か 【第1回】QA4AIDDを考える会

Avatar for うへの うへの
December 09, 2025

QA4AIDDとは何か 【第1回】QA4AIDDを考える会

Avatar for うへの

うへの

December 09, 2025
Tweet

More Decks by うへの

Other Decks in Technology

Transcript

  1. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 2 スピーカー 上野 彩子 (Ueno

    Ayako, Ph.D.) 株式会社ベリサーブ 研究開発部 中堅SIerにて組み込みシステムの検証、業務システムの要件定義~運用、自社 プロダクト開発を経験。その後、大手第三者検証会社でソフトウェアテスト、ア ジャイル推進、組織運営に従事。大学院留学とスタートアップ立ち上げを経て、 ベリサーブへ参画 コミュニティ活動など JaSST Tokyo実行委員
  2. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 5 AI駆動開発、やっていますか? • 要件定義の際の壁打ちや清書にAIを用いている •

    AIと対話しながらドキュメントやコードを修正している • 作りたいものをコーディングエージェントに与えて、後は勝手にやってもらっ ている • 既存のコードのリファクタリングを実施させている
  3. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 7 AI駆動開発の歴史的背景 • AIがコード生成を支援するという考え方から、開発の主体がAIへ移っていく流れがある •

    発展途上の考え方のため、「AI駆動開発」といっても想像するものが全く違う可能性がある AI-Driven Development (Gartner, 2019) AI-Assissted Development AI-Augumented Development Codex AlphaCodeなどの登場 Vibe Coding AI-Driven Development Lifecycle Specification-Driven Development 自律型コーディングエージェント 2019 2020 2021 2022 2023 Software3.0 プロンプトウェア Software4.0 エージェントウェア 2025 2024
  4. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 8 Vibe Coding • Vibe

    Codingは、自然言語による指示でAIにコードを書かせるソフトウェア 開発スタイル • 設計→実装の流れを簡略化し、アイデアから動くものを瞬時に立ち上げるこ とに重きが置かれているため、統制が効きにくくコードの構造・保守性・セ キュリティには課題があるという批判も多い
  5. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 9 SDD (Specification-Driven Development):仕様駆動開発 •

    仕様駆動開発(SDD)とは、自然言語の要件や仕様から設計・実装・テストを進める開発手法。仕様を明 確に言語化する点がAI駆動開発との相性が良いとされる • SDDをサポートするAI駆動開発フレームワークは要件定義、実装計画、タスク分割など、既存の開発プ ロジェクトのプロセスに則ってAI駆動開発を統制する
  6. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 11 AI駆動開発の種類 AIの自律度と活用できる開発工程にマッピングしたイメージ 要件定義 設計

    実装 テスト 運用 自律型コーディングエージェント 仕様駆動開発 Vibe Coding チャットスニペット ペアプロ支援 AIの自律度 高 低
  7. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 13 AI駆動開発の使われ方(要件定義・設計工程) 要件定義工程においては探索的な使われ方が多いとされているが課題も残る • 解釈可能性:AIがなぜその要件を出したか説明できない

    • 再現性:同じ入力でも出力が揺れる、再現しにくい • 制御可能性:ユーザーが意図した粒度や観点で要件を出せるように制御しにくい 要件整理 要件定義 設計支援 • 壁打ち、自然言語による問いかけで要件抽出を支援 • 要件の分類、優先順位づけ • 要件定義ドキュメント作成支援 • 仕様化、ユースケース記述 • 要件からのアーキテクチャ抽出 • コンポーネント分割・マイクロサービス設計支援 出典:Generative AI for Requirements Engineering: A Systematic Literature Review Software Architecture Meets LLMs: A Systematic Literature Review
  8. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 14 AI駆動開発の使われ方(実装・コンポーネントテスト工程) コーディングエージェントの登場によって、設計、実装、コンポーネントテスト、 一部の統合テストはAI駆動に置き換わりつつある コード生成・補完

    コードの説明 言語変換、 リファクタリング エラーチェック、 デバッグ コード検索 • 関数やコードブロックの自動生成、補完 • リポジトリ内を検索 • 依存関係の理解や関連コードの探索 • 処理内容を自然言語で説明 • 言語変換 • リファクタリング、修正の提案 • バグ検出、修正の提案 • テストコードやテストケース作成 Huynh, N., & Lin, B. (2025). Large Language Models for Code Generation: A Comprehensive Survey of Challenges, Techniques, Evaluation, and Applications. arXiv preprint arXiv:2503.01245.
  9. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 15 各産業分野でのAI駆動開発の推進状況 Web、SaaS系 組み込み系 エンタープライズ、業務系

    新技術を適用しやすい規模、開発プロセスの相性もあり 最もトライアルが進んでいる。Claude Code、Devin などを利用し、プログラマーがコードを書かない期間を 設けるなど、人力との置き換えも加速 車載向け組み込みソフトウェア開発においては、テスト コードの自動生成など、取り組みが遅れていたプロセス への適用が加速。トレーサビリティ確保の効率化、 SBOM対応などにも生成AI技術を活用 大手エンタープライズ企業を筆頭に、開発プロセスの主 に上流工程、要件定義(派生開発における差分、エッジ ケースの抽出など)、基本設計などの工程に生成AIを活 用。業務知識の形式知化などに貢献
  10. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 22 AI駆動開発の課題 AI駆動開発は大幅な生産性向上をもたらす一方で、プロセス面、AIの出力の 品質面において課題があることが知られている •

    生産性向上、開発サイクルの短縮 • 単純作業の自動化 運用の難しさ • 組織の開発プロセスの変更が必要 出力の品質 • 脆弱性のあるコードの出力 • 再現性のなさ • 成果物同士の一貫性の欠如 • 人間の指示に反した出力 利点 課題
  11. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 23 AI駆動開発の課題ー運用の難しさ AI駆動開発はチームのスループットの向上、コード品質の向上、個人レベルで の生産性の向上に貢献する一方、デリバリーの不安定性を増加させているとの 報告がある1

    開発スピードの向上に対し、管理プロセスがAI駆動開発に適応していないた めであると考えられている スループット コード品質 生産性 デリバリーの 不安定さ 1 Google Cloud. 2025 DORA State of AI-assisted Software Development Report. https://cloud.google.com/resources/content/2025-dora-ai-assisted-software-development-report.
  12. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 24 AI駆動開発の種類 種類 特徴 チャットスニペット

    自然言語で指示 → コード断片を即生成 コパイロット型 (ペアプログラミング支援) GitHub Copilot のように、IDEに組み込まれて リアルタイムに補完・提案してくれる方式 VibeCoding AIと対話しながら、実装の方向性やスタイルを模索 していく「対話型プロトタイピング」 仕様駆動開発(Specification- driven Development) 自然言語の要件や仕様からコード・テスト・ドキュメ ントを自動生成 自律型エージェント開発 AIがタスクを分解 → 設計 → 実装 → テストを自律 的に繰り返す 既存の開発プロセス のまま、個人の 生産性向上 開発プロセスの 再定義 主要なAI駆動開発は、個人の生産性向上に寄与するものと、開発プロセスの再 定義を伴うものに大別できる
  13. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 25 AI駆動開発の課題ーコーディングエージェントの出力の品質 AIはWeb上の多くの安全でないコードを学習しているため、コーディングエー ジェントの出力には次のようなリスクがあるといわれている 脆弱性

    保守性 バイアス • LLMは人間の開発者に比べて脆弱なコードを生成する傾向 (Islam et al., 2024; Tihanyi et al., 2024) • メモリ安全違反やSQLインジェクションなどの脆弱性が含まれていた (Huynh et al., 2025; Sharma et al., 2025) • GPT-4が生成したコードの38.92%にジェンダーバイアスが含まれて いた(Huynh et al., 2025) • ChatGPTが生成した4,066本のプログラムのうち、1,930本のコード が保守性の問題を抱えていた(Liu et al., 2024)
  14. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 26 最近のモデルでの研究(コード生成タスク) • Sonarレポートでは、各モデルのコード生成タスクのパフォーマンス比較を 行っている

    • どのモデルも動くが汚いコードを書く傾向にあり、保守性に課題 出典:Sonar. (October 2025). The Coding Personalities of Leading LLMs – A State of Code Report. https://www.sonarsource.com/the-coding- personalities-of-leading-llms.pdf.
  15. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 27 AI駆動開発のセキュリティリスク • コーディングエージェントはプロンプトインジェクション1の対象に成り得る •

    AIは検索したWebサイトやリポジトリの中にプロンプトインジェクションが仕込まれてい ても、正常なコードとの見分けが付かない • 悪意のあるプロンプトに従って、パッケージのインストールや最適化などのタスクの中で 悪意のあるコマンドを実行してしまったり、深刻な脆弱性をシステムに埋め込んでしまっ たりすることがあり得る • 人間はAIを過信してしまいがちである • 人間はコーディングエージェントの提案をうのみにしがちで、プロンプトインジェクション を成功させてしまう 1 AIに対して悪意のある指示を与え、意図しない動作を引き起こさせる攻撃手法。攻撃者は、AIが本来従うべきルールや制約を無視させるよう な指示をプロンプト内に仕込み、機密情報などを盗み取ろうとする
  16. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 29 AI駆動開発の品質保証の概要 • AI駆動開発においては、AIに正しく指示を与えることと、AIが指示を守っているか確認す ることが重要

    • この2点を担保することがAI駆動開発の品質保証の活動になる 要件定義 システム テスト 開発ルール 作成指示 レビュー/ 承認/評価 AIによる 出力 人 AI AI駆動開発(設計~統合テスト) 過去のプロ ジェクト資産 変更要件 派生開発 新規開発
  17. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 30 AI駆動開発の品質保証①:AIに正しく指示を与える • 作業プロセスや出力に対するルール、仕様など開発のためのインプット情報 をリポジトリ内に配置し、毎回参照させる

    • 指示は具体的に与える 開発はTDDで行ってください。 import pytest from main import sum_even_numbers def test_sum_even_numbers_basic(): assert sum_even_numbers([1, 2, 3, 4, 5]) == 6 … Aという機能をTDDで開発したいです。 まず仕様を理解してください。 仕様に基づいて、最初に失敗するテストコードを書いてください。 先ほどのテストをパスする最小限の実装を生成してください。 全てのテストが通った後、コードのリファクタリング案を 提案してください。 ?
  18. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 31 開発ルールに記載する内容の例 • 多くのコーディングエージェントで、AGENTS.mdなどと呼ばれるユーザーのカスタ ム指示を追加できる

    • このカスタム指示にプロジェクトのコンテキスト、開発プロセスやタスク指示を書いて おくことで、AIの出力の品質を一定程度保つことができる プロジェクトの コンテキスト タスク遂行ルール コーディング& レビュー規範 CI/CDとの一貫性 • プロジェクトのコンテキスト、言語・フレームワーク・依存関係・ビルド方法 • 要件や仕様、過去プロジェクトの情報 • 人間の介入するポイントの明示 • ログ出力のタイミングと内容を明示(ex.変更内容の説明を求める) • コーディング規約、命名規則 • 出力をレビューする、テストコードを作成する、冪等性を保つ等のルールを明示 • PRフォーマットなど詳細ルールの明示 • CICDなど、外部のサービスで実装されている開発プロセスの説明
  19. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 35 (参考)AI駆動開発をうまく進めるためのTips ツールベンダーや開発者コミュニティが推奨するAI駆動開発の進め方 タスクを分割して、指示が明確になるようにします。 ◼

    タスクを適切な粒度に分割する カスタム指示を追加すると、AIがプロジェクトを理解し、 タスクを適切に遂行できる可能性が高まります。 ◼ リポジトリにカスタム指示を追加する プロジェクトの依存関係を事前に設定しておくと、 処理速度や信頼性の低下を防ぐことができます。 ◼ 依存関係のセットアップを事前に行う 指示が曖昧で断片的だと出力が意図通りにならないた め、ハイレベルアーキテクチャを予め設計しておくことが推 奨されています。 ◼ ハイレベルアーキテクチャは人間が設計する 最初から正しいものが出てくることは期待できません。 指示の最適化やコード修正を行う必要があります。 ◼ 修正を繰り返して改善する 人間が制御できなくなったらいつでもBranchごと処分 できるように開発Branchを作成し、その上で開発を行う ことが推奨されています。 ◼ 開発Branchを作成し、その上で開発を行う
  20. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 36 (参考)ポチョムキン理解:AIは指示を理解しているわけではない • Mancoridisら(2025)によれば、LLMはしばしば見かけの理解(ポチョム キン理解)を示す

    • 定義を尋ねると正確に回答できるが、実践させると説明通りにできない • LLMは概念の解釈そのものを誤ることがあり、人間の場合の「概念を理解している=説 明可能である」ということと異なっている • 実験に使用したモデルは現在では若干古いものの、全てのモデルでポチョムキン理解が 見られたと報告している • AIへ指示したとしても、正しく解釈され実行されるとは限らないことに注意 が必要 Mancoridis, M., Weeks, B., Vafa, K., & Mullainathan, S. (2025). Potemkin Understanding in Large Language Models. arXiv preprint arXiv:2506.21521.
  21. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 37 (参考)報酬ハッキング:AIはズルをする AIは報酬を最大化するよう行動を選択するので、指示通りに目的を達成する よりも報酬を得るための抜け道を探してしまうことがある •

    コンポーネントテストを作成する際に、テストがパスするようにプロダクトコードが変更さ れてしまった • 静的解析ツールの警告を消すために、意味のない処理が追加されてしまった 信頼性の低下 メンテナンス性の低下 セキュリティリスクの上昇
  22. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 38 AI駆動開発の品質保証②:指示が守られていることを確認する • AIによるコード出力を評価 •

    SAST、 DASTなどのセキュリティテストツールにかける • コンポーネントテストを実施する • コードメトリクスを評価する • 人によるレビュー これらのプロセスはCI/CDなどに実装し、品質を高めるプロセスの一環として強制できる • システムテスト • AI駆動開発特有のリスク観点を盛り込んだテストを行うことで、システム全体の品質を 担保する
  23. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 39 (参考)SASTとDAST • SAST(静的アプリケーションセキュリティテスト) ソースやバイトコードを実行せずに解析し、危険

    API 呼び出しや未初期化変数、信頼できな い入力のデータフローを検出する手法。CI 初期段階で SonarQube や CodeQL を自動 実行し、組織独自ルールを含むポリシーでゲートを設定する。違反コードはプルリクをブロッ クし、開発者へ具体的修正指示を即時フィードバックする。依存ライブラリの CVE 監視も統 合し、静的解析の結果を LLM へ渡して自動修正サイクルを回すことでゼロデイに近い脆弱 性候補も早期に封じ込め可能。 • DAST(動的アプリケーションセキュリティテスト) 稼働中のシステムを外部からブラックボックス的に攻撃し、実行時に顕在化する脆弱性を検 出する手法。ステージング環境に OWASP ZAP や RESTler を投入し、認証情報を自動 取得してクローラが全エンドポイントを走査、SQLi や XSS など多様なペイロードを注入す る。応答コード、エラー文、レスポンスタイムの異常を解析し、リスクを優先度付きでレポート 化する。
  24. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 40 (参考)コードメトリクス コードの構造や複雑さを定量的に測定する指標。ソフトウェアの品質を評価す る指標として使われることがある メトリクス名

    メトリクスの意味 主に評価できる観点 LOC(行数) ソースコードの行数(規模の指標) 規模、 保守性 循環的複雑度 制御フロー上の分岐の数を数値化したもの(複雑さ) 複雑性、 テスト容易性 凝集度 モジュール・クラス内部の責務のまとまり具合 モジュール性(凝集)、 保守性 結合度 モジュール間の依存の強さ モジュール性(結合)、 変更影響 テストカバレッジ テスト実行で網羅されたコードの割合 網羅性、 テスト有効性 クローンコード率 システム全体のソースコード行数のうち、クローンコー ド(同一または類似したコード片)が占める割合 保守性、信頼性
  25. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 41 QA4AIDDの実践例:AI出力の確認方法 各開発工程で実施する主な活動は以下の通り。これらの活動を通し、望ましい AIの出力が得られるよう指示を継続的に改善する コンポーネントテスト

    コード生成 コードレビュー • 静的解析ツールによるコーディングルールの違反、潜在的なバグ、脆弱性の検出 • コードの保守性や可読性に対する指摘 • テスト駆動開発のプラクティスを導入する • コンポーネントテストがない場合は、作成してからAI駆動開発を導入することを推奨 • 脆弱性、保守性、可用性などのコードメトリクスを取得し、品質状況をスコア化する • AIに渡した観点に沿ったレビューができているか、AIエージェントの軌跡を確認する • 人が見るべきところを決めてレビューする システムテスト • 機能が仕様通りであるかの確認の他に、AI駆動開発特有の弱点であるセキュリ ティ、信頼性、保守性の観点を盛り込んだテストを行う • プロンプトに例外ケースを列挙し、モデルに反例を探させる 要件定義・設計
  26. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 43 社内ツール開発でのAI駆動開発の取り組み 社内ツール開発においてAI駆動開発を導入する取り組みを行っている 1. Codex

    CLI × IDEでの実装支援 • 開発メンバー全員にAPIキーを発行し、Codex CLIを活用した開発を実施 • AIコーディングエージェント活用のミートアップを実施 2. Codex CLI × GitHub Actionsの連携 • GitHub PR提出時に自動レビューを行う • GitHub Issueを自動実装しPRを提出する 43
  27. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 44 Codex CLI × IDEでの実装支援

    • 総じて良好なフィードバック • 作業効率は向上、慣れるとより加速 • VS Codeと統合し扱いやすいUX • 擬似的にGUIで扱えるプラグインあり • アーキテクチャ解析やリファクタリング の実施にも活用できる • 課題 • 複雑なタスクではスタック/ループ化傾向 • Windows由来の不具合 • 定量的な効果測定はこれから 44
  28. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 45 Codex CLI × GitHub

    Actionsの連携 45 • GitHubのPRを出したときにAIによるレ ビューが走るようGitHubActionsを設 定。問題があればRejectできる • Docker上でLLMが動作確認できるよう に環境を整備
  29. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 46 QA4AIDDの取り組み • まずコンポーネントテストを整備した •

    AIでコードが高頻度に変更される状態では、コードの変更後に自動テストが流れる環境 を整備することが必要 • AGENTS.mdの書き方や実際のコーディングの様子を見せてもらった • 改善できるポイントの洗い出しを実施 • メトリクスの可視化を進めた • 開発プロセスが改善されることにより、Four Keysなどのプロジェクトメトリクスの改 善が期待される
  30. ©︎2025 VeriServe Corp. CONFIDENTIAL 会社名・製品名・サ−ビス名は各社の登録商標、または商標です 48 まとめ:AI駆動開発になると、何が変わる? • AIの出力はセキュリティや保守性に課題があることを踏まえ、これらを静的 解析・レビュー・システムテストなどで多層にカバーしていく必要がある

    • AIの出力は膨大で人ではレビューしきれないため、外部ツールを適宜用いな がら、可視化していくことが一層重要 • 従来のソフトウェア開発の手法は活用できるものが多い • 静的解析、CI/CD、コードメトリクスなど