仕様・手順書の曖昧さを「複数回実装させて」検出する
LLM が書いた仕様や手順書を別の LLM に渡し、それ通りのプログラムを複数回生成させる。結果が一致しなければ、その箇所の仕様が曖昧。さらに進めるなら、正本を形式仕様にしてテストを生成させる。
どんな時に使う?
- 仕様駆動開発で、仕様書の質を実装前に確かめたい
- エージェントに渡す手順書(スキル・AGENTS.md)が人によって解釈が割れそう
手順
- 仕様書を用意(エージェントに書かせてもよい)
- 別のモデル(またはコンテキストを切った別セッション)で、同じ仕様から実装を3回ほど独立に生成
- 生成物を同じ入力で動かし、出力が食い違うケースを抽出
この3つの実装で出力が食い違う入力を探して、仕様書のどの記述が曖昧なせいか指摘して - 指摘箇所の仕様を直して再実行
- 発展形(@mizchi): 正本を自然言語でなく Lean などの形式仕様で書き、そこから可読ドキュメントとテストオラクルを生成。実装はそのテストを通すように書く
注意点
- 先行研究として ClarifyGPT がある(コード生成の一貫性で曖昧さを検出し、確認質問を出す)。
- 複数回の生成はトークンがかかる。重要な仕様だけに使う。