Vai al contenuto principale
Tutti gli articoli

DeepSeek V4-Flash al posto di Opus: dove regge

Tre settimane col preview dentro Claude Code, e stamattina i pesi 0731 sotto licenza MIT

AIDevOps

7 min di lettura

Il conto di fine mese, non il benchmark

Una sessione di lavoro con l'agent, di quelle in cui gli fai leggere mezzo repository e poi riscrivere venti file, mi consuma sui due milioni di token in input e trecentomila in output. Con Claude Opus 4.8, a 5 dollari per milione in input e 25 in output, sono 17 dollari e 50. Per una sessione. Falle tre al giorno e il modello costa più dell'infrastruttura su cui gira quello che scrive.

Quando l'agent sta decidendo qualcosa di difficile, quella cifra non mi disturba. Mi disturba quando gli sto facendo fare lavoro meccanico, che è la maggior parte del tempo.

Cosa è uscito il 31 luglio

Stamattina DeepSeek ha pubblicato i pesi di V4-Flash-0731 su Hugging Face, licenza MIT, 167 GB. Il preview lo uso da tre settimane: questo checkpoint rifà solo il post-training, l'architettura è identica. 284 miliardi di parametri totali, 13 attivi per token, attenzione ibrida CSA più HCA, un milione di token di contesto in input e 384 mila in output.

La riga che conta è il listino.

Per 1M tokenInputOutputInput da cache
V4-Flash$0.14$0.28$0.0028
Opus 4.8$5.00$25.00n/d

Trentacinque volte meno in input, ottantanove in output. E lo 0.0028 non è uno sconto, è un altro ordine di grandezza: 1785 volte sotto il prezzo di Opus. Su un agent che rimanda system prompt e cronologia a ogni tool call, quella colonna è quasi tutta la bolletta.

Un listino però non dice se il lavoro esce fatto. Per saperlo ho dovuto metterlo dove lavoro.

Due variabili d'ambiente, e Claude Code parla con Ollama Cloud

La cosa che mi ha convinto a provarlo sul serio è che non ho dovuto aprire nessun account nuovo. L'abbonamento Ollama Cloud ce l'avevo già, e il modello è lì dentro.

ollama signin
ollama run deepseek-v4-flash:cloud

Da terminale funziona subito, ma da solo non mi serviva: volevo l'agent, con i suoi tool e i suoi permessi. Claude Code parla il formato Messages di Anthropic, Ollama espone un endpoint OpenAI-compatibile, quindi in mezzo ci va qualcosa che traduce. Ho usato LiteLLM, che espone /v1/messages e lo gira sul provider che gli dici.

config.yaml
model_list:
  - model_name: flash
    litellm_params:
      model: openai/deepseek-v4-flash:cloud
      api_base: https://ollama.com/v1
      api_key: os.environ/OLLAMA_API_KEY
litellm --config config.yaml --port 4000
 
export ANTHROPIC_BASE_URL=http://localhost:4000
export ANTHROPIC_AUTH_TOKEN=qualsiasi-cosa
export ANTHROPIC_MODEL=flash
claude

Quattro righe, e la stessa CLI che apro tutti i giorni, con lo stesso prompt e gli stessi tool, sta parlando con un altro modello. È l'unico modo onesto di confrontarli: se cambi anche l'harness non stai più misurando il modello.

Una nota sui conti: Ollama Cloud fattura tempo GPU, non token, quindi dentro l'abbonamento i numeri della tabella qui sopra non li vedi nemmeno. Tre settimane di uso quotidiano e non ho toccato il limite del piano da 20 dollari.

Dove ha tenuto: refactor e feature intere

Gli ho dato quello che gli avrei dato comunque. Un refactor che passava per dodici file, di quelli in cui la singola modifica è banale e la difficoltà è tutta nel ricordarsi al nono file cosa hai deciso al secondo. Poi una feature intera: provider, componente, traduzioni nei due locale, test.

La cosa che non mi aspettavo è che seguisse i flussi. Apriva i file nell'ordine giusto, non inventava funzioni che nel repository non esistono, e arrivava in fondo con qualcosa che compilava. Su questo tipo di lavoro, costruire e non decidere, la distanza da Opus 4.8 l'ho sentita poco. Abbastanza poco da non voler tornare indietro per un fattore ottantanove sul prezzo.

Il rito prima di un rework grosso non è cambiato: gli faccio disegnare la mappa del sistema e poi lo lascio lavorare. Anche lì si è comportato come mi aspettavo.

Dove mi ha fatto tornare indietro

Poi c'è il punto in cui si rompe, ed è sempre lo stesso: i task lunghi.

Il pattern l'ho visto tre volte. Gli do un vincolo all'inizio, del tipo non toccare i file di traduzione finché non te lo dico io. Lo rispetta per dieci, dodici tool call. Intorno alla ventesima li tocca. Non sbaglia il codice: dimentica l'istruzione. E in un agent questo è peggio di un errore di sintassi, perché l'errore lo vedi subito e il vincolo saltato lo vedi nel diff, ammesso che tu guardi.

La tabella di DeepSeek ha la stessa forma

Quelle tre settimane me le sono fatte senza numeri, perché non c'erano. Stamattina, insieme ai pesi, DeepSeek ha pubblicato i suoi. La riga che mi interessa non è quella in cui vince: è dove perde.

Tabella di DeepSeek con nove benchmark agentici in riga e cinque modelli in colonna: V4-Flash-0731, V4-Flash-Preview, V4-Pro-Preview, GLM-5.2 e Opus-4.8. Flash-0731 fa 82.7 su Terminal Bench 2.1 contro gli 85.0 di Opus, e 54.2 su NL2Repo contro 69.7Schermo intero
Nove benchmark agentici: i pesi di stamattina, il preview che ho usato io, V4-Pro-Preview, GLM-5.2 e Opus 4.8.

Guarda la distanza da Opus riga per riga. Su Terminal Bench 2.1 sono 2.3 punti. Su DeepSWE 3.6. Su Agents' Last Exam mezzo punto, che è rumore. Poi arrivi a DSBench-Hard e sono 12.1, e a NL2Repo sono 15.5. NL2Repo è il benchmark in cui parti da una descrizione a parole e devi tirare fuori un repository intero: nessuno ti dice quali file esistono, e nessuno ti ferma quando ti allontani.

Quel salto è il grafico della cosa che avevo sentito col diff aperto. Dove il target è definito e i passi sono pochi, il gap è rumore. Dove il target te lo costruisci mentre procedi, si apre. Non l'ho dedotto dalla tabella: l'ho ritrovato lì dopo averlo già pagato in ore.

C'è una seconda colonna che vale la pena guardare, ed è quella che riguarda me. V4-Flash-Preview è il modello che ho usato per tre settimane, ed è un'altra cosa: 7.3 su DeepSWE contro i 54.4 del checkpoint di stamattina, 38.7 su Cybergym contro 76.7. Stessa architettura, solo il post-training rifatto, e i numeri non si somigliano.

Quindi tutto quello che ho scritto qui sopra, i refactor che hanno tenuto e il vincolo dimenticato alla ventesima tool call, riguarda il peggiore dei due. I pesi 0731 li ho da qualche ora. Rimetterò gli stessi task nella stessa CLI, ma per ora non ho niente da raccontare, e preferisco dirlo che spacciare le impressioni del preview per queste.

Nella tabella c'è anche GLM-5.2, l'altro checkpoint aperto che la gente usa davvero, e Flash gli sta davanti su tutte le righe. Ma quello è un confronto tra pesi aperti, e non è quello che finisce sulla mia fattura.

Come ho diviso il lavoro adesso

Non ho sostituito niente. Ho spostato una linea.

  • Su Flash: lettura di repository, primi giri di refactor, test su codice che esiste già, traduzioni, e in generale tutto quello che ha un output verificabile in trenta secondi.
  • Su Opus: la sessione lunga, la scelta architetturale, il debug di qualcosa che non ho ancora capito.

Il criterio non è quanto è difficile il task. È quanti passi ha, e quanto costa accorgersi tardi che è andato storto. La linea l'ho tracciata sul preview, e la tabella di stamattina non mi dà un motivo per spostarla oggi: i due gap grossi cadono ancora esattamente sui task che tengo su Opus.

La prossima volta che apri una sessione per un lavoro meccanico, di quelli in cui sai già cosa deve venire fuori e ti serve solo che qualcuno lo digiti, guarda quanto ti è costata. Se hai già l'abbonamento Ollama Cloud, provare l'alternativa sono due comandi.

Hai un progetto in mente?

Costruisco software per aziende e startup dal 2018. Se sul tuo prodotto serve una mano, scrivimi: nel peggiore dei casi ti porti a casa un'opinione gratis.

Parliamone

Da leggere dopo

Una linea netta attraversa due riquadri di codice spenti fino a una sfera luminosa, e dall'altro lato ne esce sfilacciata in quattro tratti tratteggiati che sbiadiscono
ArchitetturaAI

Stai pagando un LLM per fare un if

Determinismo dove la risposta è una sola, reasoning dove non lo è: l'architettura che nessuno disegna più

7 min di lettura

Una finestra di terminale scura e luminosa al centro di uno sfondo nero che sfuma verso il blu, con il cursore a blocco chiaro del logo brainless che lampeggia sulla riga del prompt
ReactNext.js

brainless: la CLI degli agent come componenti React

Claude Code, Codex e Grok smontati in componenti: la UI da terminale perfetta per i tuoi progetti Next.js

6 min di lettura