Почему агент может случайно перевести деньги два раза
Это одна из самых неприятных проблем автономных систем.
Представим, что агент вызывает:
charge_card(100)
Банк списывает деньги, но в этот момент пропадает интернет.
Агент не получает ответ:
Платёж успешно выполнен
После перезапуска агент думает:
«Похоже, операция не прошла».
И запускает её снова.
Итог: минус ещё $100.
Хотя первый платёж уже прошёл.
Поэтому простой retry опасен
Не каждую операцию можно безопасно повторять.
Например:
set_status("closed")
Можно вызвать повторно. Статус останется closed.
А вот эти операции могут создать новый побочный эффект при каждом повторе:
charge_card(100)
send_email()
create_order()
Повторный вызов может списать деньги ещё раз, отправить дубликат письма или создать второй заказ.
Как решить проблему?
Использовать:
уникальные ID операций;
idempotency keys, чтобы система распознавала повторные запросы;
дедупликацию, чтобы отсеивать дубликаты;
проверку текущего состояния операции;
правила повторных попыток с учётом типа операции.
Например, агент отправляет платёж с уникальным ключом payment_123. Если запрос придёт повторно с тем же ключом, платёжная система должна распознать его как уже известную операцию и не списывать деньги второй раз.
Почему это особенно важно для AI-агентов?
Потому что агент может работать часами. За это время может:
упасть сервер;
пропасть интернет;
перезапуститься процесс;
завершиться работа контейнера;
отключиться браузер;
остановиться фоновый воркер.
И после восстановления система должна понимать:
Что я собирался сделать?
Что реально произошло?
Получен ли результат?
Безопасно ли повторять операцию?
Главное правило: если агент не получил подтверждение, это ещё не значит, что операция не выполнена.
Это уже не проблема промпта. Это инженерия надёжных распределённых систем.
И все сейчас с умными еб**ми будут шилить какой этто гем, что при 30кк фдв это фри бабки, по факту выйдет фри перепихон в туалете, и ты будешь тем самым кто получит за щеку
Залетать или нет решайте сами, но вайб гавна с палкой в жопе
UPD Мне оссобено нравится про то что проекту надо держать лицо, какое нах** лицо у казино