объясни rate-limit --простыми-словами

Лимит запросов
Рано или поздно твой AI вернется с 429 Too Many Requests, и покажется, будто ты сломал что-то дорогое. Не сломал. Ты просто постучал слишком быстро.
Помнишь окно выдачи для машин, API, через которое твой AI делает заказы? Лимит запросов — это когда из окна высовываются и говорят: "Один заказ раз в несколько секунд, приятель. Ты задерживаешь очередь."
Стойка с дегустацией в Costco. Человек, который раздает пробники, спокойно даст тебе один. Вернешься чуть позже — даст еще один. Но попробуй схватить целую горсть сразу, и тебя остановят: "один в руки, вернитесь через минуту". Ничего личного. Поднос должен достаться всем, кто проходит мимо, так что никто не может опустошить его один.
Это и есть лимит запросов: ограничение на то, сколько запросов ты можешь отправить сервису за заданное окно времени. Он есть у каждого API. Так приложение не дает одному слишком ретивому пользователю или одному зациклившемуся скрипту занять всю кухню и оставить остальных голодными.
Почему агенты постоянно в него упираются. Человек кликает несколько раз в минуту. Агент в цикле может за пару секунд отправить сотни запросов и даже не моргнуть. Забрать все заказы, потом всех клиентов, потом все товары — быстрее, чем смог бы любой человек. Окно поднимает руку, а 429 — это стандартный вежливый код для "притормози". Это не ошибка в твоей логике. Это ограничение скорости, в которое ты уперся, потому что едешь быстро.
Решение почти всегда — терпение, в одном из двух видов:
- Отступить и повторить. Подождать немного, потом спросить снова. Хорошие инструменты делают это автоматически: агент ставит паузу, продолжает, а ты почти не замечаешь.
- Умнее паковать запросы. Попросить 100 вещей одним заказом вместо 100 отдельных заказов. Один поход к окну лучше сотни.
И еще один угол, потому что он касается счета. Лимиты запросов обычно растут вместе с тарифом. Бесплатный тариф — маленький поднос с пробниками. Платные тарифы получают поднос побольше. Так что иногда "мы уперлись в rate limit" вообще не означает баг. Это значит, что вы выросли из тарифа, и исправление — галочка, а не код.
429 — не баг. Это стойка говорит тебе: один пробник за раз.