Cloudflare OS: una piattaforma aperta per agenti, app e lavoro

Phillip Jones e Dan Carter

Lettura di 14 min

Questo post è disponibile anche in English, Deutsch, Español, Español (Latinoamérica), 日本語, 한국어, 繁體中文, 简体中文Nederlands.

Ogni organizzazione ha una missione, una ragione d'essere. Le organizzazioni trasmettono quella missione, insieme alla loro terminologia, procedure, sistemi, standard e modalità operative, alle loro persone. Le persone, a loro volta, combinano questo contesto alla loro esperienza e si impegnano a portare a termine la missione.

Il lavoro può assumere molte forme, dal codice, ai documenti e alle presentazioni, fino alle relazioni e ai risultati nel mondo reale.

Alcuni di questi sono semplici: il codice funziona o non funziona. Negli ultimi anni, gli agenti hanno utilizzato questo ciclo di feedback per produrre codice che "funziona" per gli sviluppatori. Ma cosa dire del resto di noi?

Portare lo stesso vantaggio al resto dell'organizzazione è un problema più complesso. Gli agenti devono comprendere il contesto dell'azienda ed essere in grado di accedere ai sistemi che le persone usano per svolgere il loro lavoro. Devono trasformare quel contesto e accesso in lavoro che consenta all'organizzazione di progredire verso il compimento della sua missione.

Ecco perché abbiamo creato Cloudflare OS. Fornisce a ogni persona un agente e un ambiente di lavoro basati sulla propria azienda: come funziona, cosa sa e i sistemi su cui si basa.

A maggio di quest'anno, abbiamo dato a tutte le persone di Cloudflare accesso alla prima versione di Cloudflare OS. Migliaia di persone con qualsiasi ruolo, molte delle quali non prettamente tecniche, lo utilizzano ogni giorno per creare documenti e presentazioni, automatizzare attività ripetitive e creare piccole app per visualizzare i dati e aiutarle a svolgere il proprio lavoro.

Cloudflare OS ha fornito a tutti anche una libreria condivisa di contesto e skill realizzata dai team di Cloudflare. Cattura la nostra terminologia, le procedure e i modi più conosciuti di svolgere lavori ricorrenti come istruzioni che un agente può seguire. Quando una persona scopre un modo migliore di fare qualcosa, tutti gli altri possono usarlo.

Oggi, stiamo rendendo open source una nuova versione di Cloudflare OS. Qualsiasi organizzazione può distribuirlo, collegarlo ai sistemi interni e personalizzarlo.

Cosa abbiamo imparato dalla prima versione

Il sistema operativo Cloudflare che presentiamo come open source oggi è basato su ciò che abbiamo appreso gestendo la prima versione internamente, un percorso che il nostro CIO, Sam Rhea, descrive nel suo post sul blog.

La prima versione si concentrava su individui che utilizzavano agenti tramite ambienti di lavoro privati. Le app erano statiche piuttosto che software attivo connesso ai sistemi interni, e la maggior parte dei lavori deterministici richiedeva comunque l'esecuzione di una skill da parte di un agente e il consumo di più token di modelli.

La collaborazione ha rivelato una problematica più critica. L'accesso a un server MCP ci ha indicato quali strumenti un agente potrebbe richiedere, ma non quali risorse sottostanti l'agente aveva osservato. Una volta che le persone hanno iniziato a condividere ambienti di lavoro, app e risultati, è stato necessario garantire che la collaborazione non potesse esporre informazioni che qualcuno non era autorizzato a vedere.

Abbiamo rimodellato Cloudflare OS su una nuova base per risolvere questi problemi. La sicurezza doveva far parte della piattaforma, non qualcosa che ogni persona che crea un'app o utilizza un agente deve implementare correttamente.

Il risultato è una piattaforma progettata per appartenere all'azienda che la gestisce. Puoi personalizzare le interfacce, connettere i propri strumenti e aggiungere le skill e il contesto che catturano il modo in cui la tua organizzazione opera.

Introduzione a Cloudflare OS

Cloudflare OS inizia con una conversazione nel tuo browser, come molti altri strumenti IA. Ciò che lo rende diverso è che ogni conversazione è basata sul contesto e le skill che la tua organizzazione ha curato. Dai al tuo ambiente di lavoro un obiettivo, e può attingere a tale conoscenza e utilizzare gli strumenti e i dati che la tua organizzazione già impiega per raggiungerlo.

BLOG-3379 2.png

Cloudflare OS combina tre parti:

  • Un ambiente di lavoro per agenti basato sul contesto e sulle skill curate dalla tua azienda, con un runtime isolato dove gli agenti possono compilare ed eseguire codice.
  • Un nuovo framework di sicurezza e governance per un accesso sicuro ai dati e servizi interni.
  • Una piattaforma per app personali e modificabili che le persone possono creare, condividere e continuare a modificare.

Quello che inizia come una conversazione può diventare un documento, un'app o un flusso di lavoro che continua a svolgere il lavoro.

Un ambiente di lavoro per agenti per tutti nella tua azienda

Gli ambienti di lavoro degli agenti sono stati progettati per essere utilizzati da tutti nella tua organizzazione. Interagisci con loro nel tuo browser, quindi non devi essere uno sviluppatore o sapere come utilizzare un terminale. 

Un ambiente di lavoro combina sessioni di agenti, stato persistente, output e file, accesso alle risorse e un runtime isolato in cui l'agente può compilare ed eseguire codice.

Vengono forniti con il contesto e le skill curati che il tuo team o la tua azienda hanno raccolto. Non è più necessario ripartire da zero per ogni attività: se una persona nel tuo team ha trovato il modo migliore di fare qualcosa, ne beneficiano tutti. Le persone non devono più spiegare allo stesso modello il processo, la terminologia e le best practice ogni volta che iniziano un'attività.

Alcune cose che si possono fare:

Ricerca e formulazione di domande

Chiedi a un ambiente di lavoro di ricercare un argomento utilizzando il contesto aziendale e le risorse che gli metti a disposizione. L'agente può scrivere codice per cercare, filtrare, unire e analizzare le informazioni anziché trasferire un intero set di dati nella finestra di contesto del modello.

Creazione di documenti, presentazioni e fogli di calcolo

Un ambiente di lavoro può trasformare la sua ricerca in un documento, una presentazione o un foglio di calcolo che si può continuare a modificare. Questi output non devono essere file statici. Possono rimanere collegati ai dati in tempo reale, aggiornarsi con le modifiche delle origini ed essere esportati in formati o servizi familiari come Google Drive.

Creazione di app collaborative e connesse per il tuo team

Quando un documento o un foglio di calcolo non è sufficiente, l'agente può creare un'app con la propria interfaccia, logica e stato. L'app può utilizzare le risorse aziendali connesse e supportare più persone che collaborano tra loro.

Esecuzione di flussi di lavoro deterministici 

Non tutti i lavori richiedono una sessione agente completa. Molti sono una sequenza nota di passaggi con uno o due punti in cui il giudizio è utile. Un ambiente di lavoro può trasformare tali lavori in flussi di lavoro per lo più deterministici, utilizzando il codice per i passaggi prevedibili e un modello solo dove aggiunge valore. I flussi di lavoro possono essere eseguiti su richiesta, secondo un programma o quando si verifica un evento in un sistema connesso.

Cloudflare OS consente ad agenti e app l'accesso regolamentato ai sistemi di record tramite Gatekeeper (ulteriori informazioni nella sezione sulla sicurezza di seguito). Supporta inoltre i server Model Context Protocol (MCP) esistenti che la tua organizzazione già utilizza tramite portali server MCP.

Un nuovo framework di sicurezza e governance per un accesso sicuro ai dati e ai servizi interni

Quando le persone iniziano a sperimentare l'IA sul lavoro, una delle prime richieste è spesso una chiave API ai sistemi aziendali. Una richiesta legittima: l'IA non è di grande utilità al lavoro se non ha accesso ai sistemi che le persone usano per svolgere il proprio lavoro.

Ma distribuire le chiavi API a persone e agenti è pericoloso e non è scalabile. Le chiavi spesso forniscono un accesso ampio e duraturo che è difficile da limitare, condividere in sicurezza e verificare.

MCP offre agli agenti un modo migliore per utilizzare questi sistemi. Un server MCP può mantenere le credenziali ed esporre un insieme definito di strumenti invece di distribuire la chiave direttamente all'agente. Ma controllare quali strumenti un agente può richiedere è solo il primo passo. MCP da solo non ci dice quali risorse sottostanti ha osservato un agente. L'agente può combinare informazioni tra sistemi, inviarle in luoghi meno restrittivi o esporle tramite app e output a persone che potrebbero non avere l'autorizzazione a vedere le risorse originali. L'autorizzazione deve tenere conto di dove i dati possono andare successivamente.

Gli agenti iniziano senza accesso

Cloudflare Access controlla chi può accedere a Cloudflare OS. All'interno, ogni agente e app iniziano senza accesso a nulla. Un agente può chiedere l'accesso a una risorsa specifica, che puoi concedere o negare. Il codice generato riceve tale risorsa come un binding tipizzato:

const issues = await env.PROJECT.listIssues({
  teamId: "ENG",
  state: "open",
});

env.PROJECT è una funzionalità che rappresenta l'autorizzazione a utilizzare una risorsa specifica in base a un criterio specifico. Le credenziali rimangono completamente isolate dall'agente e da qualsiasi codice generato.

Il codice del server viene eseguito in un Dynamic Worker con la rete globale in uscita disabilitata. Il codice del client viene eseguito in un frame isolato nel browser. Nessuno può accedere a Internet se non attraverso le capacità che fornisci esplicitamente.

I Gatekeeper governano risorse e azioni

Un Gatekeeper è un Worker specifico per il servizio che si trova tra Cloudflare OS e un servizio esterno. Comprende l'API del servizio, le sue risorse e le operazioni che possono essere eseguite su di esse.

Dare a un agente accesso all'intero account GitHub è probabilmente troppo ampio. Un Gatekeeper può concedergli l'accesso a un singolo repository, consentirgli di leggere i problemi ma non il codice sorgente, mascherare campi particolari, applicare limiti di velocità e richiedere l'approvazione prima di unire una pull request.

L'agente e le sue app vedono una piccola API TypeScript. Il Gatekeeper gestisce OAuth, mantiene le credenziali, applica i criteri, registra ciò che è stato letto e media qualsiasi cosa con un effetto visibile esternamente.

BLOG-3379 3.png

I criteri seguono ciò che l'agente ha visto

Controllare la lettura iniziale non è sufficiente. Prendiamo, ad esempio, il caso in cui un agente legga una tabella sensibile in un data warehouse e la utilizzi per produrre una dashboard in tempo reale. La condivisione della dashboard non deve diventare un modo per condividere la tabella con persone che non potrebbero accedervi direttamente.

Cloudflare OS registra ogni risorsa osservata dagli agenti. Queste osservazioni rimangono associate all'agente e al suo lavoro. Quando un'altra persona tenta di aprire l'ambiente di lavoro, interagire con l'agente o visualizzare ciò che ha prodotto, i Gatekeeper verificano l'accesso di quella persona alle risorse osservate.

BLOG-3379 4.png

Lo stesso registro di osservazione viene utilizzato per informare i criteri che determinano quando gli agenti possono effettuare richieste esterne. La lettura di dati sensibili può impedire all'agente di scrivere dati su determinate fonti, invitare nuovi collaboratori, affidare il lavoro a un altro agente o fare una richiesta in uscita.

Le persone che usano agenti o creano app non devono temere di commettere questi errori. La piattaforma ora può essere utilizzata per gestire tutto questo.

Una piattaforma per creare e condividere app personali e modificabili

La maggior parte delle suite di produttività offre un set fisso di applicazioni: documenti, fogli di calcolo e presentazioni. Nel sistema operativo Cloudflare, ogni "file" può essere un'applicazione a sé stante, scritta da un agente per una persona, un progetto o un team.

Questi non sono prototipi che devi esportare e distribuire altrove. Ognuna è un'applicazione full stack con codice client, codice server, un'API e stato durevole. Le app sono private per impostazione predefinita, ma possono essere condivise come documenti.

Ogni app è un Worker

Quando si chiede al proprio ambiente di lavoro di creare un'app, l'agente compila due parti:

  • Il codice client che esegue il rendering dell'interfaccia utente dell'app nel browser
  • Il codice server che memorizza lo stato e implementa il comportamento dell'app

Il server viene caricato su richiesta come un Dynamic Worker e ne viene creata un'istanza come Durable Object Facet (entrambe sono funzionalità che abbiamo sviluppato per questo progetto). Il modulo fornisce all'app il proprio database SQLite, separato dal runtime del Cloudflare OS che lo gestisce. Dynamic Workers utilizzano isolati V8 leggeri, quindi ogni app può avere il proprio runtime isolato senza la necessità di un server o un container dedicato.

BLOG-3379 5.png

Il client del browser comunica con il server utilizzando Cap'n Web, il sistema di Remote Procedure Call (RPC) con funzionalità a oggetti open source di Cloudflare. Un metodo server può essere chiamato dal client come una normale funzione JavaScript:

const issues = await app.listIssues({
 status: "done",
});

La parte speciale è che l'agente può anche chiamare lo stesso metodo.

Quindi, se puoi creare uno strumento per svolgere un lavoro in autonomia, gli agenti possono usare il tuo strumento per svolgere il lavoro quando non sei presente.

Condividi l'app o condividine le modalità di realizzazione

Quando crei un'app in Cloudflare OS, hai due modi per condividerla:

  • Condividere la tua app consente ad altre persone di collaborare in tempo reale utilizzando lo stesso stato.
  • Condividere un progetto della tua app consente ad altre persone di crearne una propria copia.
BLOG-3379 6.png

Un'app di cui è stata creata un'istanza da un blueprint contiene il codice dell'app originale, ma non contiene i relativi dati SQLite, cronologia delle conversazioni, credenziali o risorse collegate. Ogni nuova app inizia con uno stato e risorse indipendenti.

Ciò significa che quando condividi le app con il tuo team, gli altri possono modificarle autonomamente con l'IA invece di presentare una richiesta di funzionalità e assegnarla a te.

Usa qualsiasi modello e controlla i costi

Cloudflare OS può essere utilizzato con qualsiasi modello. Ogni chiamata di inferenza passa attraverso Cloudflare AI Gateway, offrendo alla tua organizzazione un unico punto per decidere quali modelli sono disponibili e quale modello deve gestire ogni attività.

BLOG-3379 7.png

Non tutte le attività richiedono il modello più costoso. Potresti non voler utilizzare il modello di frontiera più costoso per riassumere le tue email non lette ogni mattina. AI Gateway ti offre il controllo necessario per assicurarti che i modelli costosi vengano utilizzati solo per il lavoro più complesso.

Ogni richiesta è attribuita alla persona, al team o all'ambiente di lavoro che l'ha effettuata. Gli amministratori possono vedere dove viene speso il budget per l'inferenza, impostare budget e limiti di frequenza e decidere cosa accade quando viene raggiunto un limite. 

Open source, così puoi farlo tuo

Cloudflare OS è disponibile oggi ed è open source. Dai un'occhiata al repository GitHub cloudflare-os. Puoi distribuirlo nel tuo account Cloudflare e utilizzare i tuoi criteri di accesso, la configurazione di AI Gateway, i dati e le integrazioni.

La nostra distribuzione interna riflette i sistemi, la terminologia, i criteri e le modalità di lavoro di Cloudflare. La tua dovrebbe riflettere la tua organizzazione.

Cloudflare OS è progettato in modo da poter personalizzare l'interfaccia, aggiungere Gatekeeper interni e creare funzionalità specifiche per l'organizzazione senza modificare il prodotto principale.

Stiamo introducendo due repository: il core di Cloudflare OS e un esempio di distribuzione basato su come lo gestiamo internamente in Cloudflare. Il repository di distribuzione consuma il core senza aggiornarlo, fornendo un luogo per configurazione, interfaccia utente personalizzata, integrazioni interne, analisi e pipeline di distribuzione.

Fornito insieme ai nostri partner

Il codice sorgente è solo il punto di partenza. Il contesto, le skill, i flussi di lavoro, i sistemi interni e i criteri sono ciò che rende Cloudflare OS ancora più utile per la tua organizzazione.

I partner strategici di Cloudflare, Presidio e Happy Cog, collaboreranno con te per personalizzare Cloudflare OS in base al modus operandi della tua organizzazione e implementarlo su tutta la tua forza lavoro.

I partner possono aiutarti a gestire skill condivise e contesto istituzionale, creare interfacce personalizzate, collegare sistemi interni tramite Gatekeeper e portali server MCP, nonché configurare controlli di sicurezza, modelli e costi.

Puoi ottenere un Cloudflare OS personalizzato con il tuo marchio, connesso ai tuoi sistemi, in esecuzione su Cloudflare e modellato in base alle modalità di lavoro effettive del personale.

Inizia

Cloudflare OS è disponibile oggi stesso su GitHub. Puoi esplorare il codice sorgente, provare la demo o distribuirlo nel tuo account Cloudflare in pochi minuti utilizzando il nostro repository di base.

Siamo solo all'inizio. Stiamo lavorando per integrare Cloudflare OS nella dashboard di Cloudflare come prodotto completamente gestito, aggiungendo container per i flussi di lavoro di sviluppo e portando ambienti di lavoro in Slack e altri strumenti di chat.

Se vuoi parlare con il nostro team, saremmo lieti di farlo. Usa questo modulo per contattarci.