Quan vaig començar a integrar models de llenguatge (LLM) als meus projectes, pensava que el repte més gran seria la qualitat de les respostes. Però la sorpresa va arribar amb la primera factura: un augment de 40 vegades sense cap alerta, sense errors, sense bucles infinits. Només un treball en segon pla que reenviava el mateix prompt una vegada i una altra perquè una política de reintents que vaig escriure mesos enrere va trobar un endpoint inestable. Aquella experiència em va ensenyar que el comptador de costos només existeix al costat del proveïdor, i quan te n'adones, els diners ja han volat. Després de setmanes construint un sistema de límit dur, he recollit set lliçons que tot equip que utilitzi APIs de LLM hauria de conèixer. I sí, a Q2BSTUDIO ajudem empreses a evitar aquestes fuites amb aplicacions a mida que integren IA de forma controlada.
1. Els panells de facturació són miralls retrovisorsCada proveïdor et diu quant has gastat hores després, quan el mal ja està fet. La mètrica útil no és retrospectiva sinó en temps real. La solució és posar el comptador just abans de la crida, al codi mateix. Així pots decidir si aquest request s'ha d'executar o no, basant-te en el pressupost actual. En els nostres desenvolupaments amb cloud AWS/Azure, implementem middleware que verifica el límit abans de qualsevol petició a l'API de LLM. Això evita sorpreses i permet escalar sense por.
2. La despesa total és un número inútilSaber que has gastat 120 euros avui no et diu res. El que importa és quina funcionalitat està consumint. Etiquetar cada crida amb un identificador de característica (per exemple, 'xat', 'resumidor', 'enriquiment') permet desglossar la despesa. La primera vegada que vam fer això en una aplicació real, vam descobrir que un treball d'enriquiment que havíem oblidat representava el 60% del cost. Aquesta visibilitat és el primer pas per optimitzar. A Q2BSTUDIO dissenyem panells de BI/Power BI que monitoritzen aquests desglossaments i alerten quan una característica es desvia.
3. Cada proveïdor reporta l'ús de manera diferent… i tots menteixen una micaOpenAI fa servir prompt_tokens i completion_tokens; Anthropic, input_tokens i output_tokens; Gemini ho niua a usageMetadata; Bedrock i Cohere tenen les seves pròpies estructures. Per si no n'hi hagués prou, els tokens de memòria cau es facturen a una altra tarifa i els tokens de raonament s'inclouen com a output encara que mai els vegis. Dos proveïdors discuteixen si aquests tokens de raonament compten dins del output o a part. Si no unifiques la lògica, infravalores el cost real, sobretot amb models de raonament. Per això als nostres projectes d'agents IA, normalitzem tots els reports d'ús abans d'alimentar els sistemes de cost.
4. El streaming amaga la factura fins al finalQuan fas servir stream: true, l'ús arriba (si arriba) només al darrer fragment. OpenAI requereix stream_options: { include_usage: true } per enviar-lo; Anthropic el reparteix entre message_start i message_delta, i si sumes en lloc de reemplaçar, dupliques. Gemini envia un usageMetadata acumulatiu on només el darrer valor és real. Ignorar el streaming és estar cec a les crides que realment fan les aplicacions modernes. Implementem una capa de middleware que captura aquests esdeveniments finals i actualitza el comptador de forma atòmica.
5. Un límit que revisa després de la crida no és un guardià, és un rebutL'enfocament ingenu: cridar, sumar al comptador, comparar. Sempre et passes per una crida. La concurrència ho empitjora: deu peticions paral·leles llegeixen el mateix comptador, totes passen, totes s'executen. La solució real és reservar abans: estimar el cost, reservar-lo atòmicament (per exemple amb un script Lua a Redis) abans de la crida, i després ajustar la diferència. Així, encara que tinguis múltiples workers, el pressupost es respecta globalment. A Q2BSTUDIO integrem aquest patró en aplicacions a mida per a clients que processen grans volums de peticions.
6. Les tempestes de reintents són la fuita que ningú instrumentaL'error més car que vaig trobar no van ser els prompts, sinó els reintents: backoff exponencial davant un 429 quan la petició en realitat estava funcionant, redrives de cues, lliurament almenys un cop que reexecuta treballs completats. Si no monitoritzes els errors consecutius per característica, no te n'adones fins que arriba la factura. Un límit dur converteix aquest mode de fallada de 'factura il·limitada' a 'error controlat que veus al matí'. En els nostres serveis de ciberseguretat, apliquem alertes primerenques davant patrons de reintents anòmals.
7. Límits i traces són dues cares de la mateixa monedaCom va dir un lector d'un article anterior: els límits de cost i les traces d'execució responen a la mateixa pregunta: 'què està fent el meu agent quan no miro?'. El límit és el fre; un esdeveniment de despesa per crida (característica, model, USD, total acumulat) enviat als logs que ja tens és el velocímetre. Necessites tots dos, perquè un fre sense velocímetre només vol dir que t'atures sense saber per què. A Q2BSTUDIO, combinem instrumentació amb dashboards a Power BI per donar visibilitat total.
En resum, les factures de LLM no exploten per errors catastròfics, sinó per petites fuites silencioses que s'acumulen. Etiqueta les teves crides, mesura abans de la petició i revisa què van fer els teus reintents ahir a la nit. I si vols una solució integral, a Q2BSTUDIO desenvolupem aplicacions a mida que integren IA, cloud AWS/Azure, ciberseguretat i BI perquè el teu pressupost no es converteixi en una sorpresa. El control està a les teves mans, no al panell del proveïdor.




