テック技報最新号へ →
AIコーディング

戻せない変更の PR は「戻せる PR」と「戻せない一歩だけの PR」に分けさせる

DB の列削除や API の破壊的変更のような「一方通行のドア」を含む PR を、エージェントに expand/contract(広げてから縮める)の2段に分割させるプロンプト。

@mattpocockuk · 2026-10-27
#ai-coding#プロンプト#pull-request#マイグレーション#feature-flag

どんな時に使う?

  • エージェントが作った PR に、マイグレーションやスキーマ変更、外部 API の互換性を切る変更が混ざっている
  • レビューで「これ、問題が出たら戻せる?」と聞かれて答えに詰まる

プロンプト(@mattpocockuk の「Prompt of the day」を日本語にしたもの)

text
この「一方通行のドア」を含む PR を2つに分けて:
1. すべてを実装するが、簡単に revert できる PR(双方向のドア)
2. その上に積む後続 PR で、実際に一方通行のドアを通る変更だけを行う
いわゆる expand/contract。必要ならフィーチャーフラグを使って。

分け方の例

  • 列の名前を変える: 1つ目で新しい列を足し、両方に書き込み、読み込みをフラグで切り替える。2つ目で古い列を消す
  • API のフィールドを廃止: 1つ目で新フィールドを足して利用側を移す。2つ目で古いフィールドを消す
  • 1つ目をデプロイして様子を見てから2つ目をマージする。2つ目だけが「戻せない」ので、そこに確認を集中できる

注意点

出典

X の元の投稿を開く