ワークフローで活用する(モデルレビュー編)
本ページでは、『Next Design のモデル情報』と『外部ファイルに定義したレビュー観点』を組み合わせ、AIエージェントによるモデルレビューと Excel への結果出力を自動化する方法を解説します。
本ページでは、ワークフロー、変数、ループ処理、ツール実行などの基本操作を理解していることを前提としています。
初めてワークフローを作成する場合は、先にワークフローで活用する(基本編)を確認してください。
今回のゴール
Next Design のモデルを観点別にレビューするワークフローの構築方法を学び、以下のことができる状態を目指します。
- Next Design モデルやレビュー観点など、複数の情報を組み合わせた繰り返し処理を作成できる
- Next Design のモデル情報と外部ファイルの情報を、AIエージェントへの入力として利用できる
- AIエージェントの出力を整形し、外部へ出力できる
処理の流れ
本ページでは、以下の流れで解説します。
- モデルレビューに必要なツールとAIエージェントの準備
- 複数のモデルとレビュー観点を組み合わせてレビューするワークフローの作成
- 作成したワークフローの実行とレビュー結果の確認
事前準備
本ページのチュートリアルを実施するには、以下の環境が必要です。
| ツール | バージョン |
|---|---|
| Agentiqs | 1.1 以降 |
| Next Design | 4.0.14.50616 以降 |
また、本チュートリアルでは、 「サンプルデータ 」の以下のファイルを使用します。
C:\agentiqsSampleData\tutorial\next-design-integration\workflow-model-review\input
- 組込みソフト開発.nproj:レビュー対象の Next Design プロジェクト
- reviewPointList.json:レビュー観点
本チュートリアルと同じ操作を行う場合は、あらかじめサンプルデータの 環境を構築してください。
1. 利用するツールと AIエージェントを準備する
ツールの作成
-
[ツール] -[新規作成] から、ワークフローで利用する以下のツールを追加します。
備考すでに対象のツールを作成している場合は、この手 順は不要です。
ツール 用途 File Access レビュー観点ファイルの読み込みに利用します。 Next Design AIエージェントで Next Design のモデル情報を取得するために利用します。 Next Design Functions ワークフローで Next Design を操作するために利用します。 Microsoft Excel レビュー指摘を Excel に出力する際に利用します。 -
File Access ツールのベースディレクトリにレビュー観点ファイルがあるフォルダを指定します。
サンプルデータを利用する場合は、C:\agentiqsSampleData\tutorialを指定してください。
AIエージェントの準備
-
[エージェント] - [新規作成]を実行し、エージェントギャラリーから『Next Design モデル編集』を選択します。
-
レビューエージェントの基本情報を設定します。

設定項目
設定項目 必須 設定内容 詳細説明 タイトル Next Designモデルレビューエージェント 後から判別できる、わかりやすい名前にしてください。 説明 Next Designの設計モデルを対象に、単一のレビュー観点だけで
記載不足・矛盾・不整合・不明確さを判定し、結果をJSON配列のみで返すレビュー専用エージェントです。システムプロンプト 〇 下記「システムプロンプトの設定内容」を記載してください。 レビューに必要な情報を設定 -
システムプロンプトの設定内容(テキスト欄右上の「□」をクリックしてコピーしてください。)
システムプロンプトを変更する場合出力項目のキー名を変更すると、後続のExcel出力処理も変更する必要があります。
プロンプトを修正する場合、合わせて後続のワークフローも修正してください。
あなたは設計書レビュー専用エージェントである。入力された「Next Designの設計モデルの内容」と「単一のレビュー観点」に対してレビューを実施し、結果をJSON配列のみで出力すること。【入力】- review_point: レビュー観点- target_model: レビュー対象のモデル情報【レビュー方針】- review_point のみを基準に判定し、それ以外の観点で指摘しない。- target_modelに記載された事実のみを根拠に判断し、推測しない。- 問題の有無は target_model内の記述に基づいて判定する。- 該当箇所が見当たらない場合も、その事実を根拠に結果を出力する。- 同一内容の重複指摘はしない。【出力ルール】- 出力はJSON配列のみとする。- 各要素は以下のキーを必ず含むこと。- "location"- "description"- "viewPoint"- "priority"- "status"- キー名は固定とし、値はすべて文字列とする。- JSON以外の文字は出力しない。【各項目】- "location": 指摘箇所を特定する情報として 、対象モデルのパス情報とフィールド名。パス情報は入力で渡されたモデル(target_model)からのパスとすること。IDなど人が見てもわからないものは記載しない。- 例:target_model = "目標車速演算"で、その配下の"目標車速設定/タップアップ"モデルの識別子フィールドに指摘がある場合、下記の出力となる。"モデル:目標車速演算/目標車速設定/タップアップフィールド:識別子"- "description": 指摘内容を記載する。何が不足・不整合・不明確かを明示する。指摘はですます調で統一し、読みやすいように改行をいれること。指摘がない場合は「<指摘なし> 確認済み・問題なし」とする。- "viewPoint": 入力のreview_pointのTitleを設定する。- "priority": "高" / "中" / "低" のいずれかのみ。- "status": 指摘ありは "Open"、指摘なしは "Closed"。【判定ルール】- review_point に照らして、記載不足、矛盾、不整合、不明確さ、不備が確認できる場合は指摘ありとする。- review_point に照らして問題が確認できない場合は"<指摘なし>"を出力する。- 判定に必要な情報が不足している場合は指摘ありとし、不足内容をdescriptionに具体的に記載する。【出力件数】- review_point に対して複数の独立した問題がある場合は複数件出力すること。- 問題が1件もない場合でも、"<指摘なし>"を1件出力すること。【禁止事項】- review_point 以外の観点での評価- 根拠 のない推測- 抽象的すぎる指摘- 同じ意味の重複指摘- キー不足、表記ゆれ、JSON以外の出力 -
2. ワークフローを作成する
本ワークフローは、以下の構成にすることで Next Designで選択したコンポーネント配下のソフトウェアユニットを、『AIエージェントがレビュー観点ごとにレビュー』し、『レビュー結果を整形してExcelに一覧を出力』します。
- 入力パラメータを設定する
- レビュー観点ファイルを読み込む
- レビュー対象のソフトウェアユニットを取得する
- Excel出力の準備を行う
- ソフトウェアユニットごとに、配下のモデル情報を取得する
- レビュー観点ごとにAIエージェントへレビューを依頼する
- レビュー結果を整形してExcelへ出力する
実運用で活用する場合は、対象プロジェクトのメタモデル構造やレビュー方法に合わせて『取得対象』、『レビュー観点』、『出力形式』を変更してください。
1. 入力パラメータを設定する
[ワークフロー設定] - [入出力パラメータ] - [入力パラメータ]を開き、レビュー観点ファイルのパスを入力パラメータとして追加してください。


パラメータの設定項目
| 設定項目 | 設定値 | 説明 |
|---|---|---|
| 変数名 | reviewPointsFilePath | 後から判別できる、わかりやすい名前にしてください。 |
| 説明 | レビュー観点ファイルのパスを保持します。 | 変数の用途が分かるように設定してください。 |
| デフォルト値 | ※のパス | 入力しておくことで、ワークフロー実行時に毎回入力する手間を省けます。 |
※C:\agentiqsSampleData\tutorial\next-design-integration\workflow-model-review\input\reviewPointList.json
2. レビュー観点ファイルを読み込む
"ツール実行"をドラッグ&ドロップで配置し、プロパティを設定してください。

プロパティの設定項目
指定されたレビュー観点ファイルを読み込みます。
| プロパティ | 必須 | 設定項目 | 詳細説明 |
|---|---|---|---|
| タイトル | レビュー観点ファイルの読み込み | 後から判別できる、わかりやすい名前にしてください。 | |
| 説明 | 指定されたレビュー観点ファイルを読み込みます。 | ステップで実施する内容です。 | |
| ツール名 | 〇 | File Access | レビュー観点ファイルを読み込むためのツールです。 |
| 関数名 | 〇 | ReadFile | テキストファイルを読み込みます。 |
| path | 〇 | {{reviewPointsFilePath}} | 入力パラメータで指定した観点ファイルのパスです。 |
| 結果格納先 | 〇 | reviewPoints | 読み込んだ観点ファイルの内容を格納します。 |
3. レビュー対象のソフトウェアユニットを取得する
-
選択中のコンポーネントモデルIDを取得します。
"ツール実行"をドラッグ&ドロップで配置し、プロパティを設定してください。
プロパティの設定項目
ナビゲータで現在選択されている、レビュー対象のコンポーネントモデルのIDを取得します。
プロパティ 必須 設定項目 詳細説明 タイトル 対象コンポーネントモデルID取得 後から判別できる、わかりやすい名前にしてください。 説明 ナビゲータで現在選択されているレビュー対象の
コンポーネントモデルIDを取得します。ステップで実施する内容です。 ツール名 〇 Next Design FunctionsNext Designのモデル情報を取得するためのツールです。 関数名 〇 GetNavigatorSelectedModelId選択中モデルのIDを取得します。 結果格納先 〇 componentModelIdコンポーネントモデルIDを格納します。 -
配下のソフトウェアユニットを取得します。
"ツ ール実行"をドラッグ&ドロップで配置し、プロパティを設定してください。
プロパティの設定項目
選択中のコンポーネントモデルIDを起点に、レビュー対象となるソフトウェアユニットを取得します。
プロパティ 必須 設定項目 詳細説明 タイトル ソフトウェアユニット一覧の取得 後から判別できる、わかりやすい名前にしてください。 説明 選択中のコンポーネントモデル配下の
ソフトウェアユニットを取得します。ステップで実施する内容です。 ツール名 〇 Next Design FunctionsNext Designのモデル情報を取得するためのツールです。 関数名 〇 GetChildren子要素を取得します。 parentId 〇 {{componentModelId}}選択中のコンポーネントモデルIDを指定します。 fieldName 〇 SoftwareUnitソフトウェアユニット配下の要素を取得します。 結果格納先 〇 unitModels取得したユニット一覧を格納します。
4. Excel出力の準備を行う
-
出力用変数を初期化します。
"変数設定"をドラッグ&ドロップで配置し、プロパティを設定してください。
プロパティの設定項目
Excelへの出力行とレビュー結果の通し番号を初期化します。
プロパティ 必須 設定項目 詳細説明 タイトル Excel出力用の変数を初期化 後から判別できる、わかりやすい名前にしてください。 説明 Excelへ の出力行とレビュー結果の通し番号を
初期化します。ステップで実施する内容です。 設定方法 〇 Overwrite現在値を上書きします。 変数名 〇 excelRowCursorExcelへ出力する現在行です。 値 〇 2ヘッダ行の次の行から出力を開始します。 変数名 〇 issueCountレビュー結果の通し番号です。 値 〇 0レビュー結果の通し番号の初期値です。 -
Excelシートを追加します。
"ツール実行"をドラッグ&ドロップで配置し、プロパティを設定してください。
プロパティの設定項目
レビュー指摘を出力するシートを追加します。
プロパティ 必須 設定項目 詳細説明 タイトル レビュー指摘シートの追加 後から判別できる、わかりやすい名前にしてください。 説明 「レビュー指摘」シートを追加します。
既にシートが存在する場合は何も行いません。ステップで実施する内容です。 ツール名 〇 Microsoft ExcelExcelを操作するためのツールです。 関数名 〇 AddSheetシートを追加します。 sheetName 〇 レビュー指摘 追加するシート名です。 結果格納先 result実行結果を格納します。 成功判定格納先 〇 isSuccess成功可否を格納します。 -
ヘッダ行を出力します。
"ツール実行"をドラッグ&ドロップで配置し、プロパティを設定してください。
プロパティの設定項目
レビュー指摘シートの1行目に一覧のヘッダを出力します。
プロパティ 必須 設定項目 詳細説明 タイトル Excelのヘッダ行出力 後から判別できる、わかりやすい名前にしてください。 説明 レビュー指摘シートの1行目に一覧のヘッダを出力します。 ステップで実施する内容です。 ツール名 〇 Microsoft ExcelExcelへ書き込みます。 関数名 〇 SetCellValues指定セルへ値を書き込みます。 rangeAddress 〇 レビュー指摘!A1:F1ヘッダ行の出力先です。 values 〇 [["ID","該当箇所","指摘内容","観点","優先度","ステータス"]]1行目に出力するヘッダです。 wrapText true必要に応じて折り返し表示を設定します。 applyBorders true表として見やすくするため罫線を設定します。
5. ソフトウェアユニットごとに、配下のモデル情報を取得する
-
ユニットモデルごとのループ処理を設定します。
"ループ処理"をドラッグ&ドロップで配置し、プロパティを設定してください。
プロパティの設定項目
レビュー対象のユニットモデルを1件ずつ取り出して後続処理に渡します。
プロパティ 必須 設定項目 詳細説明 タイトル ユニットモデルごとのループ処理 後から判別でき る、わかりやすい名前にしてください。 説明 レビュー対象のユニットモデルを1件ずつ取り出して後続処理に渡します。 ステップで実施する内容です。 反復対象 〇 {{unitModels}}レビュー対象のユニット一覧です。 アイテム変数 〇 unit現在処理中のユニットを格納します。 最大実行回数 3 ループの上限数を設定することができます。対象件数に応じて設定してください。
ここでは、デバッグ用に3を設定します。 -
ユニット配下の全要素取得を設定します。
"ツール実行"をドラッグ&ドロップで"ユニットモデルごとのループ処理"内に配置し、プロパティを設定してください。
プロパティの設定項目
レビュー対象ユニットの全子孫モデルを取得します。
プロパティ 必須 設定項目 詳細説明 タイトル ユニット配下の全要素取得 後から判別できる、わかりやすい名前にしてください。 説明 レビュー対象ユニットの全子孫モデルを取得します。 ステップで実施する内容です。 ツール名 〇 Next Design FunctionsNext Designのモデル情報を取得するためのツールです。 関数名 〇 GetAllChildren対象配下の全要素を取得します。 parentId 〇 {{unit.Id}}現在処理中のユニットIDを指定します。 結果格納先 〇 unitElements取得した全要素を格納します。