① AIに頼む前に
- 同時に触られるデータ・行・ファイル・外部サービスを書き出したか
- どこから・どれくらいの頻度で呼ばれるかをAIに伝えたか
- 「崩したくない条件」を1行で書けているか
- その処理が本当に並列である必要があるか、一度考えたか
② 返ってきたコードで
- 「確認してから書き込む」のあいだに、割り込まれる余地はないか
- 待ち合わせをまたいだ前後で、前提が変わっていないか
- 使い回してはいけないものを、複数の処理で共有していないか
- 並列数に上限があるか(全件を一斉に投げていないか)
- タイムアウトが設定されているか(待ち続ける経路が残っていないか)
- リトライされたとき、同じ処理が2回実行されても平気か
- 複数のロックを取る順番が、どの経路でもそろっているか
③ 出す前に
- 崩したくない条件を、DB側の制約でも守れないか検討したか
- 同時実行を再現するテストか、競合検出の仕組みを1つ入れたか
- 失敗したときに、どこまで進んだか分かるログが残るか
- 本番で異常が出たとき、いったん並列をやめて直列に戻せるか
この内容は記事「AIに非同期・並行処理を書かせる|競合とデッドロックの確認」のチェックリストです。印刷してそのままお使いいただけます。 / 無料ツール一覧へ