生成AIによるソフトウェア開発
設計からテスト,マネジメントまでをすべて変革するLLM活用の実践体系
監:情報処理学会
編著:鷲崎 弘宜
他著:家村 康佑
出版社:オーム社
旧来の伝統的なシステム開発から、すこしでも早く、生成AIをつかって、AI駆動開発を用いた開発ができるようなるかが、SI'erや、ソフトハウスが生き残る方法である。
企業30年説という幻影の中、幾多の技術変革を潜り抜けてきたIT産業も、ついに生成AIという最大の黒船を迎えて、2026年で、4年目になる。(2022年に、OpenAIのChatGPTが発表されている)
製造工程の最大50%削減という破壊的な効果が...続きを読む あるAI駆動開発は、ソフトウェア開発そのものを変えようとしていて、生成AIのサブスク費用に余りある低減効果を、産業界にもたらしつつある。
優秀なSE/PGをたくさん抱えることが、IT企業の条件であったが、もはや、それは過去のものとなった。
SE/PGの業務領域が、生成AI・AI駆動の低減領域なのであり、今後人員の余剰感がでる。
その中で、生成AIをこなせる、顧客と業務要件を整理できる人材が、これから求められる人物像だ。
現在は、ウォータフォールなどで、システム企画、業務要件定義、システム要件定義、基本設計、詳細設計、製造、単体試験、結合試験、総合試験、運用試験(ユーザ受け入れ)という工程はまだ生きたままだ。その各工程で、どれだけ、生成AIをつかって生産性効率を図ることができるかが、AI駆動開発である。
この先、このやりかたも、AIによって変わってしまうかもしれない。
また、生成AIは、日進月歩であり、すこしでも油断していると、すぐ浦島状態となってしまう。
ITシステムの開発なり、保守なりに生成AIが有効なのがもう十分にわかっている。
次は、それをどこに適用すれば、採算がとれるのか、生産性を向上させられるのかだ。膨大な、そして細分化されたシステム開発のどこに生成AIが有効なのかを本書は語ってくれる。
対象は、ウォータフォール。でもアジャイルでもあってもやっていることは同じである。
用語、方法の、キャッチアップ
工程、対象業務、提供の可否、有効性、ツール 等を整理して、AI駆動に有効な領域をハイライトすること
地図を作ることが、本書を理解する早道かと思いました。
■用語・方法論 主だったもの
LLM:大規模言語モデル:テキストを理解し、テキストを生成する機能
プロンプト:LLMへ与える命令
RAG:検索拡張生成 関連する文書を検索して得られた情報をもとに質問への追加する機能
ハルシネーション:もっともらしいが事実でない回答
ペルソナパターン:仮想的な人物像
プロンプトパターン ペルソナパターン、テンプレートパターン、内省パターン、画像生成パターン、逆質問パターン
■工程 ChatGPT(C)
要求工学
・顧客要望を要求仕様書として詳細化 〇
・ユースケースの作成 〇
・要求仕様書のIEEE標準フォーマットへの変換 〇
・ユースケースの検証と具体化 〇
・ユースケースの改訂 〇
・UMLダイアグラムの作成 〇
・データ駆動型ペルソナの自動生成 〇
・要求間の矛盾の検出 〇
(工程横断)
・要求・設計・実装の一貫性チェック 〇
・要求の曖昧さ・不完全さの識別 〇
・品質特性の評価 〇
・AIエージェントによる要求工学プロセスの自動化 △
設計
・入出力の整理 〇
・設計書の読み込み 準備 生成AIに読み込みやすいように改訂する
・複雑な設計書の整理 準備 分割、順序など
・文書構造の提示 準備 既存ドキュメント群の構造をAIにあたえる
・類似文書検索によるRAG 〇
・文書のレビュー 指摘事項の抽出 〇
・あいまいさの定義と例示 〇
・設計書のドラフト生成 〇
・設計工程の具体的内容、手順の定義 〇
・基本設計書の執筆 〇
・設計書に挿入する図の生成 〇
実装
・コードの生成・補完 〇
・コード内のコメント生成 〇 コード要約、コード翻訳
・APIライブラリ利用方法の提示 〇
・コードからのドキュメント生成 〇
・コードレビュー 〇
・デバッグ支援 〇
・リファクタリング支援 〇
・テストケース・テストプログラムの生成 〇
・コードの自動生成 ⇒ ポストプロセス ⇒ 人間によるコードレビュー を入れる
・コード生成プロセスに、RAG,LLMの確認プロセスをフロー化
・サービスごとに得意な言語が紹介されています。
cf. GitHub Copilot JavaScript,Python,TypeScript,Go,Ruby,Java,C#,C+++
テスト
・テスト仕様書の生成 〇
・テストコードの生成 〇
・仕様把握・テスト目的の明確化 〇
・テスト観点、テスト条件の抽出 〇
・テストケースの定義
・テスト仕様書の最終レビューと整合性確認 〇
・テストコードの理解・要約 〇
・テストケースの網羅的列挙 〇
・テストコードの生成 〇
・テスト実行結果に基づく改善 〇
・カバレッジ測定結果に基づく改善 〇
・テストデータ生成 〇
■AIエージェントによる開発自動化手法
・MCP AIエージェントと外部サービスを連携させるための技術
・DevOps の機械学習化
・コマンド生成ノプロンプトテンプレート
・Kubernetes の障害分析 〇
・マルチエージェントシステムによるインフラシステムの障害分析の評価 〇
・プロセス改善 DMAICフレームワーク
■生成AIによるソフトウエア産業の将来
・ユーザ企業による内製化の進展
・受託開発の価値ベースプライス化
・ソフトウエア開発事業から、顧客パートナ事業への移行
目次
刊行にあたって
Chapter 1 生成AIの仕組み
1.1 生成AIと大規模言語モデル(LLM)
1.2 LLMの訓練と適合
1.3 文脈内学習
1.4 LLMの拡張
1.5 ソフトウェア開発・運用への応用におけるツールや工夫
1.6 ソフトウェア開発・運用への応用における留意点
1.7 ソフトウェアエンジニアリングと生成AI
Chapter 2 生成AIによるソフトウェアの要求
・AIエージェントによる
2.1 要求工学とは
2.2 要求工学の難しさ
2.3 生成AIによる要求工学プロセスの支援
2.4 プロンプトパターンの効果的活用
2.5 Nバージョン要求仕様化
2.6 データ駆動型ペルソナの自動生成
2.7 技術動向
2.8 今後の展望
Chapter 3 生成AIによるソフトウェアの設計
3.1 設計工程へのAI適用方針
3.2 設計書からの情報生成
3.3 設計書のドラフト生成
3.4 技術動向
3.5 今後の展望
Chapter 4 生成AIによるプログラムの実装
4.1 プログラミングの自動化
4.2 導入工程
4.3 さまざまなコード関連タスクの事例
4.4 実開発への応用
4.5 実践的なプロンプト設計
4.6 コード生成の実行と確認
4.7 LLMによるコード生成の未来像
Chapter 5 生成AIによるソフトウェアのテスト
5.1 テスト工程への生成AI適用の方針
5.2 テスト仕様書の生成
5.3 テストコード生成
5.4 テストデータ生成
5.5 応用的なテスト工程での活用方法
5.6 デバッグ
5.7 今後の展望
Chapter 6 AIエージェントによるソフトウェア開発の自動化
6.1 AIエージェント
6.2 AIエージェントを用いた開発自動化手法
6.3 AIエージェント活用のための基盤技術
6.4 マルチエージェントシステムを利用したインフラシステムの障害分析
6.5 技術動向
6.6 今後の展望
Chapter 7 生成AIの評価
7.1 LLM やそれを組み込んだ生成AIに対する評価
7.2 特定のユースケース・タスクに対する評価手法
7.3 ソフトウェア開発における生成AIの評価
7.4 評価における原則
7.5 今後の展望
Chapter 8 生成AIを活用したプロセスとマネジメント
8.1 生成AIが開発プロセスに与える影響
8.2 生成AIの導入効果を最大化する
8.3 生成AIの導入リスクを最小化する
8.4 今後の展望
Chapter 9 生成AIによるソフトウェア産業の将来
9.1 AIとソフトウェアエンジニアリング
9.2 ソフトウェア開発支援の段階的な進展
9.3 開発チームと要員の変化
9.4 現状の開発支援レベル
9.5 ソフトウェア開発ビジネスの将来展望
9.6 まとめ
参考文献
索引
ISBN:9784274234156
判型:A5
ページ数:304ページ
定価:3600円(本体)
2025年11月05日第1版第1刷発行
2025年12月20日第1版第2刷発行