respec-spec-reconciler は何をしますか?
respec — AIコーディングエージェント向け仕様調整ツール。SPEC.mdを読み込み、verify-spec.shを実行し、すべての不変条件が満たされるまでループします。プロンプト駆動の完了に代わる手法です。
概要
respecは、AIエージェントが自律的に仕様準拠のコードを生成するための仕組みを提供します。通常のプロンプト駆動開発では、エージェントが一度の応答でコードを生成し、その後は手動で修正が必要になることがよくあります。respecは、仕様ファイルと検証スクリプトを用いて、エージェントが自ら問題を検出し修正するループを実現します。
動作の流れ
- 仕様の読み込み: エージェントがプロジェクトの
SPEC.mdファイルを読み込み、実装すべき要件を理解します。 - 検証の実行:
verify-spec.shスクリプトが実行され、現在のコードが仕様を満たしているかチェックします。 - フィードバックループ: 検証が失敗した場合、エージェントはエラー出力を解析し、コードを修正して再度検証を実行します。
- 完了条件: すべての不変条件がパスするまで、ステップ2と3を繰り返します。
利用シーン
- ユニットテストや統合テストが仕様として定義されているプロジェクト
- 厳密なAPI契約やデータ構造の不変条件が存在する開発
- AIエージェントによるコード生成の品質を保証したい場合
- プロンプトエンジニアリングに依存せず、再現可能な結果を得たい場合
対応プラットフォーム
- Claude Code
- Cursor
- Codex(GitHub Copilot CLI)
- その他のAIコーディングエージェント(カスタムスクリプト対応可能)
セットアップ
- プロジェクトルートに
SPEC.mdを作成し、仕様を記述します。 verify-spec.shを作成し、仕様を検証するスクリプトを実装します。- エージェントに
respecの指示を含めたプロンプトを与えます。
カスタマイズ
verify-spec.shは任意のスクリプト言語で記述可能です。終了コード0で成功、それ以外で失敗として扱います。環境変数や追加の引数を渡すことも可能です。
注意事項
- ループが無限に続くのを防ぐため、最大試行回数を設定することを推奨します(例:
MAX_RETRIES=5)。 - 検証スクリプトは冪等であることが望ましいです。
- 仕様は明確かつ検証可能である必要があります。