Immagine AI

Andrew Ng ha presentato OpenWorker, un agente AI open source progettato per funzionare direttamente sul computer dell’utente e completare attività operative reali, anziché limitarsi a rispondere a una conversazione. Il sistema riceve un obiettivo finale, lo suddivide autonomamente in passaggi e utilizza file locali, applicazioni collegate e servizi esterni per produrre un risultato concreto. Può preparare un brief per un cliente, scrivere la bozza di un report, riordinare un calendario, classificare notifiche Slack ed email, aggiornare appuntamenti e generare documenti completi, chiedendo l’approvazione dell’utente prima di eseguire le operazioni considerate sensibili. OpenWorker è attualmente disponibile per macOS, mentre una versione per Windows è in preparazione, ed è stato concepito come base aperta per una nuova categoria di “colleghi AI” capaci di lavorare sui flussi quotidiani senza dipendere da un singolo fornitore di modelli.

La piattaforma utilizza infatti un’architettura indipendente dal modello. L’utente inserisce direttamente le proprie chiavi API e può scegliere sistemi proprietari come GPT-5.6 Sol, Claude Fable 5 e Gemini 3.6, oppure modelli come Kimi, GLM, DeepSeek e Inkling, comprese soluzioni open weight e modelli locali eseguiti tramite Ollama. Le chiamate vengono inviate dal computer dell’utente direttamente al servizio selezionato e i dati non transitano attraverso un’infrastruttura centrale di OpenWorker, fatta eccezione per i fornitori di modelli e le applicazioni esterne espressamente collegati. Questa impostazione consente di sostituire il modello utilizzato senza modificare il resto del sistema e permette alle organizzazioni di adottare configurazioni locali o servizi compatibili con le proprie politiche di sicurezza e trattamento dei dati.

L’architettura tecnica è organizzata in quattro livelli. L’applicazione desktop è realizzata con Tauri 2 e utilizza un’interfaccia React 18, mentre al suo interno gestisce un server agente scritto in Python. Il server locale è basato su FastAPI e Uvicorn, viene eseguito normalmente su localhost e consente fino a dodici interazioni tra modello e strumenti durante una singola attività. Sopra questo livello si trova il sistema degli strumenti, che comprende accesso al file system, Git, ricerche tramite ripgrep, shell, gestione delle attività e collegamenti a servizi esterni e server compatibili con il Model Context Protocol. Il livello superiore ospita il router dei modelli, costruito sulla libreria indipendente aisuite sviluppata da Andrew Ng, che uniforma l’accesso alle API OpenAI, ai servizi di terze parti, ai modelli open source e a quelli eseguiti localmente.

La gestione dei permessi costituisce una parte centrale del progetto. Ogni chiamata a uno strumento viene classificata in uno di quattro livelli di rischio: lettura, scrittura locale, esecuzione di comandi e azione esterna. L’utente può scegliere tra cinque modalità di autorizzazione, che comprendono configurazioni in sola lettura, interattive e con approvazione automatica. Nella modalità predefinita, qualsiasi modifica ai file, comando di shell o accesso a un servizio esterno richiede una conferma esplicita. Anche durante le esecuzioni non presidiate il sistema non elimina completamente i controlli: quando incontra un’azione che necessita di autorizzazione, sospende il flusso e inserisce la richiesta in una casella di posta interna, attendendo la decisione dell’utente prima di proseguire.

OpenWorker integra inoltre misure specifiche contro la prompt injection. Il prompt operativo stabilisce che pagine web, registri, file e risultati restituiti dagli strumenti debbano essere trattati come dati non attendibili e non come istruzioni da eseguire automaticamente. Le chiavi API, i token OAuth e le altre credenziali sensibili non vengono inseriti nel prompt del modello né nei registri del suo ragionamento. Il server opzionale utilizzato come intermediario per OAuth esegue esclusivamente il processo di autenticazione e non conserva i token ottenuti, riducendo la quantità di informazioni riservate accessibili all’agente e ai servizi coinvolti.

Il progetto propone quindi un modello operativo differente da quello dei tradizionali chatbot: l’interazione non termina con la generazione di una risposta, ma con la consegna di un file, l’invio di un messaggio, l’aggiornamento di un calendario o il completamento di una sequenza di attività. La combinazione tra esecuzione locale, scelta libera del modello, strumenti collegabili tramite MCP, autorizzazioni granulari e approvazione umana rende OpenWorker una base estendibile per agenti desktop destinati al lavoro quotidiano. Andrew Ng ha spiegato di averlo sviluppato per offrire un’alternativa aperta, rispettosa della privacy e non vincolata a uno specifico modello, nella prospettiva che gli agenti capaci di operare come collaboratori diventino una modalità sempre più rilevante di svolgimento del lavoro. OpenWorker può essere scaricato dal repository GitHub del progetto e dal relativo sito ufficiale.

Di Fantasy