DeepSeek Harness v0.1: architettura Cordis e usi pratici

deepseek v4sito ufficiale deepseektutorial deepseekDeepSeek HarnessAgent

Diagramma dell'architettura dei plugin e del framework di agenti open source di DeepSeek Harness

DeepSeek ha rilasciato ufficialmente DeepSeek Harness (dsh). Si tratta di un framework open source dedicato alle applicazioni agent, con la versione v0.1 Developer Preview attualmente disponibile sotto licenza MIT. Non si tratta di un nuovo modello linguistico né di una semplice interfaccia web di chat, ma di uno strato di esecuzione che connette modelli, strumenti, filesystem, sandbox, sessioni e interfacce utente.

Se consideriamo DeepSeek V4 come il “cervello” responsabile della comprensione e del ragionamento, Harness funziona come un “banco di lavoro” che permette al modello di leggere progetti, chiamare strumenti, eseguire comandi, salvare lo stato delle attività e portare a termine il lavoro in modo continuativo. Questo articolo non si concentra sugli slogan promozionali, ma spiega cosa sia DeepSeek Harness, come funziona, in quali scenari sia utile e come gli utenti comuni dovrebbero approcciarsi ad esso.

Cos’è DeepSeek Harness?

Le applicazioni di chat tradizionali solitamente operano secondo il modello “domanda dell’utente—risposta del modello”. Le attività degli Agent richiedono passaggi aggiuntivi: il modello deve innanzitutto valutare l’azione successiva, chiamare gli strumenti, leggere i risultati dell’esecuzione, ripianificare se necessario e continuare fino al completamento del compito. Il sistema che organizza questo flusso è definito Agent Harness.

DeepSeek Harness è sviluppato da DeepSeek AI e si basa sul meta-framework Cordis. L’idea centrale, come dichiarato ufficialmente, è semplice: Everything is a Plugin (Tutto è un plugin). Gli adattatori dei modelli, i registry degli strumenti, i log delle sessioni, l’Agent Loop, nonché le interfacce e le policy di approvazione, possono essere caricati, sostituiti o combinati come plugin.

Questo significa che un team non deve riscrivere l’intero Agent per cambiare modello, sandbox o sistema di strumenti. Una configurazione può generare un’applicazione web, mentre un’altra configurazione può eseguire compiti automatizzati senza interfaccia; il confine tra il codice di business e le capacità sottostanti diventa quindi più chiaro.

Qual è la relazione con DeepSeek V4 e il sito ufficiale DeepSeek?

Questi tre concetti spesso si confondono; la tabella seguente li distingue:

NomeFunzione principalePubblico target
DeepSeek V4Fornisce capacità di modello come comprensione del linguaggio, ragionamento e generazione di codicePersone e sviluppatori che necessitano di capacità di modello
Sito ufficiale DeepSeek e ingresso chatOffre un’esperienza di conversazione online pronta all’usoUtenti che desiderano fare domande, scrivere, tradurre o elaborare documenti rapidamente
DeepSeek HarnessCombina modelli, strumenti, sessioni, filesystem e flussi di esecuzione per creare AgentSviluppatori che vogliono costruire, personalizzare o studiare sistemi di agenti

Pertanto, Harness non sostituisce il modello. Risolve la questione su “come far partecipare in modo affidabile il modello a compiti reali”. Se si desidera semplicemente provare il modello, è possibile iniziare dall’ingresso del sito ufficiale DeepSeek da questo sito; per le basi d’uso, continuate a leggere Tutorial DeepSeek e la Guida all’uso della versione web.

Cosa risolve il concetto “Tutto è un plugin”?

I progetti Agent tradizionali tendono spesso a mescolare chiamate al modello, esecuzione degli strumenti, stato della sessione e logica dell’interfaccia. Quando le funzionalità sono poche il problema non si nota, ma al momento di cambiare modello, connettere una sandbox remota o aggiungere regole di approvazione, si rischia di modificare una parte dell’architettura con effetti a cascata su tutto il sistema.

DeepSeek Harness suddivide le capacità in interfacce sostituibili. La documentazione ufficiale definisce questo confine come capability seam (sottile divisione delle capacità), che comprende tipicamente tre ruoli: Service Definition per definire l’interfaccia, Service Provider per implementare la capacità e Consumer per utilizzarla. Ad esempio, il filesystem può offrire la stessa interfaccia attraverso directory locali, contenitori remoti o sandbox ristrette; gli strumenti di livello superiore non devono sapere dove risiedano fisicamente i file.

Livello PluginContenuto gestitoValore della sostituibilità
Adattatore modelloRichieste al modello, messaggi e output in streamingPossibilità di connettere modelli diversi o endpoint compatibili
Strumenti e permessiRegistrazione strumenti, verifica pre-chiamata, esecuzione e elaborazione risultatiRestrizione di lettura/scrittura, comandi e permessi di rete in base allo scenario
Sessione e logSalvataggio messaggi, chiamate agli strumenti, risultati e cambiamenti di statoSupporto per recupero, playback, branching e audit
Filesystem e sandboxLettura/scrittura file, esecuzione comandi e ambienti isolatiCommutazione tra ambienti di esecuzione locali e remoti
Agent LoopOrganizzazione delle richieste al modello, chiamate agli strumenti e passaggi successiviPersonalizzazione del ciclo di compito e condizioni di stop
Web o HeadlessOfferta di interfaccia browser o modalità di esecuzione senza interfacciaStesse capacità utilizzabili per interazione e automazione

Il vero valore della natura a plugin non è il “numero elevato di plugin”, ma la riduzione dei costi di sostituzione. Gli sviluppatori possono modificare un singolo provider di capacità invece di duplicare e mantenere l’intero stack dell’Agent.

Come DeepSeek Harness porta a termine una singola attività?

L’ufficiale definisce una singola attività utente come Turn, che può contenere più Step. Ogni Step corrisponde a una richiesta al modello e all’esecuzione degli strumenti attivata da tale richiesta. Il flusso semplificato è il seguente:

  1. Harness riceve il messaggio dell’utente e assembla prompt di sistema, messaggi storici e strumenti attualmente disponibili.
  2. Il modello valuta se rispondere direttamente o chiamare strumenti come filesystem, terminale o ricerca.
  3. La chiamata allo strumento passa attraverso le policy di autorizzazione e la pipeline di esecuzione; i risultati vengono scritti nel log della sessione.
  4. Se il risultato dello strumento richiede al modello un ulteriore elaborazione, Harness avvia lo Step successivo.
  5. Non ci sono strumenti in attesa o nuovi input: termina il Turn corrente.

I log della sessione sono una parte cruciale di questa architettura. I contenuti visti dal modello devono essere ricostruibili dai log; messaggi, chiamate agli strumenti, output in streaming e cambiamenti di stato possono diventare eventi persistenti. Questo facilita il recupero delle attività, il debugging e fornisce basi affidabili per playback e audit futuri.

In quali scenari è utile DeepSeek Harness?

1. Agent di programmazione che necessitano di lettura/scrittura dei progetti

Quando un compito non consiste solo nel generare del codice, ma nell’ comprendere un repository, modificare più file, eseguire controlli e continuare la correzione in base agli errori di compilazione, Harness può combinare filesystem, terminale, LSP, pianificazione e approvazione in un unico flusso. È adatto a compiti continuativi, non a domande occasionali sul codice.

2. Automazione di strumenti aziendali e processi interni

I team possono caricare solo gli strumenti necessari ai loro business e collocare le operazioni sensibili dietro un’approvazione. Ad esempio, un Agent per la ricerca dei documenti avrà accesso solo in lettura, mentre solo un Agent di pubblicazione potrà scrivere in directory specifiche. I permessi derivano dai confini degli strumenti e della sandbox, risultando più gestibili rispetto alla semplice indicazione nei prompt di “non modificare i file”.

3. Sperimentazione multi-modello o con ambienti di esecuzione multipli

Quando è necessario confrontare diversi modelli, combinazioni di strumenti e implementazioni delle sandbox, la struttura a plugin riduce gli sviluppi duplicati. Gli sviluppatori possono mantenere invariate le attività e l’interfaccia, sostituendo solo l’adattatore del modello o il backend di esecuzione, osservando poi tasso di successo, tempi di esecuzione e tipologie di errore.

4. Compiti lunghi, compiti in background e collaborazione multi-agente

I compiti complessi spesso richiedono suddivisione, attesa di risultati esterni o delega a sub-Agent. Harness ha già integrato sessioni, obiettivi, lavoro di background e relative capacità dei sub-Agent in un’architettura unificata, adatta alla costruzione di flussi lunghi, recuperabili e osservabili. Tuttavia, la versione v0.1 è ancora una Developer Preview; si consiglia una testatura approfondita prima dell’uso in produzione.

5. Ricerca su framework Agent e plugin

Per gli autori di framework, il valore di DeepSeek Harness risiede anche nel fornire un vero codice sorgente: come dividere l’Agent Loop, gli eventi della sessione, l’esecuzione degli strumenti, le interfacce di capacità e l’interfaccia utente. I ricercatori possono leggere, modificare e validare il design sfruttando la licenza MIT, senza dipendere esclusivamente da articoli concettuali.

In quali casi non è necessario utilizzarlo?

Non tutti gli utenti DeepSeek necessitano di installare Harness.

  • Se si effettuano solo domande, scrittura, traduzione o riordino di dati, l’uso diretto della chat online è più semplice.
  • Per invocare l’API del modello una sola volta, senza cicli di strumenti o sessioni persistenti, un SDK standard è sufficiente.
  • Se il team non ha ancora esperienza con Node.js, sandbox, permessi e manutenzione dei plugin, è sconsigliato inserire la versione preview nei flussi produttivi critici.
  • Se le esigenze sono altamente fisse e gli script di automazione esistenti funzionano stabilmente, la migrazione verso un Agent potrebbe non offrire vantaggi significativi.

Il criterio di valutazione è semplice: il compito richiede che il modello utilizzi strumenti in più passaggi, legga lo stato e agisca in base ai risultati? Se la risposta è negativa, non è necessario aumentare la complessità del sistema solo per seguire nuovi concetti.

Tutorial rapido su DeepSeek Harness

Al momento, il modo più diretto per avviarlo è tramite npm per lanciare la Web UI. Installate una versione di Node.js supportata, quindi eseguite:

npx @deepseek-ai/dsh web

Di default, l’interfaccia web sarà accessibile su http://127.0.0.1:3080. Una volta nell’interfaccia, seguire questi passaggi:

  1. Aprire le Impostazioni > Models e inserire la DeepSeek API Key per salvarla.
  2. Scegliere una directory di lavoro; il campo di input delle attività non si abilita finché non si seleziona un workspace.
  3. Creare una nuova sessione, iniziando con compiti in sola lettura come “riassumere questo repository e descrivere le directory principali”.
  4. Verificare i prompt di approvazione per ogni operazione sugli strumenti e confermare che l’ambito dei permessi sia conforme alle aspettative.
  5. Tentare operazioni più complesse come la modifica di file, l’esecuzione di test o la suddivisione in sub-task.

Se si desidera eseguire dal codice sorgente, è possibile clonare il repository ufficiale, installare le dipendenze e compilare:

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web

Si consiglia di separare la directory di prova dalle directory di produzione reale; non concedere l’accesso a file sensibili, credenziali o comandi ad alto rischio senza comprendere le policy di autorizzazione. Per altri punti di ingresso base, consultare la Guida all’uso del sito ufficiale DeepSeek su questo sito.

Limitazioni da considerare prima dell’uso

L’ufficiale DeepSeek specifica chiaramente che la versione attuale è un Developer Preview; ci si aspetta un’iterazione rapida e possibili cambi incompatibili con le versioni precedenti. Di conseguenza, i file di configurazione, le interfacce dei plugin o i modi di esecuzione potrebbero subire modifiche.

Prima di un’adozione formale, occorre almeno confermare quattro punti: bloccare una versione testata; validare i plugin in un ambiente isolato; impostare l’approvazione per scritture, comandi e operazioni di rete; preservare i log delle sessioni ed elaborare correttamente le informazioni sensibili. L’open source e la licenza MIT facilitano lo sviluppo secondario, ma non equivalgono alla stabilità e alle garanzie di sicurezza richieste in ambienti produttivi.

Conclusione

La posizione di DeepSeek Harness può essere riassunta così: organizzare le capacità del modello in un sistema Agent eseguibile, estendibile e recuperabile. Si basa su Cordis, inserendo modelli, strumenti, sessioni, sandbox, filesystem, Agent Loop e UI nel sistema a plugin. Per gli sviluppatori che necessitano di personalizzare agenti, commutare ambienti di esecuzione o studiare l’architettura Agent, offre un punto di partenza open source degno di approfondimento; per gli utenti comuni, utilizzare direttamente la chat online di DeepSeek V4 rimane la scelta più semplice.

Per sperimentare le capacità di conversazione, codice ed elaborazione dati di DeepSeek V4, è possibile iniziare dall’ingresso sottostante.

Fonti