Kako izgraditi knjigu troškova LLM-a po timu na više AI API-ja
Praktična arhitektura za raspodjelu potrošnje LLM-a prema timu, proizvodu, okruženju ili korisniku kroz više AI API-ja pomoću ključeva s opsegom, metapodataka zahtjeva, podataka o naplati pružatelja usluga i dnevnog usklađivanja.
Nadzorne ploče pružatelja mogu vam reći koliko je organizacija potrošila. Rijetko odgovaraju na pitanje koje timovi za financije i platforme zapravo trebaju: koji je tim, proizvod, okruženje, radno opterećenje ili segment korisnika uzrokovao potrošnju i je li ta potrošnja bila očekivana.
Izdržljivi uzorak nije još jedna nadzorna ploča. To je interna knjiga troškova: sustav evidencije koji kombinira metapodatke zahtjeva na strani aplikacije, ključeve s opsegom API, podatke o korištenju pružatelja usluga i ukupne iznose naplate prema fakturama. Glavna knjiga daje inženjerskim timovima operativnu vidljivost u gotovo stvarnom vremenu, dok financijama daje usklađeni prikaz koji može podržati proračune, raspodjelu i storniranje.
Ovaj članak izlaže praktičnu arhitekturu za timove koji koriste više od jedne umjetne inteligencije API, uključujući ugovor o označavanju, tijek zahtjeva, tablice, proces usklađivanja, kontrole i kompromise.
Problem: naplata davatelja usluga je točna, ali se ne može uvijek dodijeliti
Većina pružatelja AI izlaže neku kombinaciju nadzornih ploča upotrebe, API-ja upotrebe, izvoza naplate, projekata, radnih prostora, računa usluga ili API-ja troškova. Ovi su alati korisni, ali ne rade svi na istoj razini detalja.
Činjenice
- Neke krajnje točke troškova dobavljača dizajnirane su za financijsko izvješćivanje i mogu raščlaniti potrošnju prema stavkama fakture, projektima ili razdobljima naplate.
- Usage API-ji često pružaju operativne pojedinosti, ali zapisi o korištenju i zapisi o konačnim troškovima možda se neće savršeno uskladiti zbog popusta, kredita, odgođene naplate, cijena obveza, grupnih stopa, cijena predmemorije ili kompenzacija faktura.
- Nativne administrativne granice kao što su projekti, radni prostori, servisni računi, API ključevi ili IAM principali mogu pomoći pri dodjeljivanju potrošnje, ali točne mogućnosti razlikuju se ovisno o pružatelju.
- Za neke platforme, metapodaci po zahtjevu pojavljuju se u zapisnicima poziva umjesto u izvješćima o raspodjeli troškova. Timovi moraju agregirati zapisnike i primijeniti cijene za procjenu troškova na razini zahtjeva.
Preporuka
Tretirajte podatke pružatelja usluga kao ulaz, a ne cijeli sustav. Izgradite internu knjigu koja može odgovoriti na operativna i financijska pitanja, a zatim je svakodnevno usklađujte s izvorima troškova pružatelja usluga.
Arhitektura Ledgera
Knjiga troškova ima pet glavnih komponenti:
- Stabilna shema troškovnih dimenzija.
- Opsežne vjerodajnice i pravila usmjeravanja.
- Snimanje metapodataka na razini zahtjeva.
- Upotreba pružatelja usluga i prijenos troškova.
- Dnevno usklađivanje i provedba pravila.
Cilj je proizvesti dva povezana prikaza: procijenjenu knjigu po zahtjevu za operacije i usklađenu dnevnu knjigu za financije.
Ovo je uobičajeni sastavni element u široj AI API kontroli troškova jer povezuje inženjersku telemetriju s financijskom odgovornošću bez ovisnosti o modelu izvješćivanja jednog pružatelja usluga.
Korak 1: Definirajte dimenzije troškova prije izrade nadzornih ploča
Počnite s dimenzijama koje će dosljedno koristiti timovi za financije, inženjering, proizvode i sigurnost. Učinite to prije odabira grafikona ili pisanja poslova gutanja.
Praktična shema obično uključuje:
- team_id: vlasnički inženjerski ili poslovni tim.
- product_id: proizvod, područje značajke ili interna platforma koja koristi API.
- okruženje: proizvodnja, postavljanje, razvoj, sandbox, demo ili test.
- radno opterećenje: razgovor, sažimanje, izdvajanje, klasifikacija, generiranje koda, evaluacija, ugrađivanje, ponovno rangiranje ili skupna obrada.
- customer_segment: poslovni, srednji tržišni, besplatni probni, interni, partnerski ili drugi odobreni segmenti.
- budget_owner: osoba, tim ili troškovno mjesto odgovorno za potrošnju.
- provider: AI API provider koji se koristi za zahtjev.
- model: točan model ili identifikator implementacije.
- request_class: interaktivno, pozadinsko, grupno, ponovni pokušaj, zamjena, procjena ili administracija.
Neka shema bude dovoljno mala da je inženjeri mogu popuniti. Dodajte upravljanje kako biste spriječili pomicanje slobodnog teksta. Na primjer, team_id treba dolaziti iz internog registra tima, a ne iz proizvoljnih zaglavlja zahtjeva.
Detalji implementacije
Predstavite dimenzije kao verzionirani ugovor. Zahtjev koji nema potrebne proizvodne oznake ne bi trebao biti zatvoren na pristupniku ili bi trebao biti preusmjeren u jasno imenovanu karantensku kantu koja se svakodnevno pregledava.
{
"schema_version": "2025-01",
"team_id": "platform-ai",
"product_id": "support-assistant",
"environment": "production",
"workload": "summarization",
"customer_segment": "enterprise",
"budget_owner": "cost-center-4812",
"request_class": "interactive"
}
Korak 2: Izdavanje ključeva s opsegom prema timu i okruženju
Zajednički monolitni API ključevi čine raspodjelu troškova krhkom. Ako svaka usluga koristi istu vjerodajnicu, financije ne mogu pouzdano pripisati potrošnju, a platformski timovi ne mogu onemogućiti jedno radno opterećenje bez utjecaja na nepovezane sustave.
Upotrijebite vjerodajnice s opsegom gdje god je to moguće:
- Jedan ključ ili račun usluge po timu i okruženju.
- Odvojene vjerodajnice za proizvodna i neproizvodna radna opterećenja.
- Odvojene vjerodajnice za visokorizične eksperimente, procjene i skupne poslove.
- Nativni projekti ili radni prostori davatelja usluga kada se čisto mapiraju u interno vlasništvo.
To ne znači da svaka mikrousluga treba jedinstveni račun pružatelja usluga. Previše granica stvara operativne troškove. Korisna jedinica je granica gdje se razlikuju vlasništvo, proračun i operativni odgovor.
Sigurnosna napomena
API ključevi i sigurnosni tokeni ne smiju se slati u URL-ovima jer se URL-ovi obično bilježe u zapisnicima, proxyjima, alatima za analizu i povijesti preglednika. Stavite vjerodajnice u zaglavlja ili upravljana tajna spremišta, rotirajte ih kroz automatizirani proces i zabilježite ključne događaje životnog ciklusa za odgovor na incident.
Korak 3: Snimanje metapodataka zahtjeva na pristupnom ili aplikacijskom sloju
Glavna knjiga treba više od brojanja žetona. Treba dovoljno konteksta da objasni zašto je došlo do potrošnje i je li bila korisna.
Za svaki LLM poziv, uhvatite:
- ID internog zahtjeva i ID distribuiranog praćenja.
- ID zahtjeva davatelja kada se vrati.
- Dobavljač, model, regija i krajnja točka.
- Tim, proizvod, okruženje, radno opterećenje, segment korisnika i vlasnik proračuna.
- Ulazni tokeni, izlazni tokeni, predmemorirani tokeni, rezonantni tokeni, jedinice za ugrađivanje, slikovne jedinice ili druge naplative jedinice ako su dostupne.
- Kašnjenje, broj ponovnih pokušaja, povratni put, status isteka vremena i kôd pogreške.
- Predmemorija pogodak ili promašaj.
- Klasa zahtjeva: proizvodnja, procjena, ponovni pokušaj, serija ili eksperiment.
Središnji pristupnik ovo olakšava jer svaki poziv pružatelja usluga prolazi kroz jednu točku provedbe. Ako središnji pristupnik nije izvediv, upotrijebite dijeljenu biblioteku klijenta i zahtijevajte od usluga da emitiraju isti format događaja.
Ne bilježi sve prema zadanim postavkama
Promptni i izlazni sadržaj može pomoći u otklanjanju pogrešaka i reviziji, ali također stvara obaveze privatnosti, zadržavanja i kontrole pristupa. Za mnoge timove zadani bi trebali biti metapodaci, brojevi tokena, identifikatori modela i ID-ovi praćenja. Pohranjujte prompt i izlazni sadržaj samo prema izričitim pravilima s ograničenjima zadržavanja i kontrolama pristupa.
Korak 4: Održavanje dvije tablice troškova
Pokušaj da jedna tablica služi svakoj svrsi obično stvara zabunu. Izgradite dvije knjige s različitim poslovima.
Procijenjena knjiga po zahtjevu
Ova tablica podržava operacije gotovo u stvarnom vremenu. Zrnat je, brz i približan.
Korisni stupci uključuju:
request_idprovider_request_idtimestampteam_idproduct_idenvironmentworkloadprovidermodelbillable_unitsrate_card_versionestimated_cost_usdlatency_msstatus_coderetry_countfallback_usedcache_status
Procijenjeni trošak trebao bi se izračunati iz najboljih dostupnih podataka o naplativim jedinicama i internog cjenika s verzijama. Zadržite verziju cjenika u svakom redu kako bi se povijesne procjene mogle kasnije objasniti.
Dnevna knjiga usklađena s fakturama
Ova tablica podržava izvješćivanje o financijama. Manje je detaljan, sporiji i bliži realnosti konačne naplate.
Korisni stupci uključuju:
billing_dateproviderinvoice_accountproject_or_workspaceteam_idproduct_idenvironmentestimated_cost_usdprovider_reported_cost_usdallocated_adjustment_usdreconciled_cost_usdvariance_reason
Usklađena tablica trebala bi sačuvati varijancu umjesto da je skriva. Ako je trošak koji je prijavio pružatelj niži zbog kredita ili viši zbog osigurane propusnosti, izričito zabilježite tu razliku.
Korak 5: usklađujte dnevno, a ne ručno na kraju mjeseca
Dnevno usklađivanje smanjuje iznenađenja. Proces isprva može biti jednostavan:
- Kontinuirano unosite događaje u glavnoj knjizi na razini zahtjeva.
- Unos podataka o korištenju i troškovima pružatelja usluga prema rasporedu.
- Grupirajte interne procjene prema dobavljaču, projektu ili radnom prostoru, modelu, datumu i poznatim dimenzijama dodjele.
- Usporedite interne procjene s ukupnim troškovima koje je prijavio pružatelj usluga.
- Dodijelite razlike pomoću dokumentirane politike.
- Upišite razloge odstupanja i status usklađivanja.
Uobičajene kategorije odstupanja uključuju dogovorene popuste, kredite davatelja usluga, odgođenu evidenciju korištenja, cijene tokena u predmemoriji, grupne cijene, osiguranu propusnost, pretvorbu valuta, minimalne naknade i metapodatke koji nedostaju.
Primjer pravila usklađivanja
Ako se projekt pružatelja mapira na točno jedan tim i okruženje, dodijelite puni dnevni trošak koji je prijavio pružatelj tom timu i zabilježite internu procjenu kao popratni detalj. Ako projekt pružatelja usluga sadrži više timova, dodijelite ukupan iznos koji je prijavio pružatelj proporcionalno internoj procijenjenoj cijeni, a zatim zabilježite prilagodbu u svakom retku tima.
Ova politika nije savršena, ali je objašnjiva. Objašnjivost je važnija od lažne preciznosti.
Korak 6: Priložite proračune i kontrole dimenzijama glavne knjige
Kad se potrošnja pripiše, kontrole postaju korisnije. Jedno ograničenje za cijelu organizaciju previše je grubo za većinu timova.
Koristite različite kontrole za različita radna opterećenja:
- Sandbox: čvrsta dnevna ili tjedna ograničenja, automatsko isključivanje, nizak prag odobrenja.
- Razvoj: meka upozorenja plus skromna ograničenja.
- Procjena: skupni prozori, izričiti vlasnik proračuna, datum isteka.
- Produkcija: meka upozorenja, tijek rada eskalacije, put povećanja ograničenja u hitnim slučajevima.
- Partner ili klijent API upotreba: dodjela na razini korisnika, provedba kvota i nadzor zlouporabe.
Čvrsta ograničenja sprječavaju bježanje računa, ali mogu prekinuti tijek rada u proizvodnji. Koristite ih pažljivo u proizvodnji i uparite ih s pravilima eskalacije. Za neproizvodna radna opterećenja, čvrsta ograničenja obično je lakše opravdati.
Korak 7: Otkrijte anomalije izvan ukupne potrošnje
Ukupna dnevna potrošnja signal je zaostajanja. Bolja upozorenja koriste operativna polja glavne knjige.
Korisne provjere anomalija uključuju:
- Cijena po uspješnom zahtjevu prema radnom opterećenju.
- Omjer izlaznih tokena u usporedbi s povijesnom bazom.
- Stopa ponovnih pokušaja prema pružatelju, modelu i usluzi.
- Učestalost zamjene s jeftinijih na skuplje modele.
- Brzina potrošnje unutar trenutnog sata.
- Pad stope pogodaka predmemorije za radna opterećenja za koja se očekuje da će imati koristi od predmemoriranja.
- Neproizvodni trošak izvan radnog vremena.
- Zahtjevima nedostaju potrebne dimenzije troškova.
Upozorenje koje kaže da je potrošnja visoka manje je korisno od upozorenja koje kaže da zahtjevi za sažetak proizvodnje iz jedne usluge generiraju tri puta više od uobičajenih izlaznih tokena nakon implementacije.
Preporučeni redoslijed implementacije
Ne pokušavajte izgraditi potpunu arhitekturu u jednom izdanju. Praktični niz je:
- Definirajte shemu troškovnih dimenzija i registar vlasništva.
- Podijelite vjerodajnice pružatelja po timu i okruženju za radna opterećenja s najvećom potrošnjom.
- Dodaj pristupnik ili snimanje metapodataka biblioteke klijenta.
- Stvorite procijenjenu knjigu po zahtjevu.
- Dodajte cjenik s verzijama za pružatelje i modele koji se koriste.
- Unesite podatke o troškovima pružatelja usluga u tablicu dnevnog izvješćivanja.
- Implementirajte dnevno usklađivanje i praćenje varijance.
- Dodajte proračunska pravila, upozorenja i tijekove rada za odobravanje.
- Svaki tjedan pregledajte metapodatke koji nedostaju i nedodijeljenu potrošnju.
Prva korisna prekretnica nije savršen povrat. To je sposobnost da se odgovori, unutar jednog radnog dana, koji su tim i radno opterećenje uzrokovali materijalnu promjenu potrošnje.
Ustupci za eksplicitnu odluku
Nadzorne ploče pružatelja usluga u odnosu na internu knjigu: nadzorne ploče pružatelja usluga brže se usvajaju, ali se rijetko podudaraju s dimenzijama internih troškova u timovima, proizvodima, okruženjima i korisnicima.
Granularnost u odnosu na operativne troškove: više ključeva, projekata, radnih prostora i oznaka poboljšava atribuciju, ali povećava rad upravljanja. Koristite granice koje odgovaraju stvarnom vlasništvu.
Procijenjeni trošak u odnosu na trošak fakture: procjene na razini zahtjeva su pravovremene i korisne za operacije, ali ne odražavaju automatski kredite, dogovorene cijene ili prilagodbe naplate.
Središnji pristupnik u odnosu na distribuiranu instrumentaciju: pristupnik daje dosljednu provedbu među pružateljima usluga, ali postaje kritična infrastruktura. Zajedničku klijentsku biblioteku lakše je usvojiti u nekim okruženjima, ali ju je teže nametnuti.
Provjerljivost nasuprot privatnosti: bilježenje sadržaja može pomoći u istragama, ali bilježenje samo metapodataka često je sigurnija zadana postavka.
Predviđanje: knjige troškova postat će dio upravljanja AI platformom
Vjerojatan smjer je da će se izvorno izvješćivanje davatelja poboljšati, ali će dodjela između davatelja i dalje zahtijevati interni kontekst. Pružatelji usluga ne mogu znati strukturu tima svake tvrtke, taksonomiju proizvoda, segmentaciju kupaca, tijek rada odobrenja ili politiku storniranja.
Kako se upotreba umjetne inteligencije širi iz pilot projekata u proizvodne tijekove rada, knjige troškova postat će dio normalnog upravljanja platformom uz kontrolu pristupa, rotaciju ključeva, revizijsko bilježenje, ograničenja stopa i analitiku upotrebe. Timovi koji rano definiraju svoju taksonomiju troškova lakše će kasnije dodati proračune, raspodjelu na razini korisnika i automatizirane kontrole.
Zaključak koji se može poduzeti
Gradite knjigu oko odgovornosti, a ne grafikona. Započnite sa stabilnim dimenzijama, ograničenim vjerodajnicama i zatražite metapodatke. Održavajte brzu procjenu po zahtjevu za inženjerske operacije i usklađenu dnevnu knjigu za financije. Uskladite radije nego da prisiljavate procjene da izgledaju točne i očuvajte odstupanja tako da popusti, obveze, krediti i kašnjenja naplate ostanu vidljivi.
Korisna prva verzija može biti uska: jedan pružatelj, prva tri radna opterećenja, ključevi s opsegom po timu i okruženju, hvatanje metapodataka, procijenjeni troškovi i dnevna usporedba s ukupnim iznosima koje je prijavio pružatelj. Nakon što to uspije, proširite isti ugovor na više pružatelja usluga i priložite pravila proračuna dimenzijama koje su važne.