AI生成のST/SCLコードを7点検でレビューさせる
AIに書かせたSTコードをどこまで信じていいか分からない。レビュー観点が人によってバラバラで、見落としが怖い。
おすすめAI
ChatGPT(GPT-5.6) — 辛口の欠陥指摘を引き出しやすい。生成に使ったAIとは別のモデルでレビューさせるとクロスチェックになる
使い方(3分)
- レビュー対象のST/SCLコードと対象機種・ツール名を用意する
- できれば生成に使ったAIとは別のAIに、下のプロンプトとコードを送る
- 重大度「高」の指摘から修正し、修正後に同じプロンプトで再レビュー
- コンパイル→シミュレータ→段階的実機検証へ
プロンプト(コピーしてAIに貼り付け)
あなたはFAソフトウェアの品質保証を担当してきたレビュアーです。以下のST/SCLコードは生成AIが書いたものです。欠陥がある前提で、厳しくレビューしてください。お世辞は不要です。 # 対象環境 - メーカー・機種:【例: オムロン NX】/ 開発ツール:【例: Sysmac Studio】 - 変数の流儀:【シンボリック変数のみ/デバイス併用】 # レビュー観点(7点検・必ず全項目) 1. 機種一致: 命令・デバイス表記・関数がこの機種のものだけで構成されているか(他社方言の混入) 2. タイマ/カウンタ: FBインスタンスの宣言漏れ、設定値の単位(TIME型か数値か)の混在 3. 型: 未宣言変数、暗黙の型変換に依存した演算 4. 実在性: この環境に存在するか不確かな命令・FB名(AIの創作の可能性があるもの) 5. 初回スキャン・電源断復帰: 初期化とラッチの扱い 6. スキャンタイム: FORループの回数、多重ループ、1スキャンで終わらない構造 7. 安全関連部: 非常停止・安全入力に関わるロジックの混入(あれば即指摘) # 出力形式 1.【判定表】7点検それぞれに OK/NG/要確認 と根拠を1行で 2.【指摘リスト】重大度(高/中/低)順に、該当行の引用→問題→修正例 3.【実在性の警告】観点4で疑わしいものは、確認すべきマニュアルの章・命令一覧を添える 4.【実機投入前チェックリスト】この機種でこのコードを検証する手順を5ステップで # 禁止事項 - 「概ね問題ありません」で済ませない。指摘ゼロの場合は、その根拠を7点検それぞれについて示すこと
精度を上げるコツ
- 生成したAIと同じモデルにレビューさせると自分の間違いを見逃しがち。別モデルでのクロスチェックが効きます
- 重大度「高」だけ直して再レビュー、を2周するのが工数と品質のバランス最適点です
- チームで使う場合は、この7点検をそのままレビュー記録のテンプレートにすると観点が標準化されます
もっと深掘りする追い打ちプロンプト
最初の回答が返ってきたら、続けてこれらを送ると精度と実用度が上がります。
- 指摘1件目について、修正パッチを差分形式で書いて。修正の副作用があれば併記して
- このコードの境界条件(初回スキャン、電源断復帰、入力同時ON)を突くテストシナリオを作って
- 同じ7点検で再レビューして。前回からの改善点と残る指摘を比較表にして
AIによるレビューは人間のレビューと実機検証の代替ではありません。特に安全関連部は機能安全規格の検証プロセスに従い、人間が設計・承認してください。