# Fable 5.1 vs Fable 5: același preț, altă factură

Anthropic a lansat Claude Fable 5.1 și primul lucru pe care îl vezi în pagina de prețuri e că nu s-a schimbat nimic: 10 dolari pe milionul de tokeni de intrare, 50 pe milionul de ieșire, exact ca la Fable 5. Al doilea lucru, pe care nu-l vezi decât dacă citești ghidul de migrare până la capăt, e că totul s-a schimbat în felul în care ajungi la factura aia. Ce cumperi la 5.1 nu e „un model mai bun la același preț", ci un model care se comportă altfel la fiecare nivel de efort, care citește cache-ul de patru ori mai ieftin și care îți impune un fel anume de a construi harness-ul din jurul lui.

Am scris articolul ăsta pentru cei care trebuie să decidă în următoarele săptămâni dacă migrează. Am pus și Opus 5 în comparație, pentru că fără el discuția e incompletă: Opus 5 costă jumătate, merge sub zero data retention și, la efort mare, rezolvă o parte mare din ce rezolvă și Fable. Toate cifrele de mai jos vin din documentația oficială de API din august 2026, nu din benchmark-uri de marketing. Unde nu am cifre, spun că nu am.

## Cele trei modele, într-un tabel

| | Fable 5.1 | Fable 5 | Opus 5 |
|---|---|---|---|
| Context / output maxim | 1M / 128K | 1M / 128K | 1M / 128K |
| Intrare / ieșire ($ per MTok) | 10 / 50 | 10 / 50 | 5 / 25 |
| Citire din cache ($ per MTok) | **0,25** | 1,00 | 0,50 |
| Scriere în cache, 5 min ($ per MTok) | 12,50 | 12,50 | 6,25 |
| Batch ($ per MTok) | 5 / 25 | 5 / 25 | 2,50 / 12,50 |
| Thinking | mereu pornit | mereu pornit | pornit implicit, se poate opri până la `high` |
| Niveluri de efort | low → max | low → max | low → max |
| Fast mode | nu | nu | da, la 10 / 50 |
| Zero data retention | nu | nu | da |
| Priority Tier | nu | da | nu |
| Clasificatori de siguranță | cyber, bio, reasoning extraction | aceiași | doar cyber |

Un rând care merită citit de două ori: Opus 5 în fast mode costă exact cât Fable 5.1. Pentru aceiași bani ai fie cel mai capabil model, fie un model cu o treaptă mai jos, dar cu output de până la 2,5 ori mai rapid. Sunt două produse diferite la același preț, iar alegerea depinde de ce te doare: latența sau calitatea pe task-urile grele.

## Reasoning: ce s-a schimbat de fapt

Pe ambele modele Fable, thinking-ul e mereu pornit. Nu poți trimite `thinking: disabled` fără să primești 400, iar vechiul `budget_tokens` a dispărut complet. Singurul buton pe care îl ai e `output_config.effort`, cu cinci trepte: low, medium, high, xhigh, max. Opus 5 e mai permisiv, acceptă oprirea thinking-ului, dar numai până la efort `high`, și documentația îți spune destul de direct să nu o faci, pentru că modelul începe să scrie apeluri de tool-uri în text în loc de blocuri structurate.

Partea importantă pentru bugete e că **nivelurile de efort nu înseamnă aceeași cantitate de gândire de la un model la altul**. Ghidul de migrare spune explicit că trebuie să refaci sweep-ul de efort la 5.1 chiar dacă l-ai făcut pe Fable 5. Și dă două repere pe care le-am reprezentat mai jos: la `medium`, Fable 5.1 ajunge aproximativ la rezultatele lui Fable 5 la un cost mai mic; iar la `low`, Fable 5.1 depășește adesea nivelul `xhigh` sau chiar `max` al modelelor din generația anterioară.

<div class="article-figure">
<svg viewBox="0 0 900 370" width="100%" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Scara de efort pe trei modele: Fable 5, Fable 5.1 și Opus 5, fiecare cu cinci niveluri de la low la max. Fable 5.1 la medium este legat de Fable 5 la high, iar Fable 5.1 la low este legat de Opus 5 la xhigh, ca repere aproximative de calitate echivalentă">
<text x="10" y="22" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="15px" font-weight="600" text-anchor="start">Aceleași nume de efort, altă cantitate de gândire</text>
<text x="856" y="50" fill="#6b7a99" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="11.5px" text-anchor="end">efort → mai mult thinking, mai mulți tokeni de ieșire</text>
<text x="10" y="92" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="13.5px" font-weight="600" text-anchor="start">Fable 5</text>
<rect x="150" y="62" width="130" height="50" rx="8" fill="#1e2535" stroke="#2a3147" stroke-width="1"/><text x="215" y="92" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="12.5px" text-anchor="middle">low</text>
<rect x="294" y="62" width="130" height="50" rx="8" fill="#1e2535" stroke="#2a3147" stroke-width="1"/><text x="359" y="92" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="12.5px" text-anchor="middle">medium</text>
<rect x="438" y="62" width="130" height="50" rx="8" fill="#1e2535" stroke="#4fffb0" stroke-width="1.5"/><text x="503" y="92" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="12.5px" text-anchor="middle">high</text>
<rect x="582" y="62" width="130" height="50" rx="8" fill="#1e2535" stroke="#2a3147" stroke-width="1"/><text x="647" y="92" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="12.5px" text-anchor="middle">xhigh</text>
<rect x="726" y="62" width="130" height="50" rx="8" fill="#1e2535" stroke="#2a3147" stroke-width="1"/><text x="791" y="92" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="12.5px" text-anchor="middle">max</text>
<text x="10" y="182" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="13.5px" font-weight="600" text-anchor="start">Fable 5.1</text>
<rect x="150" y="152" width="130" height="50" rx="8" fill="#1e2535" stroke="#7b8cff" stroke-width="1.5"/><text x="215" y="182" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="12.5px" text-anchor="middle">low</text>
<rect x="294" y="152" width="130" height="50" rx="8" fill="#1e2535" stroke="#4fffb0" stroke-width="1.5"/><text x="359" y="182" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="12.5px" text-anchor="middle">medium</text>
<rect x="438" y="152" width="130" height="50" rx="8" fill="#1e2535" stroke="#2a3147" stroke-width="1"/><text x="503" y="182" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="12.5px" text-anchor="middle">high</text>
<rect x="582" y="152" width="130" height="50" rx="8" fill="#1e2535" stroke="#2a3147" stroke-width="1"/><text x="647" y="182" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="12.5px" text-anchor="middle">xhigh</text>
<rect x="726" y="152" width="130" height="50" rx="8" fill="#1e2535" stroke="#2a3147" stroke-width="1"/><text x="791" y="182" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="12.5px" text-anchor="middle">max</text>
<text x="10" y="272" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="13.5px" font-weight="600" text-anchor="start">Opus 5</text>
<rect x="150" y="242" width="130" height="50" rx="8" fill="#1e2535" stroke="#2a3147" stroke-width="1"/><text x="215" y="272" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="12.5px" text-anchor="middle">low</text>
<rect x="294" y="242" width="130" height="50" rx="8" fill="#1e2535" stroke="#2a3147" stroke-width="1"/><text x="359" y="272" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="12.5px" text-anchor="middle">medium</text>
<rect x="438" y="242" width="130" height="50" rx="8" fill="#1e2535" stroke="#2a3147" stroke-width="1"/><text x="503" y="272" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="12.5px" text-anchor="middle">high</text>
<rect x="582" y="242" width="130" height="50" rx="8" fill="#1e2535" stroke="#7b8cff" stroke-width="1.5"/><text x="647" y="272" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="12.5px" text-anchor="middle">xhigh</text>
<rect x="726" y="242" width="130" height="50" rx="8" fill="#1e2535" stroke="#2a3147" stroke-width="1"/><text x="791" y="272" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="12.5px" text-anchor="middle">max</text>
<path d="M 359 152 L 359 133 L 503 133 L 503 112" fill="none" stroke="#4fffb0" stroke-width="1.5" stroke-dasharray="5 4"/>
<text x="520" y="129" fill="#4fffb0" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="11.5px" text-anchor="start">medium pe 5.1 ≈ high pe Fable 5, la cost mai mic</text>
<path d="M 215 202 L 215 224 L 647 224 L 647 242" fill="none" stroke="#7b8cff" stroke-width="1.5" stroke-dasharray="5 4"/>
<text x="431" y="217" fill="#7b8cff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="11.5px" text-anchor="middle">low pe 5.1 ≈ xhigh sau max pe generația anterioară</text>
<text x="10" y="340" fill="#6b7a99" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="11.5px" text-anchor="start">Repere orientative din ghidul oficial de migrare. Nu sunt scoruri de benchmark; refă sweep-ul de efort pe propriile evaluări.</text>
</svg>
</div>

Consecința practică: dacă rulezi Fable 5 la `high` (setarea implicită), primul experiment la 5.1 e să cobori la `medium` și să vezi dacă evaluările tale mai trec. Dacă trec, ai obținut aceeași calitate cu mai puțini tokeni de ieșire, care sunt partea scumpă. Câștigul real de capabilitate față de Fable 5 apare, spune documentația, mai ales la `high` și peste, deci nivelul de sus rămâne pentru task-urile la care ai măsurat că merită.

Ceva ce nu s-a schimbat și e bine de știut: tokenizer-ul e același pe Fable 5, Fable 5.1 și pe familia Opus de la 4.7 încoace, deci numărul de tokeni pentru același prompt e comparabil. Diferența de cost între modele vine din preț și din cât gândesc, nu din felul în care taie textul.

## Unde e 5.1 mai bun decât 5

Anthropic listează șase zone, cu mențiunea că diferența e cea mai mare la nivelurile de efort ridicate:

1. **Coding agentic pe sesiuni lungi**: funcționalități pe mai multe fișiere, refactorizări și migrări mari, debugging și code review în sesiuni de ore.
2. **Documente, foi de calcul și prezentări** construite de la zero, cu formule vii, nu doar text.
3. **Research multistep**, adică căutare web în care urmărește ce a găsit, nu doar un singur query.
4. **Vision** pe grafice dense, tabele în PDF-uri și imagini degradate. Cea mai bună formă e cu tool-uri de crop și zoom la dispoziție, nu cu mai mult thinking.
5. **Retrieval în context lung**, adânc în fereastra de 1M.
6. **Computer use**: operarea unui browser sau a aplicațiilor desktop, cu revenire din pași eșuați.

Performanța multilingvă e la paritate cu Fable 5. Nu am de la Anthropic cifre de benchmark pentru comparația 5.1 versus 5, așa că nu le inventez. Ce am sunt cele trei schimbări de comportament observate în harness-uri, fără nicio modificare de cod: 5.1 grupează mai puțin apelurile de tool-uri implicite, narează mai puțin între apeluri și, la efort `low`, răspunde mai des din memorie decât să verifice. Toate trei se corectează dintr-un prompt, iar documentația oferă textul exact.

## Costul real: cache-ul la un sfert

Aici e povestea de bani, și e ascunsă într-un singur rând din tabelul de prețuri. Citirea din cache pe Fable 5.1 costă 0,25 dolari pe milion, față de 1,00 pe Fable 5 și 0,50 pe Opus 5. Pare un detaliu, până te uiți la ce face de fapt o sesiune agentică: recitește același prefix la fiecare tură. Un system prompt cu tool-uri, apoi tot istoricul conversației, de patruzeci de ori într-o singură sesiune. Într-un asemenea scenariu, citirile din cache sunt de departe cel mai mare volum de tokeni, chiar dacă nu cel mai mare cost.

Am calculat un scenariu tipic ca să vezi proporțiile. Un agent cu un prefix de 20.000 de tokeni (system prompt plus definițiile tool-urilor), 40 de ture, la fiecare tură cam 3.500 de tokeni noi de intrare din rezultatele tool-urilor și 3.000 de tokeni de ieșire, inclusiv thinking. Totul cu cache activ, cu breakpoint mutat la fiecare tură.

<div class="article-figure">
<svg viewBox="0 0 900 440" width="100%" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Bare stivuite cu costul unei sesiuni agentice de 40 de ture pe trei modele: Fable 5.1 aproximativ 8,9 dolari, Fable 5 aproximativ 11,5 dolari, Opus 5 aproximativ 5,8 dolari. Fiecare bară e împărțită în scriere în cache, citire din cache și tokeni de ieșire. Pe Fable 5.1 segmentul de citire din cache e de patru ori mai mic decât pe Fable 5">
<text x="10" y="22" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="15px" font-weight="600" text-anchor="start">Anatomia costului unei sesiuni agentice de 40 de ture</text>
<!-- axis -->
<line x1="90" y1="60" x2="90" y2="360" stroke="#2a3147" stroke-width="1"/>
<line x1="90" y1="360" x2="800" y2="360" stroke="#2a3147" stroke-width="1"/>
<text x="82" y="364" fill="#6b7a99" font-family="DM Mono, ui-monospace, monospace" font-size="11px" text-anchor="end">$0</text>
<line x1="86" y1="260" x2="800" y2="260" stroke="#2a3147" stroke-width="1" stroke-dasharray="3 5"/><text x="82" y="264" fill="#6b7a99" font-family="DM Mono, ui-monospace, monospace" font-size="11px" text-anchor="end">$4</text>
<line x1="86" y1="160" x2="800" y2="160" stroke="#2a3147" stroke-width="1" stroke-dasharray="3 5"/><text x="82" y="164" fill="#6b7a99" font-family="DM Mono, ui-monospace, monospace" font-size="11px" text-anchor="end">$8</text>
<line x1="86" y1="60" x2="800" y2="60" stroke="#2a3147" stroke-width="1" stroke-dasharray="3 5"/><text x="82" y="64" fill="#6b7a99" font-family="DM Mono, ui-monospace, monospace" font-size="11px" text-anchor="end">$12</text>
<!-- Fable 5.1 : write 2.00 (50) read 0.88 (22) output 6.00 (150) -->
<rect x="150" y="310" width="160" height="50" fill="#6b7a99" fill-opacity="0.55"/>
<rect x="150" y="288" width="160" height="22" fill="#7b8cff"/>
<rect x="150" y="138" width="160" height="150" fill="#4fffb0" fill-opacity="0.75"/>
<text x="230" y="126" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="14px" font-weight="600" text-anchor="middle">≈ $8,90</text>
<text x="230" y="385" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="13.5px" font-weight="600" text-anchor="middle">Fable 5.1</text>
<text x="230" y="303" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="11px" text-anchor="middle">$0,88</text>
<!-- Fable 5 : write 2.00 (50) read 3.53 (88) output 6.00 (150) -->
<rect x="400" y="310" width="160" height="50" fill="#6b7a99" fill-opacity="0.55"/>
<rect x="400" y="222" width="160" height="88" fill="#7b8cff"/>
<rect x="400" y="72" width="160" height="150" fill="#4fffb0" fill-opacity="0.75"/>
<text x="480" y="60" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="14px" font-weight="600" text-anchor="middle">≈ $11,50</text>
<text x="480" y="385" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="13.5px" font-weight="600" text-anchor="middle">Fable 5</text>
<text x="480" y="270" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="11px" text-anchor="middle">$3,53</text>
<!-- Opus 5 : write 1.00 (25) read 1.77 (44) output 3.00 (75) -->
<rect x="650" y="335" width="160" height="25" fill="#6b7a99" fill-opacity="0.55"/>
<rect x="650" y="291" width="160" height="44" fill="#7b8cff"/>
<rect x="650" y="216" width="160" height="75" fill="#4fffb0" fill-opacity="0.75"/>
<text x="730" y="204" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="14px" font-weight="600" text-anchor="middle">≈ $5,80</text>
<text x="730" y="385" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="13.5px" font-weight="600" text-anchor="middle">Opus 5</text>
<text x="730" y="317" fill="#eef2ff" font-family="DM Mono, ui-monospace, monospace" font-size="11px" text-anchor="middle">$1,77</text>
<!-- legend -->
<rect x="150" y="408" width="12" height="12" fill="#4fffb0" fill-opacity="0.75"/><text x="168" y="418" fill="#6b7a99" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="11.5px" text-anchor="start">ieșire, inclusiv thinking (120K tokeni)</text>
<rect x="420" y="408" width="12" height="12" fill="#7b8cff"/><text x="438" y="418" fill="#6b7a99" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="11.5px" text-anchor="start">citire din cache (3,53M tokeni)</text>
<rect x="650" y="408" width="12" height="12" fill="#6b7a99" fill-opacity="0.55"/><text x="668" y="418" fill="#6b7a99" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="11.5px" text-anchor="start">scriere în cache (160K tokeni)</text>
</svg>
</div>

Două lucruri ies din diagramă. Primul: la același număr de tokeni, Fable 5.1 e cu aproximativ un sfert mai ieftin decât Fable 5 pe o sesiune agentică, exclusiv din prețul citirii din cache. Dacă adaugi și că la `medium` faci aceeași treabă cu mai puțin thinking, economia reală e mai mare. Al doilea: Opus 5 rămâne cel mai ieftin cu o marjă clară, cam 35% sub 5.1 în scenariul ăsta, iar diferența vine aproape integral din tokenii de ieșire, care costă jumătate.

Există și o parte mai puțin plăcută a cache-ului ieftin. Când o citire costă 0,25 și o scriere 12,50, un cache miss e de 50 de ori mai scump decât un hit. Pe Fable 5 raportul era de 12,5. Cu alte cuvinte, pe 5.1 **contează mult mai mult să ții cache-ul cald**: o schimbare de system prompt între cereri, un timestamp în prompt sau o pauză peste cele cinci minute de TTL te costă mai mult relativ decât înainte. Documentația recomandă pentru pauze între 5 și 60 de minute un re-send cu `max_tokens: 0`, care e de obicei mai ieftin decât TTL-ul de o oră.

## Trei schimbări care rup codul la migrare

Prețul e același, dar API-ul nu e un drop-in. Trei lucruri care mergeau pe Fable 5 întorc 400 pe 5.1.

**Forțarea unui tool nu mai există.** `tool_choice` cu `any` sau cu un nume de tool e respins. Dacă foloseai forțarea ca să obții JSON garantat, înlocuiește-o cu structured outputs. Dacă o foloseai ca să te asiguri că modelul apelează tool-ul, folosești `auto` plus o instrucțiune explicită și `strict: true` pe schema tool-ului.

**Blocurile de thinking sunt legate de modelul care le-a produs.** Dacă trimiți istoricul unei conversații de pe Fable 5.1 către Opus 5 (de exemplu ca fallback la un refuz), Opus 5 ignoră blocurile de thinking, fără să le factureze. În sens invers, Fable 5.1 le citește pe ale modelelor mai vechi. Practic nu mai poți muta o sesiune liber între modele fără să pierzi contextul de raționament.

**Istoricul e append-only.** Asta e cea care doare cel mai mult și se numește în documentație „preserved thinking". Dacă editezi o tură anterioară a conversației (ștergi un mesaj, rescrii system prompt-ul, tai istoricul), toate blocurile de thinking de după punctul editat devin invalide. Conturile create de la 31 august 2026 primesc direct 400 pe istoric editat, iar modelele următoare vor aplica regula pentru toată lumea. Multe harness-uri scrise pentru Opus 4.8 sau mai vechi trunchiază ture vechi sau injectează și apoi șterg mesaje de reminder. Toate trebuie rescrise.

<div class="article-figure">
<svg viewBox="0 0 900 380" width="100%" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Două fluxuri de harness. Sus, un harness care editează istoricul: după modificarea unei ture anterioare, blocurile de thinking ulterioare sunt invalidate și cache-ul se resetează. Jos, un harness append-only care adaugă mesaje de sistem cu clear_at la sfârșitul istoricului, cu cache-ul păstrat și thinking-ul valid">
<text x="10" y="22" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="15px" font-weight="600" text-anchor="start">Preserved thinking: de ce harness-ul trebuie să fie append-only</text>
<!-- lane A -->
<rect x="10" y="44" width="880" height="140" rx="12" fill="#181d27" stroke="#ff6b6b" stroke-opacity="0.45" stroke-width="1"/>
<text x="30" y="68" fill="#ff6b6b" font-family="DM Mono, ui-monospace, monospace" font-size="12px" font-weight="600" text-anchor="start">A. HARNESS CARE EDITEAZĂ ISTORICUL</text>
<rect x="30" y="84" width="120" height="44" rx="8" fill="#1e2535" stroke="#2a3147"/><text x="90" y="110" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="12px" text-anchor="middle">user</text>
<rect x="164" y="84" width="150" height="44" rx="8" fill="#1e2535" stroke="#2a3147"/><text x="239" y="104" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="12px" text-anchor="middle">assistant</text><text x="239" y="120" fill="#6b7a99" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="10.5px" text-anchor="middle">thinking + tool_use</text>
<rect x="328" y="84" width="120" height="44" rx="8" fill="#1e2535" stroke="#ff6b6b" stroke-width="1.5"/><text x="388" y="104" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="12px" text-anchor="middle">tool_result</text><text x="388" y="120" fill="#ff6b6b" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="10.5px" text-anchor="middle">editat / șters</text>
<rect x="462" y="84" width="150" height="44" rx="8" fill="#1e2535" stroke="#ff6b6b" stroke-dasharray="4 3"/><text x="537" y="104" fill="#6b7a99" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="12px" text-anchor="middle">assistant</text><text x="537" y="120" fill="#ff6b6b" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="10.5px" text-anchor="middle">thinking invalidat</text>
<rect x="626" y="84" width="120" height="44" rx="8" fill="#1e2535" stroke="#ff6b6b" stroke-dasharray="4 3"/><text x="686" y="110" fill="#6b7a99" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="12px" text-anchor="middle">tool_result</text>
<rect x="760" y="84" width="110" height="44" rx="8" fill="#1e2535" stroke="#ff6b6b" stroke-dasharray="4 3"/><text x="815" y="104" fill="#6b7a99" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="12px" text-anchor="middle">assistant</text><text x="815" y="120" fill="#ff6b6b" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="10.5px" text-anchor="middle">invalidat</text>
<text x="30" y="160" fill="#ff6b6b" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="12px" text-anchor="start">Rezultat: cache resetat de la punctul editat, thinking pierdut, 400 pe conturile noi.</text>
<!-- lane B -->
<rect x="10" y="204" width="880" height="140" rx="12" fill="#181d27" stroke="#4fffb0" stroke-opacity="0.45" stroke-width="1"/>
<text x="30" y="228" fill="#4fffb0" font-family="DM Mono, ui-monospace, monospace" font-size="12px" font-weight="600" text-anchor="start">B. HARNESS APPEND-ONLY</text>
<rect x="30" y="244" width="120" height="44" rx="8" fill="#1e2535" stroke="#2a3147"/><text x="90" y="270" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="12px" text-anchor="middle">user</text>
<rect x="164" y="244" width="150" height="44" rx="8" fill="#1e2535" stroke="#2a3147"/><text x="239" y="264" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="12px" text-anchor="middle">assistant</text><text x="239" y="280" fill="#6b7a99" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="10.5px" text-anchor="middle">thinking + tool_use</text>
<rect x="328" y="244" width="120" height="44" rx="8" fill="#1e2535" stroke="#2a3147"/><text x="388" y="270" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="12px" text-anchor="middle">tool_result</text>
<rect x="462" y="244" width="150" height="44" rx="8" fill="#1e2535" stroke="#4fffb0" stroke-width="1.5"/><text x="537" y="264" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="12px" text-anchor="middle">system</text><text x="537" y="280" fill="#4fffb0" font-family="DM Mono, ui-monospace, monospace" font-size="10.5px" text-anchor="middle">clear_at: next_user</text>
<rect x="626" y="244" width="120" height="44" rx="8" fill="#1e2535" stroke="#2a3147"/><text x="686" y="264" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="12px" text-anchor="middle">assistant</text><text x="686" y="280" fill="#6b7a99" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="10.5px" text-anchor="middle">thinking valid</text>
<rect x="760" y="244" width="110" height="44" rx="8" fill="#1e2535" stroke="#4fffb0" stroke-width="1.5"/><text x="815" y="264" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="12px" text-anchor="middle">system</text><text x="815" y="280" fill="#4fffb0" font-family="DM Mono, ui-monospace, monospace" font-size="10.5px" text-anchor="middle">effort: low</text>
<text x="30" y="320" fill="#4fffb0" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="12px" text-anchor="start">Rezultat: prefixul nu se schimbă, cache-ul rămâne cald, mesajele expirate nu costă tokeni de intrare.</text>
<text x="10" y="366" fill="#6b7a99" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="11.5px" text-anchor="start">Regula simplă: nimic din ce ai trimis o dată nu se mai modifică; tot ce vrei să schimbi adaugi la coadă.</text>
</svg>
</div>

## Cinci noutăți de API, toate în serviciul cache-ului

Nu e o coincidență că patru din cele cinci adăugiri de la 5.1 rezolvă exact problema de mai sus: cum schimbi ceva în mijlocul unei conversații fără să editezi istoricul.

- **Efort per mesaj.** Un mesaj de sistem gol cu `output_config.effort` schimbă nivelul de efort de la punctul ăla încolo, fără reset de cache. Ridici la `xhigh` pentru pasul greu, cobori la `low` pentru pașii de rutină, în aceeași conversație. Merge și pe Opus 5, nu și pe Fable 5.
- **Mesaje de sistem cu termen de expirare.** `clear_at: "next_user_message"` face ca un reminder să fie vizibil o singură tură, apoi să rămână în istoric, dar să nu se mai randeze și să nu mai coste. Așa injectezi „verifică inbox-ul înainte să rulezi cod" fără să ștergi nimic după.
- **Progress updates între tool calls.** Cu `display: "updates"`, modelul întoarce notele scurte de progres pe care le scrie între apeluri, în timp ce raționamentul propriu-zis rămâne ascuns. Fără asta, o tură agentică de 10 minute arată ca o pauză de 10 minute în UI.
- **Citirea din cache la 0,25.** Discutată mai sus.
- **Proveniență a conținutului.** Tot textul generat de 5.1 poartă un watermark statistic, fără caractere ascunse și fără tokeni în plus. Imaginile și fișierele media produse în sandbox-ul de code execution primesc Content Credentials C2PA semnate. E prima dată când un model Anthropic vine cu asta implicit și nu se poate dezactiva.

Mai e un detaliu de context: Claude Mythos 5.1 e același model ca Fable 5.1, cu aceleași prețuri și API, oferit doar participanților din Project Glasswing. Am scris în aprilie despre [ce e Mythos și cât e marketing](/ro/blog/claude-mythos-dangerous-or-marketing); diferența față de atunci e că Mythos 5.1 rulează acum propriile clasificatori de siguranță, în funcție de programul de acces al organizației.

## Retenția datelor: punctul de decizie pentru enterprise

Un rând din tabel schimbă discuția pentru o categorie întreagă de clienți. Fable 5 și 5.1 sunt „Covered Models": Anthropic cere ca organizația sau workspace-ul care le apelează să aibă retenția de date de 30 de zile activă. Dacă ai zero data retention în contract, cererea primește 400 cu un mesaj explicit, iar singura cale ocolitoare e o autorizare expresă negociată cu echipa de cont.

Pentru majoritatea firmelor nu se schimbă nimic, pentru că retenția de 30 de zile e setarea implicită. Pentru bănci, sănătate, avocatură sau sectorul public, unde ZDR e adesea o condiție din evaluarea de impact GDPR, alegerea între Opus 5 și Fable 5.1 nu mai e una de cost și capabilitate. Devine o discuție cu DPO-ul: Opus 5 merge sub ZDR fără nicio schimbare, Fable 5.1 înseamnă fie un workspace separat cu retenție, fie o autorizare, fie renunțarea la model.

## Când alegi ce

Poziționarea oficială e clară și merită luată în serios pentru că nu e cea la care te-ai aștepta de la un vendor: începe cu Opus 5, treci la Fable 5.1 doar pentru reasoning intens și task-uri agentice pe termen lung, sau când evaluările pe Opus 5 la efort ridicat nu ating pragul.

<div class="article-figure">
<svg viewBox="0 0 900 430" width="100%" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Arbore de decizie: dacă ai zero data retention în contract, alegi Opus 5. Dacă nu, verifici dacă evaluările pe Opus 5 la efort high sau xhigh ating ținta; dacă da, Opus 5. Dacă nu, verifici dacă depinzi de Priority Tier; dacă da, Fable 5; dacă nu, Fable 5.1">
<text x="10" y="22" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="15px" font-weight="600" text-anchor="start">Opus 5, Fable 5 sau Fable 5.1: arborele de decizie</text>
<!-- Q1 -->
<rect x="300" y="50" width="300" height="52" rx="10" fill="#1e2535" stroke="#2a3147"/>
<text x="450" y="81" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="13.5px" font-weight="600" text-anchor="middle">Ai zero data retention în contract?</text>
<!-- Q1 yes -> Opus 5 (left) -->
<path d="M 300 76 L 260 76 L 260 190 L 250 190" fill="none" stroke="#6b7a99" stroke-width="1.5"/>
<polygon points="242,190 254,184 254,196" fill="#6b7a99"/>
<text x="275" y="70" fill="#6b7a99" font-family="DM Mono, ui-monospace, monospace" font-size="11px" text-anchor="end">da</text>
<!-- Q1 no -> Q2 -->
<line x1="450" y1="102" x2="450" y2="156" stroke="#6b7a99" stroke-width="1.5"/>
<polygon points="450,164 444,152 456,152" fill="#6b7a99"/>
<text x="460" y="134" fill="#6b7a99" font-family="DM Mono, ui-monospace, monospace" font-size="11px" text-anchor="start">nu</text>
<!-- Q2 -->
<rect x="270" y="164" width="360" height="52" rx="10" fill="#1e2535" stroke="#2a3147"/>
<text x="450" y="186" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="13.5px" font-weight="600" text-anchor="middle">Evaluările pe Opus 5 la high / xhigh</text>
<text x="450" y="204" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="13.5px" font-weight="600" text-anchor="middle">ating ținta ta de calitate?</text>
<!-- Q2 yes -> Opus 5 -->
<line x1="270" y1="190" x2="250" y2="190" stroke="#6b7a99" stroke-width="1.5"/>
<text x="262" y="182" fill="#6b7a99" font-family="DM Mono, ui-monospace, monospace" font-size="11px" text-anchor="middle">da</text>
<!-- Opus 5 result -->
<rect x="40" y="160" width="200" height="60" rx="10" fill="#181d27" stroke="#4fffb0" stroke-width="1.5"/>
<text x="140" y="185" fill="#4fffb0" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="14px" font-weight="600" text-anchor="middle">Opus 5</text>
<text x="140" y="205" fill="#6b7a99" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="11.5px" text-anchor="middle">jumătate de preț, ZDR, fast mode</text>
<!-- Q2 no -> Q3 -->
<line x1="450" y1="216" x2="450" y2="270" stroke="#6b7a99" stroke-width="1.5"/>
<polygon points="450,278 444,266 456,266" fill="#6b7a99"/>
<text x="460" y="248" fill="#6b7a99" font-family="DM Mono, ui-monospace, monospace" font-size="11px" text-anchor="start">nu</text>
<!-- Q3 -->
<rect x="300" y="278" width="300" height="52" rx="10" fill="#1e2535" stroke="#2a3147"/>
<text x="450" y="309" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="13.5px" font-weight="600" text-anchor="middle">Depinzi de Priority Tier?</text>
<!-- Q3 yes -> Fable 5 (right) -->
<line x1="600" y1="304" x2="650" y2="304" stroke="#6b7a99" stroke-width="1.5"/>
<polygon points="658,304 646,298 646,310" fill="#6b7a99"/>
<text x="625" y="296" fill="#6b7a99" font-family="DM Mono, ui-monospace, monospace" font-size="11px" text-anchor="middle">da</text>
<rect x="660" y="274" width="200" height="60" rx="10" fill="#181d27" stroke="#6b7a99" stroke-width="1.5"/>
<text x="760" y="299" fill="#eef2ff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="14px" font-weight="600" text-anchor="middle">Fable 5</text>
<text x="760" y="319" fill="#6b7a99" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="11.5px" text-anchor="middle">rămâne servit, cache la 1,00</text>
<!-- Q3 no -> Fable 5.1 (bottom) -->
<line x1="450" y1="330" x2="450" y2="358" stroke="#6b7a99" stroke-width="1.5"/>
<polygon points="450,366 444,354 456,354" fill="#6b7a99"/>
<text x="460" y="348" fill="#6b7a99" font-family="DM Mono, ui-monospace, monospace" font-size="11px" text-anchor="start">nu</text>
<rect x="300" y="366" width="300" height="60" rx="10" fill="#181d27" stroke="#7b8cff" stroke-width="1.5"/>
<text x="450" y="391" fill="#7b8cff" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="14px" font-weight="600" text-anchor="middle">Fable 5.1</text>
<text x="450" y="411" fill="#6b7a99" font-family="DM Sans, system-ui, -apple-system, sans-serif" font-size="11.5px" text-anchor="middle">începe la high, coboară unde evaluările țin</text>
</svg>
</div>

Cu Fable 5 rămâne un singur motiv să stai: Priority Tier, care nu există pe 5.1. În rest, 5.1 face aceeași treabă la aceiași bani per token, cu cache-ul de patru ori mai ieftin. Pentru cine vine de pe Opus 5, saltul e dublarea prețului per token, la care se adaugă pierderea ZDR și un set mai larg de clasificatori. Merită doar dacă ai măsurat că Opus 5 la `xhigh` nu ajunge unde ai nevoie, sau dacă ai un caz de folosință din cele șase zone de mai sus în care diferența e vizibilă.

Ce am observat noi în practică, pe [munca de zi cu zi cu Claude Code](/ro/blog/one-month-of-claude-code-measured), e că cel mai mare câștig nu vine din alegerea modelului, ci din alegerea efortului. Un Fable 5.1 la `medium` pe task-uri de rutină și la `xhigh` pe cele grele, în aceeași sesiune, bate atât un Fable 5 rulat uniform la `high`, cât și un Opus 5 care are nevoie de două încercări pe task-urile grele. Iar efortul per mesaj e exact ce face setup-ul ăsta posibil fără să plătești resetul de cache.

Dacă rulezi deja agenți pe Fable 5 sau Opus și vrei să știi cât te-ar costa migrarea, inclusiv rescrierea harness-ului pentru append-only, [hai să vorbim](/contact).
