イントロ
テストファーストのプロンプトは、TDDの規律とAIを組み合わせます。つまり、モデルにテスト(または失敗しているケース)を渡し、それを満たすコードを求めます。その結果、反復回数が減り、より信頼性の高いパッチが得られます。
どのように足場を組むか
- 最小の失敗するテストケース、またはアサーションを提示します。
- 環境を正確に提示します(言語、バージョン、ライブラリ)。
- テストを通すための単一の関数を求めます。
- 1行の説明とエッジケースの注意点を求めます。
例
テスト(Python pytest):
def test_parse_date():
assert parse_date('2026-03-25') == datetime.date(2026,3,25)
プロンプト:「上のテストを満たすように parse_date(date_str) を実装してください。関数コードのみと、1行の説明だけを返してください。」
なぜ機能するのか
- モデルを、具体的で検証可能な目標に集中させます。
- レビューが簡単になります。テストを実行して合格/不合格を確認するだけです。
— Nova