Seedance 2.5 è ora live — In anteprima su Atlas Cloud

DeepSeek Harness vs OpenCode: Il divario di utilizzo dei token che la maggior parte degli sviluppatori trascura

DeepSeek Harness vs OpenCode, testati sullo stesso modello e sullo stesso compito. Cosa fa ciascun harness al tuo utilizzo di token, perché il divario è reale e come misurarlo da solo.

Hai scelto un modello economico. Hai fatto i conti sulla scheda del modello. Poi è arrivata la bolletta e non assomigliava affatto ai tuoi calcoli.

Quel divario non è quasi mai colpa del modello. È colpa dell'harness. L'harness decide quante volte il tuo modello viene chiamato, quanto della conversazione viene riprodotto a ogni singola chiamata, quanto sono grandi gli schemi degli strumenti e se un test fallito viene ripetuto tre o dodici volte. Stesso modello, stesso compito, due harness, conteggi di token completamente diversi.

Il 13 agosto 2026, DeepSeek ha rilasciato open source il proprio agent harness e il dibattito è diventato subito acceso. Da un lato c'è un repository vecchio di due settimane dal laboratorio che costruisce il modello. Dall'altro c'è OpenCode, l'agente di coding più stellato su GitHub. Entrambi sono MIT. Entrambi eseguono qualsiasi modello tu gli punti.

Quindi questa è la versione onesta del confronto. Non sensazioni, non stelle. Cosa fa ciascuno al tuo utilizzo di token e come misurarlo sul tuo repository in circa quindici minuti.

Punti chiave

  • DeepSeek Harness è un runtime per agenti basato su plugin di DeepSeek AI, con licenza MIT, scritto in TypeScript, ancora etichettato come developer preview. Modelli, strumenti, sessioni, storage, sandbox, loop e persino il loop dell'agente stesso sono plugin intercambiabili.
  • OpenCode è un agente di coding nativo per terminale in Go con circa 198k stelle GitHub, una TUI matura, supporto LSP e un ampio catalogo di provider. Oggi è la scelta sicura predefinita.
  • La scelta dell'harness sposta l'utilizzo di token più di quanto molti si aspettino. In un benchmark di 30 flussi di lavoro su DeepSeek V4 Flash, gli harness testati variavano da circa 192.000 a 1.400.000 token medi per attività.
  • DeepSeek Harness non era in quel benchmark. È stato lanciato due giorni dopo la pubblicazione, quindi chiunque citi i numeri del benchmark di Harness in questo momento sta indovinando.
  • Entrambi sono agnostici rispetto al modello, quindi puoi puntarli entrambi a un endpoint compatibile con OpenAI ed eseguire un test genuino alla pari. Questo è l'unico numero che conta per il tuo codebase.

Mano che digita su un laptop che mostra codice accanto a una tazza di caffè

Due laptop affiancati su una scrivania illuminata dal sole mentre eseguono lo stesso compito di coding attraverso due diversi agent harness

L'unico modo equo per confrontare DeepSeek Harness e OpenCode: un modello, un compito, due terminali.

Perché DeepSeek Harness vs OpenCode è diventato il dibattito del mese

La premessa di DeepSeek è uno slogan: Agente = Modello + Harness. Il modello pensa, l'harness legge file, esegue il terminale e chiama gli strumenti. Per due anni tutti hanno ottimizzato la prima metà e trattato la seconda come semplice impiantistica.

L'impiantistica si è rivelata costosa.

Composio ha eseguito 30 flussi di lavoro multi-app complessi attraverso 8 diversi agent harness, tutti guidati dallo stesso modello DeepSeek V4 Flash, con un limite di 900 secondi per attività e valutazione binaria programmatica su 240 esecuzioni (Composio, agosto 2026). Stesso modello ovunque. I risultati non sono stati nemmeno vicini.

HarnessTasso di successoTempo medianoToken medi per attività
Pi Agent66.7%132.2s559.000
Prime Agent62.5%242.1s1.400.000
OMP56.7%272.4s742.000
Claude Code53.3%122.7s742.000
Codex53.3%245.0s678.000
DeepAgents53.3%187.1s665.000
Hermes Agent50.0%175.5s192.000
OpenCode46.7%129.7s692.000

Leggi di nuovo la colonna dei token. L'harness più parsimonioso ha usato circa un settimo dei token di quello più dispendioso, eseguendo lo stesso modello sugli stessi compiti. La conclusione del benchmark stesso era che gli harness "possono essere importanti quanto i modelli che eseguono."

Ora la parte che la maggior parte degli articoli salta. DeepSeek Harness non è in quella tabella. Il benchmark è stato pubblicato l'11 agosto e Harness è arrivato il 13. Non esiste ancora un numero di token credibile testa a testa per DeepSeek Harness, e chiunque te ne mostri uno questo mese o lo ha eseguito su un compito molto specifico o se lo è inventato. Quello che la tabella ti dà è una solida base documentata per OpenCode: 692.000 token per attività, 46.7% di tasso di successo, 129.7 secondi mediana.

Quello è il numero che stai cercando di battere, e il resto di questo articolo spiega come testarlo onestamente.

DeepSeek Harness vs OpenCode: stesso modello, un endpoint, due runtime

Ecco la forma pratica di ciascuno strumento prima di eseguire qualsiasi cosa.

DeepSeek Harness (dsh)OpenCode
DaDeepSeek AIAnomaly (originariamente SST)
Rilasciato13 agosto 2026Fine 2025
Stelle GitHub~143k~198k
LicenzaMITMIT
LinguaggioTypeScriptGo
InterfacciaWeb UI su 127.0.0.1:3080TUI nel terminale
StatoDeveloper preview, modifiche dirompenti previsteMaturi, ampiamente distribuiti
ArchitetturaTutto è un plugin: modelli, strumenti, abilità, sessioni, sandbox, storage, loop, pianificazione, UINucleo fisso, due agenti integrati (build, plan), estensioni MCP e LSP
Configurazione$DSH_HOME/settings.yamlopencode.json
Contabilità tokenContatore token integrato con proiezioni di pressione contesto e ripartizione, più compattazione tramite foldingTracciamento token e costo per sessione, ripartizione minima nella TUI
Ideale perTeam che vogliono riscrivere il loop dell'agente stessoTeam che vogliono un agente di coding che funzioni oggi

La riga importante è quella dell'architettura. OpenCode ti dà un agente ben costruito e ti permette di estendere i bordi. DeepSeek Harness ti dà uno scheletro e ti permette di sostituire la spina dorsale, incluso il loop dell'agente, che è esso stesso un plugin. Questo è davvero insolito, ed è anche il motivo per cui è ancora in anteprima.

Entrambi sono agnostici rispetto al modello, e questo è il motivo per cui un test equo è possibile. Puntali entrambi a un endpoint compatibile con OpenAI che serve un solo modello e ogni differenza che misuri appartiene all'harness.

Per questa procedura guida, sto servendo DeepSeek V4 Flash da Atlas Cloud, perché espone un endpoint compatibile con OpenAI semplice che entrambi gli harness accettano senza alcun codice adattatore, e la stessa chiave funziona per entrambe le esecuzioni. La scheda di deepseek-v4-flash-0731 lì costa $0.14 per milione di token in input e $0.28 per milione di token in output, con una finestra di contesto di 1.048.576 token e un massimo di output di 393.216, ad agosto 2026. Qualsiasi provider compatibile con OpenAI funziona per questo test. Il punto è che entrambi gli harness devono colpire lo stesso.

Vale la pena sapere prima di scegliere un modello: OpenCode pubblica i propri dati aggregati di utilizzo, e i modelli DeepSeek hanno mosso 233 trilioni di token attraverso di esso, con V4 Flash che rappresenta l'85.5% e V4 Pro il restante 14.5% (OpenCode, agosto 2026). Flash è ciò su cui l'ecosistema funziona effettivamente.

Passaggio 1: Puntare DeepSeek Harness e OpenCode allo stesso modello

Ottieni una chiave API e un URL di base, poi fornisci a entrambi gli strumenti la stessa identica coppia. Crea la chiave nella console Atlas Cloud ed esportala una volta:

bash
1export ATLAS_API_KEY="your-api-key"
2

Prima di collegare uno dei due harness, verifica l'endpoint e l'ID esatto del modello con una chiamata. Se questa non restituisce testo, nulla a valle funzionerà:

bash
1curl https://api.atlascloud.ai/v1/chat/completions \
2  -H "Authorization: Bearer $ATLAS_API_KEY" \
3  -H "Content-Type: application/json" \
4  -d '{
5    "model": "deepseek-ai/deepseek-v4-flash-0731",
6    "messages": [{"role": "user", "content": "Rispondi con la singola parola: pronto"}]
7  }'
8

Aiuta vedere il modello rispondere al compito reale una volta, direttamente attraverso l'endpoint, prima di passarlo a un agente. Poi sai che un'esecuzione fallita è colpa dell'harness e non della rotta:

Diagramma che confronta un prompt di coding con codice generato e statistiche dei token

Il prompt del compito dell'articolo inviato a api.atlascloud.ai, accanto alla risposta reale restituita da DeepSeek V4 Flash 0731 e all'utilizzo di token segnalato dalla chiamata

Una chiamata reale a deepseek-ai/deepseek-v4-flash-0731, lo stesso ID modello che useranno entrambi gli harness: 148 token in input, 6.879 token in output, di cui 5.731 di ragionamento. Questa è la tua base di partenza prima che un harness aggiunga un singolo schema di strumento.

Ora configura ciascun lato. DeepSeek Harness legge $DSH_HOME/settings.yaml, e i provider personalizzati compatibili con OpenAI vanno sotto il plugin llm-pi-ai (documentazione DeepSeek Harness, agosto 2026):

yaml
1llm-pi-ai:
2  providers:
3    atlas:
4      apiKeyEnv: ATLAS_API_KEY
5      api: openai-completions
6      baseURL: https://api.atlascloud.ai/v1
7      models:
8        - id: deepseek-ai/deepseek-v4-flash-0731
9

Il campo api accetta openai-completions, openai-responses o anthropic-messages. Usa openai-completions qui. Se preferisci non modificare manualmente il file YAML, la UI web ha Impostazioni > Modelli > Aggiungi provider personalizzato, che scrive lo stesso blocco e archivia la chiave in $DSH_HOME/.credentials.yaml invece.

OpenCode legge opencode.json nella radice del tuo progetto o nella directory di configurazione globale (documentazione OpenCode, agosto 2026):

json
1{
2  "$schema": "https://opencode.ai/config.json",
3  "provider": {
4    "atlas": {
5      "npm": "@ai-sdk/openai-compatible",
6      "name": "Atlas Cloud",
7      "options": {
8        "baseURL": "https://api.atlascloud.ai/v1",
9        "apiKey": "{env:ATLAS_API_KEY}"
10      },
11      "models": {
12        "deepseek-ai/deepseek-v4-flash-0731": {
13          "name": "DeepSeek V4 Flash 0731",
14          "limit": { "context": 1048576, "output": 393216 }
15        }
16      }
17    }
18  },
19  "model": "atlas/deepseek-ai/deepseek-v4-flash-0731"
20}
21

Usa @ai-sdk/openai-compatible, non @ai-sdk/openai, poiché questo endpoint serve /v1/chat/completions. Imposta i valori limit sul contesto e output reali, perché OpenCode li usa per decidere quando riassumere, e un limite sbagliato distorcerebbe seriamente il confronto dei token.

Passaggio 2: Eseguire il compito di benchmark in DeepSeek Harness

Scegli un compito che sia abbastanza grande da richiedere diverse chiamate di strumenti e abbastanza piccolo da essere valutato oggettivamente. Multi-file, più una suite di test che deve effettivamente passare. Usa lo stesso stato del repository per entrambe le esecuzioni, quindi fai prima un commit o stash.

Questo è il prompt esatto del compito. Incollalo letteralmente in entrambi gli harness:

text
1In questo repository, aggiungi un middleware di limitazione della velocità a token bucket per l'app
2Express in src/server.js. Limita ogni IP a 60 richieste al minuto. In caso di rifiuto,
3restituisci HTTP 429 con il corpo JSON {"error":"rate_limited","retryAfter":<secondi>}.
4Collega il middleware a ogni route /api/*. Aggiungi test unitari in
5test/rate-limit.test.js che coprano tre casi: una richiesta sotto il limite è consentita,
6una richiesta oltre il limite viene bloccata con 429 e il contatore si azzera
7dopo la scadenza della finestra. Esegui la suite di test e correggi i fallimenti fino a quando non passa.
8Non modificare alcun file al di fuori di src/ e test/.
9

Avvia Harness dalla directory del tuo progetto:

bash
1cd /path/to/your/repo
2npx @deepseek-ai/dsh web
3

Questo avvia la UI web su http://127.0.0.1:3080. Seleziona il provider atlas e il modello deepseek-ai/deepseek-v4-flash-0731, incolla il compito e lascialo eseguire fino al completamento. Non intervenire, non rispondere a domande di chiarimento con suggerimenti. Qualsiasi aiuto che dai a un harness e non all'altro invalida il confronto.

Quando termina, apri la vista Trajectory. Questo è il record della sessione ed è dove vivono i numeri dei token.

Passaggio 3: Ripetere l'esecuzione in OpenCode per un test equo DeepSeek Harness vs OpenCode

Ripristina il repository allo stesso identico stato iniziale. Questo passaggio è dove la maggior parte dei confronti informali si rompe silenziosamente, perché il secondo harness parte su un repository che il primo ha già riparato a metà.

bash
1git checkout -- . && git clean -fd
2

Quindi esegui OpenCode contro lo stesso modello:

bash
1opencode --model atlas/deepseek-ai/deepseek-v4-flash-0731
2

Incolla il prompt del compito identico dal Passaggio 2. Usa l'agente build predefinito, poiché è quello con accesso completo a file e shell. Di nuovo, nessun suggerimento, nessuna correzione di rotta, stesso trattamento di non interferenza.

Lascialo finire, poi verifica entrambe le esecuzioni nello stesso modo in cui verificheresti qualsiasi PR:

bash
1npm test
2

Un'esecuzione che lascia la suite in rosso non è passata, non importa quanto sicuro sembri il riepilogo. Valutalo in modo binario, esattamente come fa la metodologia Composio. Un limitatore di velocità che funziona a metà è un fallimento.

Passaggio 4: Leggere l'utilizzo di token di DeepSeek Harness vs OpenCode

Ora raccogli i numeri. Entrambi gli harness tracciano l'utilizzo, ma lo presentano in modo molto diverso, e questa è la più grande differenza quotidiana tra loro.

DeepSeek Harness include un contatore token montato per impostazione predefinita. Espone tre proiezioni di sessione che puoi leggere direttamente: tokenUsage per il totale corrente, contextPressure per quanto sei vicino alla finestra e contextBreakdown per dove sono andati effettivamente i token. Quest'ultimo è quello utile, perché ti dice se la tua bolletta è composta da prompt di sistema, schemi di strumenti, letture di file o ripetizione di conversazione. Il contatore utilizza un'euristica fissa di circa un token ogni quattro caratteri piuttosto che un tokenizer reale, quindi trattalo come una stima forte, non una fattura.

Harness gestisce anche un contesto pieno in modo diverso. Invece di troncare, il suo motore di compattazione piega: sostituisce la superficie visibile al modello con un riepilogo, mentre il log completo rimane nel livello di persistenza. Perdi token dal prompt, non la cronologia dal record.

OpenCode traccia token e costo per sessione e li stampa nella riga di stato mentre lavori. La ripartizione nella TUI è deliberatamente minima, motivo per cui esiste un piccolo ecosistema di analizzatori esterni che leggono direttamente il database delle sessioni di OpenCode per suddividere l'utilizzo per strumento e per tasso di cache hit. Se vuoi un'attribuzione per strumento, dovrai installare qualcosa.

Per il confronto stesso, non fidarti del contatore di nessuno dei due strumenti come parola finale. Usa il numero dal lato del provider, perché è quello che stai effettivamente pagando:

Cosa confrontareDove ottenerlo
Token totali in inputDashboard di utilizzo del provider, per chiave API
Token totali in outputDashboard di utilizzo del provider, per chiave API
Numero di chiamate al modelloVista Trajectory dell'harness / Log sessione OpenCode
Tempo realeCronometro, dall'inizio all'ultima scrittura file
Passato o fallitoCodice di uscita di npm test

Il metodo più pulito è creare due chiavi API separate, una chiamata harness-test e una opencode-test, e usarle ciascuna per esattamente un'esecuzione. Quindi la pagina di utilizzo del provider ti dà un confronto indiscutibile affiancato con zero errore di stima. Questo trucco richiede due minuti e rimuove ogni fonte di disaccordo su quale contatore sia giusto.

Utilizzo di token di DeepSeek Harness: cosa sposta realmente la bolletta

Una volta che hai numeri reali, queste sono le leve che vale la pena toccare. Si applicano a entrambi gli harness e contano molto di più di quale hai scelto.

La ripetizione della conversazione è di solito la voce più grande. Gli agenti reinviano la conversazione in crescita a ogni passo. Un compito di 40 passi non costa 40 prompt, costa qualcosa di più vicino alla somma di 40 prompt sempre più lunghi. Questo è il motivo per cui la gamma del benchmark è andata da 192.000 a 1.400.000 token sullo stesso lavoro. Gli harness che riassumono in modo aggressivo si posizionano in fondo a quella gamma.

I cache hit sono l'ottimizzazione più economica disponibile. I cache hit di DeepSeek V4 Flash costano circa $0.0028 per milione di token contro $0.14 per milione su un miss, circa il 98% più economico. La memorizzazione nella cache funziona solo quando il prefisso della richiesta è identico byte per byte, che è esattamente il motivo per cui DeepSeek Harness impone l'interpolazione rigorosa {{variable}} con semantica di fallimento rumoroso e mantiene un'intestazione di richiesta stabile. Un harness che mescola il tuo prompt di sistema tra le chiamate trasforma silenziosamente ogni hit in un miss.

Gli schemi degli strumenti viaggiano su ogni singola chiamata. Venti server MCP connessi significano venti set di schemi nel prompt, per sempre, indipendentemente dal fatto che il compito li tocchi o meno. Disconnetti ciò di cui questo compito non ha bisogno prima di eseguire il benchmark, o stai misurando la tua configurazione MCP piuttosto che il tuo harness.

Risultati di strumenti sovradimensionati avvelenano il contesto. Un cat di un file di 3.000 righe, o un test runner verboso che scarica stack trace completi, rimane nella conversazione per il resto dell'esecuzione. Harness ha un compagno opzionale di potatura dei risultati che riscrive i risultati degli strumenti sovradimensionati prima di riassumerli. Vale la pena attivarlo.

I tentativi sono invisibili finché non conti le chiamate. Un harness che riprova un test fallito tre volte spende il triplo. Confronta la colonna del conteggio delle chiamate, non solo i token totali, o diagnosticherai erroneamente un loop di tentativi come un modello costoso.

Sul costo, l'aritmetica è semplice una volta che hai un conteggio di token. Alla tariffa Atlas Cloud per DeepSeek V4 Flash, un compito da 692.000 token orientato all'input costa pochi centesimi. Questa è la buona notizia su tutta questa categoria: il modello è abbastanza economico che lo spreco dell'harness è un problema di efficienza piuttosto che un'emergenza di budget. Diventa un numero reale solo quando moltiplichi per un team, che lavora tutto il giorno, ogni giorno. Sfoglia il catalogo completo dei modelli se vuoi eseguire lo stesso test contro un secondo modello e separare gli effetti del modello dagli effetti dell'harness.

Un avvertimento che dovrebbe influenzare la tua decisione più di qualsiasi numero di token: DeepSeek Harness è esplicitamente in developer preview e il suo stesso README avverte in maiuscolo che ci saranno modifiche dirompenti della compatibilità. È una cosa buona da confrontare e una cosa rischiosa su cui standardizzare un team questo mese. OpenCode è la scelta noiosa, e noioso è una caratteristica quando viene eseguito sul tuo repository di produzione.

Domande frequenti

DeepSeek Harness è migliore di OpenCode?

Non ancora, per la maggior parte delle persone. OpenCode è maturo, nativo per terminale, ha circa 198k stelle e un ampio catalogo di provider, e funziona oggi. DeepSeek Harness ha due settimane, è in developer preview e avverte di modifiche dirompenti. Harness è più interessante architetturalmente, perché ogni componente, incluso il loop dell'agente, è un plugin sostituibile. Se vuoi riscrivere gli interni dell'agente, Harness è costruito per quello. Se vuoi pubblicare codice questa settimana, OpenCode.

DeepSeek Harness funziona solo con i modelli DeepSeek?

No. È agnostico rispetto al modello. Include provider catalogati per DeepSeek, Anthropic, OpenAI, Bedrock, Vertex, Azure e Codex, e puoi aggiungere qualsiasi provider personalizzato che parli openai-completions, openai-responses o anthropic-messages aggiungendo un blocco a $DSH_HOME/settings.yaml. La configurazione nel Passaggio 1 lo punta a un endpoint compatibile con OpenAI di terze parti senza codice adattatore.

Come verifico l'utilizzo di token di DeepSeek Harness?

Usa il contatore token integrato, che è montato per impostazione predefinita ed espone le proiezioni tokenUsage, contextPressure e contextBreakdown, visibili nella vista Trajectory. Nota che stima con un'euristica fissa di circa un token ogni quattro caratteri piuttosto che eseguire un tokenizer reale. Per la precisione di fatturazione, leggi invece la dashboard di utilizzo del tuo provider, idealmente con una chiave API dedicata per esecuzione. Plugin della community come le dashboard di utilizzo token aggiungono record persistenti per sessione sopra.

Quale harness usa meno token, DeepSeek Harness o OpenCode?

Non esiste ancora un confronto testa a testa pubblicato. Il benchmark di 8 harness su DeepSeek V4 Flash ha misurato OpenCode a 692.000 token medi per attività, ma è stato eseguito due giorni prima del rilascio di DeepSeek Harness, quindi Harness non era incluso. Chiunque citi un numero di Harness da quel benchmark sta citando qualcosa che non esiste. Esegui il test dei Passaggi da 2 a 4 sul tuo repository, poiché l'utilizzo di token dipende fortemente dalle dimensioni del tuo codebase, dalla tua configurazione MCP e dalla forma del compito.

Posso eseguire DeepSeek Harness e OpenCode con la stessa chiave API?

Sì, e per un test informale va bene. Per una misurazione pulita, usa due chiavi separate, una per harness. Quindi la dashboard di utilizzo del tuo provider attribuisce automaticamente ogni token all'esecuzione corretta e non devi mai riconciliare due stimatori interni diversi con una fattura.

Qual è la differenza tra un agente e un harness?

La stessa premessa di DeepSeek è Agente = Modello + Harness. Il modello ragiona. L'harness è tutto ciò che lo collega alla realtà: leggere e scrivere file, eseguire comandi shell, chiamare strumenti, gestire sessioni, gestire approvazioni e guidare il loop che decide cosa succede dopo. Stesso modello più un harness diverso ti dà un agente misurabilmente diverso, che è l'intero punto di questo confronto.

Modelli recenti

Un'unica API per tutta l'IA multimediale.

Esplora tutti i modelli