次回の更新記事:MetaのLLM『Muse Spark 1.1』評価報告を読み解く。コ…(公開予定日:2026年07月13日)
AIDBは、AI活用のノウハウ獲得や技術動向の調査のために、個人やチームが論文を探す・読む・活かす作業をサポートするプラットフォームです。なお、記事や投稿は人の手で書いています。

要件変更の影響はどこまで広がる?LLMで影響範囲を特定する手法の検証

2025.11.06
深堀り解説

本記事では、要件変更の影響範囲をLLMで特定する手法を紹介します。
システム開発では、途中で仕様変更が入るのは珍しくありませんが、その影響がどこにまで及ぶのかを見極めるのは難しく、手間もかかります。そこでLLMを活用して、要件変更が他のどの要件に影響するかを自動で分析する試みが注目されています。

背景

ソフトウェア開発では、プロジェクトの途中で「仕様を変えたい」という要望がよく出ます。理由は、顧客の新しいニーズや市場の変化、技術的な問題などさまざまです。こうした変更は避けられませんが、1つの変更が他にどんな影響を与えるかを把握するのは簡単ではありません。

今は経験あるエンジニアが手作業で分析していますが、要件が増えるとミスや見落としが起きやすく、時間もかかります。見落としがあると、後で大きな修正が必要になることもあります。

そこでLLMに期待が寄せられます。LLMは、表現が違っても本質的なつながりを読み取ることができます。より正確な影響分析が可能になるかもしれません。

要件変更は日常的にあり、影響を早く正確に把握できるかがプロジェクトの成功に関わります。以下では、LLMを使ってこの課題にどう挑むかを探っています。

忙しい人向けに、重要なポイント5選

  1. ソフトウェア開発で避けられない「要件変更」の影響を、LLMを使って自動的に分析する手法が提案された
  2. プロンプト設計・改良・フィルタリングの3段階処理で、見落としを減らしつつ誤検知も抑える仕組みを実現
  3. 5つのLLMで320通りの実験を行った結果、LLaMAが最も安定して高性能だった
  4. 全要件の2〜8%を確認するだけで、影響を受ける要件の93〜96%を特定
  5. 既存手法と比べて、精度で最大61ポイント、効率で最大36ポイント上回る性能を達成

参照文献情報

  • タイトル:LLM-Driven Cost-Effective Requirements Change Impact Analysis
  • URL:https://doi.org/10.48550/arXiv.2511.00262
  • 著者:Romina Etezadi, Sallam Abualhaija, Chetan Arora, Lionel Briand
  • 所属:University of Ottawa, University of Luxembourg, Monash University, Lero, University of Limerick

プロンプト・改良・フィルタリングの3段階で影響分析

プロンプト(指示の工夫)、改良、フィルタリング(絞り込み)の3つを組み合わせた分析方法が使用されました。

64種類のプロンプトで最適な指示方法を探索

LLMは、指示の仕方によって出力結果が大きく変わります。そこで研究チームは、プロンプト(指示文)を体系的に作るためにテンプレートを使いました。

要素説明
Role(役割)LLMにどの立場で答えてほしいか指定する「あなたは要件エンジニアです」
Instruction(指示)LLMに具体的に何をしてほしいか伝える「この変更で影響を受ける要件を教えてください」
Context(文脈)タスクの背景や制約条件を与える「変更影響分析の目的、対象となる要件の分野など」
Examples(例)具体例を示す(今回は使用しない)「(今回は例なし — LLMの自力を確認)」

面白いのは、これらの要素をどう組み合わせるかによって、LLMの出力が変わる点です。研究チームは、各要素に複数のバリエーションを用意しました。
たとえばInstructionでは、「直接的・間接的な影響も考慮してください」と指示するかどうか、「キーワードの類義語や関連語も考えてください」と伝えるかどうか、などの選択肢を試しました。
Contextでは、「変更影響分析とは何か」「変更要求にはどんな種類があるか」「対象の要件はどの分野か」といった情報を加えるかどうかを変えて実験しました。

こうした組み合わせをすべて計算すると、プロンプトの種類は64通りになります。

プロンプトの種類が64通りになるロジック

さらに、使うLLMは5種類(GPT-4o、DeepSeek、LLaMA、Mistral、Gemini)あるため、合計320通りの実験を行いました。モデルの話は後述します。

この大規模な検証を通じて、どのモデルとプロンプトの組み合わせが最も安定して良い結果を出すかを調べました。

また、プロンプトを使うときは、すべての要件をまとめてLLMに渡す方法を採用しました。これは「キャッシュ拡張生成」と呼ばれる手法で、1つずつ要件を処理するより効率的です。LLMはすべての要件を一度に見て、変更の影響を受けそうなものを選び出します。

2回実行で見落としを削減

LLMはとても高性能ですが、万能ではありません。たくさんの項目があるリストの中から必要なものを見つけるとき、真ん中にある項目を見落としやすいという弱点があります。これは「lost-in-the-middle(真ん中で迷子)」という現象として知られています。

そこで今回は、「Refinement(改良)」というステップを取り入れます。
最初の実行で選ばれなかった要件だけを集めて、もう一度LLMに見せるという方法です。
人間でも、見逃したものを後から見直すと気づくことがあるように、同じような考え方です。

例をあげて説明します。最初にLLMが「別の要求仕様A, B, Cが影響を受ける」と判断したとします。このとき選ばれなかった要求仕様だけをもう一度LLMに見せます。すると、今度は「DとEも影響を受ける」と判断してくれることがあります。最終的には、両方の結果を合わせて「A, B, C, D, Eが影響を受ける」とまとめます。

このステップは、要件の数が多いときほど効果を発揮します。最初に見落とされた要件を拾い上げることで、より漏れの少ない分析ができるようになります。

フィルタリングで誤検知を削減

改良ステップで見落としは減りましたが、今度は別の問題が出てきます。実際には影響を受けていないのに、「影響あり」と間違って判断されるケース(誤検知)が増えてしまうのです。このままだと、エンジニアが関係のない要件まで確認することになり、余計な手間が増えてしまいます。

そこで最後に「Filtering(フィルタリング)」というステップを加えます。これは2つの処理から成り立っています。

ステップ処理内容具体例 / 備考
ランキングLLMに「影響あり」と判断した要件を、影響の強さ順に並べ替えてもらう。選定理由を見直して順位を付け直す。一度出した答えを再考させ、判断の精度を上げる。
選別モデルで「変更要求の説明」と「各要件の内容+選定理由」を比較し、論理的に導けるかを判定する。例:「太郎はサラダを食べている」→「太郎は食事をしている」は導けるが、「太郎は野菜が好き」は導けない。

下記のように「変更要求の説明」と「各要件の内容+その理由」を渡して、本当に影響があるかをもう一度チェックします。ただし、その結果をすべて信じるわけではなく、ランキングと組み合わせて判断します。

プロンプト例

You are an analyst in the field of requirements engineering. I will provide a
change rationale, its corresponding impact set, and justification for selection.
Rank the requirements in the impact set according to the strength of their
relationship to the change rationale, based on the content of the requirement
texts and the provided justifications for their selection.
Output format: Sorted_List: <req_ids>
Change Rationale: <change_rationale_text>
Impacted Requirements: <req_ids>
Justification: <text>

日本語訳

あなたは要求工学の分野のアナリストです。
私は変更の根拠(Change Rationale)、それに対応する影響セット、および選定の正当化を提示します。
影響セット内の要件を、要件テキストの内容とそれらが選定された理由に基づいて、変更の根拠との関係の強さに従ってランク付けしてください。
出力形式: Sorted_List: <req_ids>
変更の根拠: <change_rationale_text>
影響を受ける要件: <req_ids>
選定の正当化: <text>

影響ありの要件が5件以下ならすべて残し、それより多い場合は、たとえ「影響なし」と判断されても、ランキングの上位半分に入っていれば残す、というルールにします。これは、ランキング上位の要件ほど影響の可能性が高いと考えられるためです。

下の図はここまで説明した手法全体の流れを図示したものです。

手法の流れ概観

2データセットで実験し既存手法と比較

規模と複雑さが異なる2つのデータセットで検証

実験では、2種類のデータセットが使われました。

1つ目は「WASP」という公開データセットです。これは、モバイルサービスプラットフォームに関する要件をまとめたもので、全部で72件の要件と5件の変更要求が含まれています。そのうち、変更によって影響を受ける要件は全体の31%を占めています。

2つ目は「SAT-DLink」という新しく作られたデータセットです。こちらは、衛星データリンク管理システムの要件をまとめたもので、192件の要件と11件の変更要求が含まれています。ただし、影響を受ける要件の割合は全体の18%と、WASPに比べて少なくなっています。

この2つのデータセットには違いがあります。WASPはデータの規模が比較的小さく、影響を受ける要件の割合が高めです。これに対してSAT-DLinkは要件の数が多く、影響を受ける割合が低いため、どの要件が影響を受けるのかを特定するのがより難しくなっています。

既存の3手法と性能を比較

性能を確認するために、3つの既存の手法と比較が行われました。

手法概要備考
NARCIA要件の文章構造を解析し、ルール(条件)に基づき伝播を判定する手法。条件は人が設定する必要があり、完全自動ではない。
CoT(Chain-of-Thought)意味的に近い要件をまず絞り込み、その後LLMで1件ずつ影響を判定する二段階手法。トレーサビリティ技術を応用。逐一判定するため手間がかかる。
セマンティック類似度LLMの埋め込みで変更要求と要件の意味的近さを数値化し、閾値以上を「影響あり」とする。カットオフの決め方を3通り試す(固定値/差の大きさ/最大差)。

検証対象のモデル

LLMによって得意なことや学習の仕方、調整の方法が異なります。こうした違いが、要件工学のタスクでどれだけ役立つかに影響してきます。

また、1つのモデルにだけ頼るのはあまり良いやり方とは言えません。なぜなら、LLMは次々と新しいものが登場するため、すぐに古くなってしまうからです。そうなると、分析結果の信頼性や他のケースへの応用可能性が落ちてしまうかもしれません。

そこでこの研究では、複数のLLMを使って比較することで、モデルに依存した偏りを減らし、いろんな種類のLLMで似た結果が出るかを確かめることにしました。

選ばれたのは、以下の5つのモデルです。

モデルバージョンパラメータ数最大入力長(コンテキスト)公開/非公開
GPT4oGPT4-omni不明4K トークン非公開
Deepseekdeepseek-R1671B1M トークン公開
LLaMAllama3-405B405B128K トークン公開
Mistralmistral-large-latest123B128K トークン公開
Geminigemini-2.0-flash-lite不明1M トークン非公開

5つの観点で段階的に性能を検証

実験では、5つの研究課題(Research Question、RQ)を立てて検証が行われました。

RQ内容目的/評価指標
RQ1どのLLMが最も安定した性能を示すかを調べる64種のプロンプト × 2データセットで実験し、結果のばらつき(安定性)を比較
RQ2プロンプトのどの要素が性能に影響するかを分析役割・指示・文脈などを入れたり外したりして、重要な要素を特定
RQ3モデルとプロンプトの最適な組み合わせを特定データセットを問わず安定して良い結果を出す組み合わせを見つける
RQ4改良(Refinement)とフィルタリングの効果を検証これらのステップを加えたときの性能向上量を測定
RQ5ProReFiCIA全体を既存手法と比較見落としの少なさと確認すべき要件の少なさの両面で評価

GPT-4oとLLaMAが最も安定した性能

64種類のプロンプトを5つのモデルに試した結果、GPT-4oとLLaMAが特に安定して良い性能を出しました。

性能の安定性は、「F2スコア」という指標を使って評価しました。F2スコアは、「見落としが少ないか(リコール)」を重視しつつ、「誤検知の多さ(精度)」もあわせて考えるバランスのよい指標です。影響分析では、見落としが大きな問題になるため、リコールを重視したF2スコアが適しています。

結果を箱ひげ図で見ると、LLaMAは箱が一番狭く、プロンプトが変わっても結果にあまりブレがありませんでした。GPT-4oも次いで安定していました。一方、DeepSeek、Mistral、Geminiは箱が広く、プロンプトによって性能に大きな差がありました。

とくにLLaMAは、極端に悪い結果(外れ値)が1つも出なかったことも特徴です。これは、どんなプロンプトでも一定レベルの性能を保てることを意味します。GPT-4oは全体的には良い結果ですが、いくつか外れ値があり、プロンプト次第で大きく性能が下がる可能性がありました。

2つのプロンプト要素を除去すると性能向上

次に、プロンプトのどの要素が重要かを調べるため、勾配ブースティングという機械学習の技術が使われました。これは、どの要素が結果に大きく影響するかを数値で示してくれる手法です。
分析の結果、いくつかの要素が一貫した影響を示しました。

最も影響が大きかったのは、「常識的知識も考慮してください」という指示でした。意外なことに、この指示を加えると性能が下がりました。おそらく、LLMが混乱して余計な推論をしてしまうためと考えられます。

また、「対象要件の分野を伝える」という文脈情報も、加えると性能が下がる傾向がありました。これも同様に、不要な情報がノイズになっている可能性があります。

一方、GPT-4oでは、

「変更影響分析とは何かを説明する」や「変更要求とは何かを説明する」といった文脈情報を加えると性能が向上しました。

タスクの背景を説明することで、より適切な判断ができるようになるようです。

LLaMAでは、指示の詳細度よりも、適切な文脈情報を与えることが重要でした。不要な指示を削り、必要な文脈だけを残すことで性能が上がりました。

この分析に基づき、「常識的知識を求める指示」と「対象要件の分野を伝える文脈」を除いた16種類のプロンプトに絞り込まれました。

最適な組み合わせも判明

「どのデータセットでも安定して良い結果を出せること」が重視され、最も幅広く使える(汎用性の高い)組み合わせが選ばれました。

分析の結果、LLaMAモデルと下記プロンプト要素の組み合わせが良いと分かりました。

  • 「役割の指定」
  • 「基本的な指示」
  • 「変更影響分析とは何かの説明」
  • 「変更要求とは何かの説明」

この組み合わせは、SAT-DLinkデータセットで最高の性能を記録し、WASPデータセットでも上位5位以内に入る良い成績を出しました。つまり、高い性能と安定性の両方を兼ね備えていると言えます。

改良とフィルタリングで精度が向上

評価には、影響要件をどれだけ見つけたか(リコール)と、エンジニアが確認すべき要件の割合(コスト)の2つの指標を使いました。

WASPデータセットでは、改良前でリコール93.3%、コスト9.0%。改良ステップを加えるとリコールは変わらず、コストは13.6%に増加。さらにフィルタリングを加えるとリコールを保ったままコストが8.6%に下がり、最終的に0.4ポイントの削減となりました。

SAT-DLinkでは、改良前のリコール83.3%、コスト1.8%。改良ステップでリコールは96.7%まで向上し、コストは3.9%に増加。これは6件の見落としが拾えたため。フィルタリングを加えると、リコール95.8%、コスト2.1%となり、少ない確認数で高い精度が得られました。

データセットによって効果に差が出たのは、SAT-DLinkの方が要件数が多く、真ん中の要件が見落とされやすかったため。WASPは要件数が少なく、最初の時点で十分な結果が出ていました。

また、すべての要件をまとめて処理する方法と1件ずつ処理する方法も比較しました。1件ずつではWASPでコスト96.4%、SAT-DLinkで10.4%と確認対象が大幅に増加。まとめて処理する方式の効率の良さが確認されました。

既存手法を大きく上回る性能を達成

最後に、3つの既存手法と比較しました。

WASPデータセットでは、NARCIAはリコール97.8%と高い数値でしたが、コストは22.2%と高めでした。ProReFiCIAはリコール93.3%でやや低いものの、コストは8.6%と大幅に抑えられていました。さらに、NARCIAは手動で条件を設定する必要がありますが、ProReFiCIAはすべて自動で動作します。

CoTの成績は、リコール64.5%、コスト10.8%。ProReFiCIAはリコールで29ポイント、コストでも2ポイント高い結果を出しました。

セマンティック類似度の3つの方式はいずれも結果が振るいませんでした。固定値で区切る方法(ST1)はリコール100%でしたが、コストも100%で、全ての要件を確認する必要がありました。最大の差で区切る方法(ST3)はコストが1.6%と低かったものの、リコールは0%で、影響要件を1つも見つけられませんでした。中間の方式(ST2)はリコール40%、コスト35.8%にとどまりました。

SAT-DLinkデータセットではさらに差が広がりました。ProReFiCIAはリコール95.8%、コスト2.1%を達成。これに対し、CoTはリコール35.1%、コスト8.1%、ST2はリコール66.8%、コスト38.1%でした。ProReFiCIAはリコールで最大61ポイント、コストで最大36ポイントの差をつけました。

要件数が多く、影響を受ける要件の割合が少ない複雑なデータセットでも、本手法は高い精度と効率を保てることが示されました。

まとめ

LLMを使って変更影響分析を行う手法の検証結果を紹介しました。

プロンプトの工夫に加え、「改良」と「フィルタリング」という2つの後処理を組み合わせることで、高い精度を実現しています。

実験では、WASPデータセットでは全体の8.5%の要件を確認するだけで93.3%の影響要件を特定でき、SAT-DLinkでは2.1%の確認で95.8%を特定できました。これは、既存の手法と比べても大きく優れた結果です。

重要だったのは、要件を1つずつ処理したり検索で絞り込んだりするよりも、すべての要件をまとめてLLMに渡す方が効果的だったことです。LLMの持つ文脈理解の力を最大限に活かし、見落としを拾う「改良ステップ」と、誤検知を減らす「フィルタリングステップ」を組み合わせることが成功のポイントでした。

記事検索

年/月/日
年/月/日

こちらもどうぞ