Agentul care își cântărește costul

Agentul AI din Lumeni Current (M8) are un singur scop economic: să lase mai mulți bani în comunitate decât consumă. De aceea nu trimite nimic la un model mare „ca să fie sigur”. Codul decide tot ce se poate decide din reguli. Jev, modelul de judecăți tipizate de la TypeSafe, face triajul pentru o fracțiune de ban. Claude intră numai când valoarea așteptată a deciziei depășește de câteva ori costul apelului. Omul aprobă orice efect financiar sau asupra echipamentelor (M8.5). Fiecare apel intră în registru ca orice alt cost.

Cinci niveluri de inteligență, în ordinea costului

Fiecare eveniment urcă pe scară doar cât are nevoie. Prețurile de listă: Jev 0,042 $ pe milion de tokeni de intrare, ieșirea gratuită; Claude Haiku 5.5 0,10 $ / 0,50 $; Claude Opus 5.5 4 $ / 20 $ pe milion de tokeni de intrare / ieșire. Lei la 4,5 lei pe dolar; ora de operator la 60 de lei.

CodReguli, calcule, șabloane0 leipe decizie

Praguri, optimizatorul HiGHS, alocarea pe interval, extrasul din registru, răspunsuri-șablon cu cifrele membrului. 4.704 verificări de plan pe zi nu ating niciun model.

JevJudecăți tipizate0,0001 leipe eveniment, 3–4 întrebări

„Ce vrea membrul?”, „se poate răspunde din registru?”, „e nevoie de om?”, cu probabilități calibrate. Triajul tuturor mesajelor, anomaliilor și diferențelor de contor.

Claude HaikuRăspunsuri simple0,002 leipe răspuns

Explică din date când șablonul nu ajunge, extrage câmpuri din facturi, pregătește rezumatul unui caz pentru operator.

Claude OpusAnaliză cu propunere0,30 leipe analiză

Diferențe de contor neexplicate, prognoze care o iau razna, documente citite greșit. Propune; nu execută.

OmDecizie cu efect6–15 leipe intervenție

Corecții în registru, bani de returnat, trecerea unui site în „activ”. Agentul vine cu cazul gata pregătit, ca omul să decidă în minute, nu în ore.

Costurile de mai sus sunt medii pe apel la dimensiunile de context din machetă (Jev ~500 tokeni, Haiku ~2.000, Opus ~4.000 de intrare și ~2.500 de ieșire cu gândire). Se recalculează din prețurile de la „La scară”.

O zi din viața agentului, pe Comunitatea Giroc

Evenimentele unei zile obișnuite, în ordinea în care sosesc. Pentru fiecare: ce a decis codul, ce a întrebat Jev și cu ce probabilități, pe ce nivel a urcat și cât a costat față de ce a economisit. Datele sunt demonstrative.

00:00

Ce nu ajunge niciodată la un model: cele 4.704 verificări de plan pe zi (96 de intervale × 49 de site-uri) rulează în optimizatorul HiGHS și în validatorul de pe gateway. Dacă le-am trimite la Claude Opus, ar costa singure circa 1.560 lei pe zi pentru o comunitate. Aceasta este prima regulă a agentului econom: nu pune un model unde ajunge o formulă.

Politica de rutare, pe miză și pe siguranța judecății

Jev răspunde cu probabilități, nu cu text. Codul le compară cu două praguri: un prag global de siguranță și un prag mai înalt cu cât consecința unei greșeli e mai scumpă. Pasul scump se face numai dacă valoarea așteptată este de cel puțin trei ori costul lui; altfel așteaptă lotul de noapte sau rămâne la șablon.

Judecata JevMiză mică: răspuns, notă, ticketMiză medie: explicație, propunere fără efectMiză mare: bani, registru, echipamente
sigură, p ≥ 0,85cod sau șablon cu cifrele din registru, 0 leiClaude Haiku, cu datele cazuluiClaude Opus pregătește propunerea; omul aprobă
moderată, 0,60–0,85Claude HaikuClaude Haiku; omul verifică prin sondajClaude Opus; omul aprobă
nesigură, p < 0,60Claude Haiku, marcat pentru verificareomul decide; Haiku pregătește rezumatulomul decide; Opus pregătește analiza
oricareNicio comandă către echipamente și nicio scriere în registru fără aprobare umană. Agentul propune; omul aprobă; totul intră în jurnalul de audit (M8.5).

Cererea către Jev pentru mesajul lui Popescu I. (forma reală a API-ului)

POST https://api.typesafe.ai/v1/systemone
Authorization: Bearer $TYPESAFE_API_KEY

{
  "model": "jev-latest",
  "state": {
    "mesaj": "De ce am plătit 112 lei în septembrie dacă am produs 410 kWh?",
    "membru": { "rol": "prosumator", "extras_septembrie": { "de_plata_lei": 111.91,
                 "dat_kwh": 188, "primit_kwh": 96, "retea_kwh": 143 } },
    "politica": "Agentul răspunde din registru; orice corecție se propune omului."
  },
  "questions": {
    "intentie": { "type": "choice", "instructions": "Ce vrea membrul din `mesaj`?",
      "criteria": { "explicatie_extras": "să înțeleagă o cifră din extras",
                    "corectie": "contestă o cifră și vrea modificare sau bani",
                    "echipament": "problemă cu invertorul, bateria sau gateway-ul",
                    "document": "cere un document sau un raport",
                    "altceva": "niciuna dintre cele de mai sus" } },
    "din_registru": { "type": "noul",
      "instructions": "Se poate răspunde complet din `membru.extras_septembrie`?" },
    "escaladare": { "type": "noul",
      "instructions": "Cere mesajul o decizie umană: bani de returnat, reclamație, ton ostil?" },
    "urgenta": { "type": "score", "instructions": "Cât de repede trebuie tratat?",
      "criteria": ["poate aștepta zile", "azi", "în ora curentă", "imediat: siguranță sau bani"] }
  }
}

// răspuns (scurtat)
{ "answers": { "intentie": { "choice": "explicatie_extras", "confidence": 0.93, ... },
               "din_registru": { "noul": 0.91 }, "escaladare": { "noul": 0.06 },
               "urgenta": { "score": 1.2, ... } },
  "usage": { "input_tokens": 410, "output_tokens": 18 } }   // 410 × 0,042 $/M = 0,00008 lei

Poarta economică, în codul agentului

def route_message(msg, member, ledger):
    a, cost = jev(state={"mesaj": msg, "membru": member, "politica": POLICY},
                  questions=MESSAGE_QUESTIONS)
    ledger.add("jev", cost_usd=cost, event=msg)

    intent, conf = a["intentie"]["choice"], a["intentie"]["confidence"]
    from_ledger   = a["din_registru"]["noul"]
    needs_human   = a["escaladare"]["noul"]

    # 1. Orice efect financiar sau reclamație: omul decide (M8.5).
    if needs_human >= 0.6 or intent == "corectie":
        brief, cost = claude("claude-haiku-5-5", SYSTEM_BRIEF, case_text(msg, member), effort="low")
        return ledger.to_human(brief, cost_usd=cost, minutes=10)

    # 2. Șablon din registru: 0 lei, când Jev e sigur și cifrele există.
    if intent == "explicatie_extras" and conf >= 0.85 and from_ledger >= 0.85:
        return ledger.auto(template_answer(intent, member), saved_minutes=6)

    # 3. Altfel, Haiku explică din date; dar numai dacă merită.
    expected_value = OPERATOR_RON_PER_HOUR * 6 / 60          # 6 minute de operator
    if expected_value < 3 * est_cost_ron("claude-haiku-5-5", tokens_in=2000, tokens_out=400):
        return ledger.defer(msg)                           # lotul de noapte
    text, cost = claude("claude-haiku-5-5", SYSTEM_ANSWER, case_text(msg, member), effort="low")
    return ledger.auto(text, cost_usd=cost, saved_minutes=6, review=(conf < 0.6))

Pragurile 0,60 și 0,85 vin din practica de rutare pe încredere: un prag global pentru incertitudine reală și unul mai înalt pentru acțiunile scumpe. Se calibrează pe datele comunității, nu se iau de bune.

Economia la scară: 10.000 de site-uri cer un agent zgârcit

Caietul cere platforma la 10.000 de site-uri fără reproiectare. Pe o zi a unei comunități diferența pare un fleac; pe 200 de comunități, un an, diferența plătește un inginer. Schimbă prețurile și numărul de comunități.

Pe 1 comunitatePe ziPe an
Agentul econom: cod + Jev + Claude când merităcost modele——
Totul prin Claude Opuscost modele, același flux de evenimente——
Timp de operator economisit de agentvaloare, la tariful de mai sus——
Verificările de plan, dacă ar trece prin Opusde aceea rămân în cod——

Numărătoarea de evenimente vine din ziua simulată mai sus (29 de evenimente pentru 49 de site-uri) și se scalează liniar cu numărul de comunități. Valoarea erorilor de decont evitate nu este inclusă în „pe an”, pentru că depinde de fiecare caz.

Implementarea de referință

Un singur fișier Python, fără cadru de agenți: Jev prin API-ul HTTP TypeSafe, Claude prin SDK-ul Anthropic, registru de costuri, poarta economică și aprobarea umană. Cheile stau pe server, niciodată în aplicația membrului.

Ce conține

  • Ledger: fiecare apel cu model, tokeni, cost în lei, minute de operator, valoare estimată; raport zilnic.
  • jev(): o cerere, mai multe întrebări în paralel, cost din usage.input_tokens.
  • claude(): Haiku la efort mic pentru răspunsuri, Opus pentru analize, cu răspuns de rezervă la refuz; cost din usage.
  • worth_it(): pasul scump rulează numai dacă valoarea așteptată ≥ 3 × cost; altfel amânare în lotul de noapte.
  • handle_message / handle_discrepancy / handle_invoice: cele trei fluxuri din ziua de mai sus, cu omul în buclă acolo unde cere M8.5.

Descarcă cost_aware_agent.py

Cum se rulează

# pe serverul platformei, nu în browser
pip install anthropic httpx
export TYPESAFE_API_KEY=...      # TypeSafe
export ANTHROPIC_API_KEY=...     # sau Claude prin Microsoft Foundry
python cost_aware_agent.py --demo   # rulează ziua simulată, scrie registrul

# ieșire (fragment)
07:05 mesaj      jev 410 tok  0,0001 lei  → șablon      +6 min
08:10 reconcil.  jev 640 tok  → opus 4.0k/2.5k  0,30 lei → om aprobă  +20 min, 9,80 lei evitați
...
TOTAL zi: cost modele 0,90 lei · operator 41 min · economisit 176 min · net +146 lei

Evaluarea agentului pe date reale (setul de întrebări ale membrilor, diferențele de contor din trecut) este sarcina lui Andy în faza 1: pragurile de mai sus devin cifre măsurate, nu presupuse.