Sprievodca a prehľad

Smerovanie uvažovania a úsilia v bráne AI API: Ovládajte tokeny myslenia, latenciu a náklady medzi poskytovateľmi

Modely schopné uvažovania odhaľujú rôzne ovládacie prvky pre hĺbku myslenia, rozpočty tokenov, fakturáciu a latenciu. Snahu o uvažovanie považujte za riadenú politiku spustenia v bráne, nie ako voľné nastavenie modelu v každej aplikácii.

Hĺbka odôvodnenia už nie je jednoduchým modelom. Niektorí poskytovatelia vystavujú úrovne úsilia v štýle enum. Iní odhaľujú symbolické rozpočty, dynamické myslenie alebo modelové rodiny, kde myslenie nemožno úplne deaktivovať. Viditeľná odpoveď môže byť krátka, zatiaľ čo skryté uvažovanie spotrebuje fakturovateľné výstupné tokeny. Ak každý aplikačný tím nastavuje tieto ovládacie prvky priamo, náklady, latencia a kvalita sa ťažko vysvetľujú.

Praktická odpoveď je presunúť riadenie uvažovania a úsilia do brány API. Brána by mala klasifikovať pracovné zaťaženie, namapovať ho na kontrolu uvažovania špecifického pre poskytovateľa, presadzovať rozpočty nájomníkov, zaznamenávať skutočné využitie uvažovania a zviditeľniť rozhodnutia o znížení verzie v analytike. ID modelu, úroveň služieb, maximálny výkon a hĺbka uvažovania by mali byť samostatné dimenzie politiky.

Problém čitateľa: Za hlboké uvažovanie platia jednoduché požiadavky

Tímy, ktoré prijímajú modely schopné uvažovania, zvyčajne začínajú s rozumným cieľom: zlepšiť kvalitu náročných úloh. Problém sa objaví neskôr, keď sa rovnaké predvolené hodnoty znova použijú na extrakciu, krátke súhrny, formátovanie a klasifikáciu. Tieto požiadavky nevyžadujú drahé výpočty v testovacom čase, no môžu ich aj tak spustiť.

Tým vznikajú tri operačné zlyhania:

  • Neprehľadnosť nákladov: používateľ vidí krátku odpoveď, no účtovná kniha obsahuje skryté tokeny uvažovania alebo interaktívne ekvivalenty špecifické pre poskytovateľa.
  • Posun latencie:Posun latencie sa za rovnakými dôvodmi stáva pomalým pracovným tokom. alias.
  • Fragmentácia politiky: každý produktový tím sa učí iné parametre poskytovateľa a používa rôzne limity.

Zásady uvažovania na úrovni brány riešia problém kontroly skôr, ako sa z nej stane problém s fakturáciou.

Fakty: Ovládacie prvky zdôvodňovania poskytovateľa nie sú rovnocenné

Nasledujúce odporúčania nie sú dôvodom na implementáciu. Rozhrania API odhaľujú objekt uvažovania pre podporované modely vrátane hodnôt úsilia, ako sú none, minimálne, nízke, stredné, vysoké a xhigh. Menšie úsilie môže znížiť tokeny uvažovania a zlepšiť rýchlosť odozvy.

  • Dokumentácia OpenAI uvádza, že max_output_tokens môže obmedziť celkový počet generovaných tokenov vrátane logických a konečných výstupných tokenov.
  • Rozšírené antropické myslenie možno povoliť pomocou hodnoty budget_tokens. Tokeny myslenia sa účtujú ako výstupné tokeny a počítajú sa do max_tokens spolu s viditeľným textom odpovede.
  • Antropická dokumentácia tiež poznamenáva, že počet účtovaných výstupných tokenov sa nemusí zhodovať s počtom viditeľných tokenov odpovede, pretože interné tokeny myslenia možno účtovať, aj keď nie sú úplne viditeľné.
  • Dokumentácia myslenia Gemini uvádza, že samostatné polia oceňovania a myslenia môžu zahŕňať výstupy a výstupy myslenia na keken. tokeny.
  • Ovládacie prvky v štýle Gemini 2.5 zahŕňajú thinkingBudget s dynamickým myslením na podporovaných modeloch a deaktiváciou nulového rozpočtu pre niektoré rodiny modelov. Niektoré modely nedokážu zakázať myslenie.
  • Novšie pokyny pre Gemini odporúčajú hodnoty thinking_level, ako sú minimálne, nízke, stredné a vysoké pre modely v štýle Gemini 3.x namiesto nespracovaných numerických rozpočtov.
  • Jadrom je len to, že architektúra nie je implicitná. zmluvy. Nie sú dostatočne stabilné, dostatočne prenosné alebo dostatočne porovnateľné pre správu viacerých poskytovateľov.

    Odporúčanie: Vytvorte profily neutrálneho zdôvodnenia poskytovateľa

    Definujte malý interný slovník, ktorému produktové tímy porozumejú bez toho, aby ste čítali všetky referencie API poskytovateľa.Pre väčšinu brán stačí päť profilov:

    zabezpečenienáročné úsilie kontrola, plánovanie agenta
    Vnútorný profilÚčelTypické použitiePostoj politiky
    žiadnyZakázať alebo minimalizovať extrakciu tatting, skryté>Predvolené pre veľké objemy jednoduchých koncových bodov
    nízkeLehké zdôvodnenie miernej nejednoznačnostiKrátke odpovede podpory, jednoduché porovnania, úlohy prepisovaniaPovolené široko
    štandardVyvážené zdôvodnenie pre rutinnú prácu so znalosťamiPlánovanie, kontrola kódu, analýza politiky, dlhšia syntézaPredvolené pre zmiešané pracovné zaťaženie
    hlbokéObmedzené nájomníkom, kľúčom, pracovným tokom a rozpočtom
    cappped-deepVysoké uvažovanie s pevným stropomPrémiové úlohy, pri ktorých sú neakceptovateľné neúnosné nákladyVyžaduje sa explicitný limit>

    Mapovanie tried pracovného zaťaženia pred poskytovateľmi mapovania

    Rozumné úsilie by sa malo vyberať na základe zámeru pracovného zaťaženia, nie na základe osobných preferencií alebo popularity modelu. Pridajte pole brány, napríklad workload_class, buď dodané klientom alebo odvodené zo schválenej konfigurácie trasy.

    Príklad politiky pracovného zaťaženia

    {
      "workload_policies": {
        "extract_invoice_fields": {
          "default_reasoning_profile": "žiadne",
          "max_reasoning_profile": "nízka",
          "max_output_tokens": 800
        },
        "classify_support_ticket": {
          "default_reasoning_profile": "žiadne",
          "max_reasoning_profile": "nízka",
          "max_output_tokens": 300
        },
        "draft_customer_reply": {
          "default_reasoning_profile": "nízka",
          "max_reasoning_profile": "štandard",
          "max_output_tokens": 1200
        },
        "code_review": {
          "default_reasoning_profile": "štandard",
          "max_reasoning_profile": "hlboké",
          "max_output_tokens": 4 000
        },
        "security_review": {
          "default_reasoning_profile": "hlboké",
          "max_reasoning_profile": "maximálne veľké",
          "max_output_tokens": 6000
        },
        "agent_plan": {
          "default_reasoning_profile": "štandard",
          "max_reasoning_profile": "hlboké",
          "max_output_tokens": 5 000
        }
      }
    }
    

    Táto politika robí dve užitočné veci. Po prvé, bráni jednoduchým koncovým bodom dediť nákladné predvolené nastavenia. Po druhé, poskytuje administrátorom konkrétnu kontrolnú plochu: ktoré pracovné postupy môžu požadovať hlboké zdôvodnenie a v rámci akých limitov?

    Vybudovanie matice kompatibility

    Adaptér brány by mal udržiavať maticu pre každého poskytovateľa a rodinu modelov. Uložte si aspoň to, či model podporuje deaktiváciu uvažovania, enum úsilie, numerický rozpočet, dynamické myslenie, maximálny podporovaný rozpočet a polia použitia pre tokeny uvažovania.

    Príklad tvaru matice

    {
      "poskytovatelia": {
        "poskytovateľ_a": {
          "model_family_x": {
            "supports_reasoning": pravda,
            "control_type": "exfort_enum",
            "allowed_values": ["žiadna", "minimálna", "nízka", "stredná", "vysoká", "xvysoká"],
            "can_disable": true,
            "reports_reasoning_tokens": pravda
          }
        },
        "poskytovateľ_b": {
          "model_family_y": {
            "supports_reasoning": pravda,
            "control_type": "budget_tokens",
            "min_budget_tokens": 1024,
            "max_budget_tokens": 32 000,
            "can_disable": false,
            "reports_reasoning_tokens": pravda
          }
        },
        "poskytovateľ_c": {
          "model_family_z": {
            "supports_reasoning": pravda,
            "control_type": "úroveň myslenia",
            "allowed_values": ["minimálna", "nízka", "stredná", "vysoká"],
            "can_disable": false,
            "reports_reasoning_tokens": pravda
          }
        }
      }
    }
    

    Matrika kompatibility nie je dokumentáciou len pre ľudí. Mala by to byť vykonateľná politika. Smerovač požiadaviek by ho mal použiť pred odoslaním a účtovná kniha by ho mala použiť počas zúčtovania.

    Preložiť interné profily na parametre poskytovateľa

    Mapovania poskytovateľov by mali byť explicitné a mali by mať verziu. Nespoliehajte sa na vágne frázy, ako napríklad „používaj rozumnejšie uvažovanie“. Brána by mala presne vedieť, ktorý parameter poskytovateľa bol odoslaný.

    Príklad mapovania

    {
      "reasoning_profile_mappings": {
        "none": {
          "effort_enum": "žiadne",
          "budget_tokens": 0,
          "thinking_level": "minimálne"
        },
        "nízka": {
          "effort_enum": "nízka",
          "budget_tokens": 2 048,
          "thinking_level": "nízka"
        },
        "standard": {
          "effort_enum": "stredné",
          "budget_tokens": 8192,"thinking_level": "stredná"
        },
        "deep": {
          "effort_enum": "vysoké",
          "budget_tokens": 20 000,
          "thinking_level": "vysoká"
        },
        "capped-deep": {
          "effort_enum": "vysoké",
          "budget_tokens": 12 000,
          "thinking_level": "vysoká"
        }
      }
    }
    

    Tieto čísla sú príklady, nie univerzálne predvolené hodnoty. Správne rozpočty závisia od rodiny modelov, cien, požiadaviek na latenciu a výsledkov hodnotenia. Dôležitým detailom implementácie je, že brána vlastní mapovanie a zaznamenáva vyriešený parameter poskytovateľa pre každú požiadavku.

    Zlyhanie uzavreté, keď je mapovanie nebezpečné

    Nepodporované ovládacie prvky uvažovania by sa nemali v tichosti stať predvolenými nastaveniami poskytovateľa. Predvolené nastavenia môžu byť drahé a môžu sa časom meniť.

    Ak požadovaný profil nemožno bezpečne zmapovať, použite jeden z troch výsledkov:

    • Povoliť: poskytovateľ/model podporuje požadovaný profil a zásady nájomníka to povoľujú.
    • Prechod na nižšiu verziu: požadovaný profil je nad zásadou, takže brána použije najvyšší schválený profil prejsť na nižšiu verziu.
    • Odmietnuť: profil nemôže byť reprezentovaný bezpečne, nájomca vyžaduje prísne správanie alebo by prechod na nižšiu verziu porušil očakávania produktu.

    Príklad záznamu rozhodnutia

    {
      "request_id": "req_123",
      "tenant_id": "tenant_42",
      "api_key_id": "key_abc",
      "workflow": "code_review",
      "requested_reasoning_profile": "hlboké",
      "applied_reasoning_profile": "štandard",
      "decision": "downgraded",
      "decision_reason": "mesačný_nájomca_deep_reasoning_budget_exceeded",
      "served_provider": "poskytovateľ_a",
      "served_model": "model_family_x",
      "provider_reasoning_param": {
        "úsilie": "stredné"
      }
    }
    

    Tento záznam rozhodnutia je cenný počas podpory, sporov o fakturáciu a vyšetrovania kvality. Zabraňuje tiež neviditeľným regresom kvality počas tlaku na rozpočet.

    Kontrola rozpočtu potrebuje viac ako maximálny počet výstupných tokenov

    Je potrebný maximálny limit výstupného tokenu, ale nie je postačujúci. Pre modely schopné uvažovania môže model minúť veľkú časť limitného uvažovania a ponechať príliš malý priestor na konečnú odpoveď. Používateľ potom môže zaplatiť za nepoužiteľnú skrátenú odpoveď.

    Použite vrstvené stropy: