MakeHybrid
Запис на дзвінок
Українська

Ідемпотентність

Зробити те саме двічі й отримати один результат — властивість, що робить повтори й дублі нешкідливими.

Операція ідемпотентна, коли виконання її двічі лишає світ таким, яким його лишило виконання один раз. Видалити файл — ідемпотентно. Надіслати повідомлення — ні, і в цій асиметрії живе більшість помилок із дублями повідомлень.

Де вона справді потрібна

Як отримати її дешево

Ведіть таблицю ідентифікаторів, на які ви вже відреагували, і вставляйте в неї з обмеженням унікальності до того, як робити роботу. Якщо вставка не пройшла, хтось це вже опрацював. Ось і вся техніка; їй не потрібна бібліотека, і вона переживає перезапуск посередині, якого версія в пам'яті не переживає.

Вставляйте до, а не після. Вставка після лишає вікно між тим, щоб зробити справу, і тим, щоб записати, що ви її зробили, а падіння в цьому вікні — рівно той випадок, який таблиця мала закрити.

Що взяти за ідентифікатор

Те, як відправник називає подію, якщо він дає ім'я. Якщо не дає, зберіть ключ із полів, які роблять подію саме цією подією — обліковий запис, діалог і повідомлення, скажімо, — і візьміть хеш. Ключ, виведений із позначки часу, — не ключ: у повтору вона інша.

Ідемпотентність — не усунення дублів в інтерфейсі. На мить, коли дубль доходить до екрана, друге повідомлення вже надіслано. Перевірка живе на самому початку обробника, до того як щось піде назовні.

Часті запитання

Чи роблять ШІ-агенти дублікати ймовірнішими?

Можуть. ШІ-агент, якого попросили двічі, може надіслати двічі, а той, що повторює після тайм-ауту, може не знати, що перша спроба вдалася. Дайте йому правило в інструкціях — перечитати розмову, перш ніж надсилати знову, — і хай надсилання, як і раніше, схвалює людина.

Чи ідемпотентна кнопка «Застосувати в Google Ads» у проєктній кімнаті?

Пропозиція в кімнаті виконується один раз. Повторне натискання на неї нічого не змінює.

Зробіть так, щоб це працювало саме

Розкажіть, чим займається ваш бізнес, — і це стане вашою власною послугою та продуктом в одному: робота йде сама, під вашим іменем, на ваших акаунтах і з вашим ключем ШІ. Перші 30 днів безкоштовні, і нічого з цього не потребує розробника.

Почати пробний період