LuAITools.com
提交工具
🧮AI
繰り返しても二重に数えない

冪等性

同じ操作を1回やっても10回やっても結果が同じになる性質。エージェントのツール呼び出しを安全にリトライできる土台です。

冪等性って何?

エレベーターのボタンを10回押しても、反応するのは1回です。ネット通販で「支払う」を連打しても、理想的には1回しか引き落とされません。「何度やっても結果が同じ」というこの性質が、冪等性(Idempotency)です。

なぜエージェントに必要なのか

エージェントはリトライする
通信の乱れ、タイムアウト、エラー……エージェントは「もう一度」をよく求められます。リトライのたびに課金されたら大変です。
複数のエージェントが同じことをやりかねない
仕事を分担すると、2つのエージェントが同じ動作を同時に実行することがあります。冪等なら重複実行は無害です。

冪等と非冪等

冪等な操作
データの読み取り、確定した値を設定する(PUT)、特定リソースの削除——何度やっても変わりません。
非冪等な操作
「口座に100円足す」のような累積は、やるたびに変わります。冪等キーで保護が必要です。

冪等にするには

リクエストに一意のIDを付ける
クライアントが操作ごとに冪等キーを発行し、サーバーは「処理済み」を記録して重複を無視します。
「足す」より「設定する」
操作は「1を足す」ではなく「Xにする」と設計します。
データベースで守る
一意インデックスやトランザクションで、保存層から重複書き込みを防ぎます。

まとめ:冪等とは「繰り返しても、二重に数えない」ことです。

コメント