Wat is een rate limit? Het maximum aantal aanvragen dat een API of model per periode toestaat. Waarom je automatisering daar rekening mee houdt.
Een rate limit is het maximum aantal aanvragen dat een API of AI-dienst per periode accepteert van één gebruiker of sleutel. Zit je daar overheen, dan worden extra aanvragen geweigerd totdat er weer ruimte is. EIGHTY8 bouwt elke automatisering met pauzes, opnieuw proberen en een wachtrij, zodat een limiet een vertraging wordt in plaats van een storing.
Een model dat iedereen tegelijk en onbeperkt mag aanroepen, bestaat niet. Aanbieders geven elke sleutel een verbruiksgrens mee: hoeveel aanvragen per periode, en soms ook hoeveel tekst er in totaal door mag. Dat is geen beperking die tegen je gericht is, maar de manier waarop zij hun capaciteit over alle klanten verdelen. Zonder zo'n grens zou één druk script de dienst voor iedereen stilleggen.
Over de grens gaan merk je aan een specifiek bericht: de aanvraag wordt geweigerd met de mededeling dat de limiet bereikt is, vaak met het advies het later opnieuw te proberen. Voor een mens die klikt is dat een klein ongemak. Voor een automatisering die in een lus duizend documenten verwerkt, is het een doorslaggevend ontwerppunt. Zonder maatregelen valt de hele run stil op precies het moment dat hij op gang is.
Daarom hoort bij elke automatisering die een externe dienst aanroept een drietal maatregelen: pauzes tussen aanvragen zodat je onder de limiet blijft, een wachtrij die werk vasthoudt en netjes opnieuw probeert bij een weigering, en een backoff-regel die bij herhaald weigeren de snelheid verlaagt in plaats van het tempo vast te houden. Zo wordt de limiet een verkeersregel en geen muur.
Een rate limit is een echte grens bij een werkstroom die duizenden documenten of aanvragen in korte tijd moet verwerken, of bij een toepassing die door veel gebruikers tegelijk wordt geraakt. Daar bepaalt de limiet niet alleen de snelheid maar ook de bouw: batchen, spreiden, of een tweede aanbieder erbij. Het is een ontwerp-invoer, geen bijzaak.
Voor een gemiddelde bedrijfsautomatisering (tienduizenden acties per maand, verspreid over de dag) is de limiet in de praktijk geen belemmering. Dan telt vooral de netheid van het ontwerp: opnieuw kunnen proberen, niet vastlopen op één weigering, en het verbruik zichtbaar hebben. En reken erop dat een limiet kan verschuiven: aanbieders stellen grenzen per plan bij, dus een toepassing die op de rand draait, vraagt om marges.
EIGHTY8 bouwt limieten als ontwerpeis in: elke automatisering die een externe dienst aanroept krijgt pauzes, een wachtrij en een verstandige poging-opnieuw-regel, plus zichtbaarheid op het verbruik. Bij een werkstroom die tegen een limiet aanloopt bespreken we de keuzes (spreiden, batchen of een ander plan) in plaats van te hopen dat het losloopt.
Dat de dienst jouw aanvragen tijdelijk stopt tot er weer ruimte is. Het is geen kapot systeem maar een vol parkeerterrein. De melding zegt meestal hoe lang je moet wachten. Voor een handmatige gebruiker is dat zelden relevant; voor een automatisering is het een signaal dat het ontwerp te hard draait of te stug opnieuw probeert. Een goede aanpak houdt de aanvragen onder de grens en vangt de weigering netjes op.
Meestal wel verhogen: aanbieders koppelen hogere grenzen aan duurdere plannen of aan een verzoek met motivering. Uitschakelen bestaat vrijwel nooit. Er is altijd ergens een grens, ook bij de hoogste plannen. Praktischer dan kopen is vaak ontwerpen: spreiden over de dag, minder tokens per aanvraag en batch-verwerking halen meer op dan een hogere grens die je vervolgens weer volloopt.
Ja, zowel in hoogte als in de manier waarop ze meetellen. De ene dienst telt aanvragen, de andere ook de hoeveelheid tekst of rekentijd. Daarom vergelijken we bij een keuze niet alleen prijs en kwaliteit maar ook de grenzen bij het verbruik dat jouw werkstroom verwacht. En een toepassing bouwen we zó dat een overstap of een tweede aanbieder erbij een instelling is, geen herbouw.
Op de structuur, niet op de logica. De taak blijft hetzelfde, maar er komt een wachtrij tussen die het tempo bepaalt, een regel die aanvragen bij weigering netjes herhaalt, en bij hoge druk een keuze voor batch of spreiding. Wie dat vanaf het begin inbouwt, merkt een limiet aan een langzamere doorlooptijd. Wie het naderhand moet toevoegen, levert eerst de storing in.
EIGHTY8