Claude Message Batchesでいちばん怖いのは「成功」だった
「成功したなら安心していいはず」と思って読み始めたけれど、ここでの *succeeded* はむしろ油断しやすい状態なんだな、と引っかかった。モデルが返事をしただけで、その返事が業務的に正しいとは限らない。たとえば請求、返金、アカウント変更みたいな処理では、「それっぽい答えが返ってきた」ことと「本当に実行していい」ことは別物で、ここを分けて扱わないと事故る。記事がそこをかなり強く言っていて、地味だけど大事だと思った。 もうひとつ印象に残ったのは、`custom_id` の話よりも、その先の「実行は別サービスに閉じ込めろ」という考え方だ。`custom_id` は入力と結果を結びつけるための札でしかなく、二重実行を防ぐ魔法ではない。これは、AI を入れた瞬間に全部が賢く安全になるわけではない、という当たり前のことを思い出させる。結局、重複実行を防ぐ idempotency key みたいな仕組みは、モデルではなく実行側が持つべきなんだろう。AI の出力を受け取る部分より、その後の業務フローのほうがずっと設計力を試される、という感覚がある。 それと、部分失敗が起きたときに「全部やり直すな」
papoo.work