Migrare dall'SDK OpenAI Agents all'API Agents: cosa cambia effettivamente a livello architetturale?

La migrazione dall'SDK OpenAI Agents alla nuova Agents API non è una semplice rinomina degli import. Il confine di runtime cambia: il ciclo dell'agente, la sessione durevole, l'orchestrazione, la compattazione del contesto e il ripristino si spostano verso un harness gestito. Questa guida mostra cosa dovrebbe essere spostato, cosa dovrebbe rimanere nella tua applicazione e come dimostrare la migrazione prima del passaggio.
Pubblicato:
Aleksandar Stajić
Updated: 25 settembre 2026 alle ore 18:11
Migrare dall'SDK OpenAI Agents all'API Agents: cosa cambia effettivamente a livello architetturale?

Migrare dall'OpenAI Agents SDK all'Agents API non è una semplice rinomina di import. Il confine architetturale principale cambia: l'SDK esegue il loop dell'agente all'interno della tua applicazione, mentre l'Agents API esegue un harness Codex gestito e una sessione durevole sul lato di OpenAI. La domanda di migrazione non è quindi "Quali classi corrispondono a quali endpoint?" ma "Quali responsabilità di runtime attraversano il confine, quali rimangono nella nostra applicazione e quali devono essere riprogettate?"

La migrazione va da un loop di proprietà dell'applicazione a un harness gestito

Nell'Agents SDK, una esecuzione è un turno a livello di applicazione. Il runner dell'SDK chiama il modello, ispeziona l'output, esegue gli strumenti, segue i passaggi di consegne e continua fino a raggiungere un punto di arresto. Il tuo processo ospita quel loop e quindi ne possiede il ciclo di vita.

Nell'Agents API, OpenAI esegue l'harness. Una sessione è un'istanza durevole di una configurazione di agente che accetta attività, produce eventi, può mettersi in pausa per azioni richieste e può continuare nel tempo. OpenAI gestisce sessioni, orchestrazione, compattazione del contesto e ripristino; la tua applicazione invia lavoro, gestisce gli strumenti funzione, riceve eventi e opzionalmente gestisce un ambiente di esecuzione self-hosted.

Questo spostamento di titolarità è la migrazione. Tutto il resto — sintassi API, schemi degli strumenti, gestione degli eventi, ID di sessione — ne consegue.

La Mappa di Migrazione del Confine di Runtime

AspettoAgents SDKObiettivo di migrazione Agents API
Loop dell'agenteViene eseguito nella tua applicazione tramite il runner dell'SDKViene eseguito nell'harness Codex gestito
Definizione riutilizzabile dell'agenteOggetto Agent nel codice dell'applicazioneConfigurazione dell'agente salvata o inline con modello, istruzioni e strumenti
Continuità della conversazione / del lavoroStrategia di sessione dell'SDK, cronologia, continuazione del risultato o archiviazione dell'applicazioneSessione durevole dell'Agents API
Esecuzione degli strumentiL'SDK coordina le chiamate agli strumenti nel tuo runtimeL'harness richiede chiamate di funzione; la tua applicazione restituisce i risultati
Gestione del contestoIl tuo runtime / strategia di sessione dell'SDKContesto di sessione gestito, compattazione e ripristino, più i confini dei dati della tua applicazione
Passaggi di consegne / specialistiPrimitive di orchestrazione dell'SDKComportamento dell'harness / subagente nell'Agents API; non dare per scontata una semantica uno-a-uno
Ambiente di esecuzioneIl runtime della tua applicazione o un ambiente specifico per gli strumentiAmbiente opzionale ospitato da OpenAI o self-hosted collegato alla sessione
StreamingStreaming dell'SDK dall'esecuzioneFlusso di eventi della sessione dell'Agents API
Ciclo di vita asincronoDi solito gestito dall'applicazione attorno all'esecuzione dell'SDKStati nativi della sessione, turni asincroni e webhook
Tracciamento / osservabilitàTracciamento dell'Agents SDK e log dell'applicazioneLog di sessione dell'Agents, eventi, turni, chiamate agli strumenti, subagenti e tracce esportabili
RipristinoResponsabilità dell'applicazioneRipristino gestito di harness/sessione più ripristino di proprietà dell'applicazione per sistemi esterni e ambienti self-hosted

Cosa può migrare concettualmente senza cambiare titolarità

Diversi concetti dell'applicazione sopravvivono alla migrazione senza problemi anche se la loro rappresentazione cambia. Modelli, istruzioni, definizioni di funzioni con schema JSON, accesso MCP, descrizioni degli strumenti e requisiti di output strutturato rimangono aspetti della configurazione dell'agente.

Il modello di configurazione dell'Agents API di OpenAI definisce esplicitamente un agente tramite modello, istruzioni, strumenti, ragionamento e comportamento di output. Gli strumenti funzione rimangono codice dell'applicazione: l'harness richiede una chiamata di funzione e il tuo handler restituisce il risultato. OpenAI osserva inoltre che le implementazioni di funzioni usate con la Responses API possono essere riutilizzate con il flusso di sessione dell'Agents API.

Cosa non dovrebbe essere migrato uno-a-uno

Il modello di migrazione pericoloso è ricreare ogni astrazione di runtime dell'SDK all'interno dell'Agents API. Questo può portarti a pagare per un harness gestito mentre gestisci ancora un harness ombra nella tua applicazione.

Assunzione dell'era SDKPerché una copia diretta è rischiosaDomanda di migrazione
Il loop dell'applicazione possiede ogni continuazioneL'Agents API possiede già il loop dell'harnessQuale logica di continuazione è logica di prodotto e quale dovrebbe passare alla sessione gestita?
L'oggetto sessione locale è il meccanismo principale di continuitàLe sessioni dell'Agents API sono risorse durevoli con un proprio ciclo di vitaQuale stato appartiene alla sessione rispetto al database di prodotto?
Ogni interruzione viene gestita in modo sincronoI turni dell'Agents API sono asincroni e possono presentare stati action_requiredQuali azioni necessitano di webhook, worker, idempotenza e handler ripristinabili?
Tutta l'esecuzione degli strumenti avviene dove gira il processo dell'SDKGli handler delle funzioni e gli ambienti di esecuzione possono essere separatiDove dovrebbe effettivamente essere eseguito ciascuno strumento?
La traccia dell'SDK è la timeline operativaL'Agents API espone eventi di sessione, turni e tracce gestiteQuali dati di audit a livello di applicazione necessitano ancora di un proprio registro?
L'oggetto handoff corrisponde direttamente a un modello di subagente ospitatoLe semantiche di runtime possono differireQuale titolarità visibile all'utente e comportamento specialistico deve essere preservato, non solo la vecchia struttura delle classi?

Passo 1 — Separare lo stato del dominio dallo stato della sessione dell'agente

Prima di toccare le chiamate API, classifica lo stato che la tua applicazione SDK attualmente trasporta. Parte dello stato esiste solo per mantenere in movimento la conversazione dell'agente. Altro stato è verità di business: permessi utente, stato del progetto, dati dell'ordine, approvazione del flusso di lavoro, record dei clienti, versioni dei documenti, stato delle policy o configurazione dell'applicazione.

La seconda categoria non dovrebbe diventare dipendente da una sessione dell'API Agents. Una sessione durevole è una continuità utile per l'agente; non è un sostituto della fonte di verità del tuo prodotto. Se la sessione scompare, scade, viene ricostruita o cambia implementazione, la tua applicazione deve comunque sapere cosa è vero.

Test di collocazione dello stato

Tipo di statoProprietario preferitoMotivo
Continuità della conversazione
Verità di business
Artefatto durevole
Stato di lavoro temporaneo

Passo 2 — Convertire la mentalità del runner in una mentalità di sessione ed eventi

Le applicazioni SDK spesso pensano in termini di chiamata a run e ricezione di un risultato. L'API Agents pensa in termini di una sessione durevole i cui turni possono essere eseguiti in modo asincrono. Un messaggio a una sessione inattiva avvia il lavoro; un messaggio durante un turno attivo può indirizzarlo. I progressi arrivano tramite streaming o webhook.

Ciò influisce sull'architettura dell'applicazione. Il lavoro di produzione a lunga esecuzione non dovrebbe dipendere dal fatto che una singola richiesta HTTP rimanga attiva. Il tuo prodotto necessita di identificatori di sessione stabili, persistenza del ciclo di vita, verifica dei webhook, gestori idempotenti e un modo per riconciliare lo stato corrente della sessione dopo il riavvio del processo.

Passo 3 — Riprogettare gli strumenti funzione attorno alle azioni richieste

Gli strumenti funzione rimangono un confine importante dell'applicazione. Definisci la funzione e il suo schema JSON nella configurazione dell'agente. Quando l'harness necessita della funzione, la sessione può entrare in uno stato di azione richiesta. La tua applicazione recupera l'azione richiesta, esegue la logica di business e restituisce il risultato.

Ciò significa che l'implementazione della funzione dovrebbe essere sicura da riprendere. Un webhook può essere consegnato mentre un altro worker sta elaborando. Un errore di rete può verificarsi dopo l'effetto collaterale esterno ma prima che il risultato venga restituito. La migrazione è quindi un buon momento per aggiungere ID di chiamata, chiavi di idempotenza, autorizzazione esplicita, politiche di timeout e record di audit agli strumenti consequenziali.

Passo 4 — Decidere dove deve avvenire l'esecuzione

L'API Agents separa l'harness gestito dall'ambiente di esecuzione. Un agente può operare senza un ambiente dedicato, in un sandbox ospitato da OpenAI o tramite un ambiente self-hosted connesso alla sessione.

Ciò crea una decisione di migrazione che le applicazioni SDK potrebbero non aver mai preso esplicitamente: quale codice dovrebbe essere eseguito come funzione dell'applicazione, quale codice appartiene a un sandbox e quali carichi di lavoro richiedono infrastrutture che controlli tu?

EsigenzaConfine probabile
Chiamare un servizio interno esistente tramite logica di business controllataStrumento funzione gestito dalla tua applicazione
Eseguire codice isolato o lavorare con file temporanei senza infrastruttura privataAmbiente ospitato da OpenAI
Accedere a risorse di rete private, software di sistema personalizzato o calcolo locale controllatoAmbiente self-hosted
Persistere artefatti di prodotto accettatiArchiviazione di proprietà dell'applicazione, non solo filesystem del sandbox
Eseguire un effetto collaterale di business ad alto impattoFunzione dell'applicazione con controlli di autorizzazione e audit

Passo 5 — Sostituire il recupero implicito con una gestione esplicita del ciclo di vita

L'harness gestito fornisce il recupero a livello di sessione, ma la tua applicazione possiede comunque ogni dipendenza esterna attorno ad esso. Gli ambienti self-hosted necessitano di provisioning, riconnessione e arresto. I gestori di funzioni possono fallire. I webhook possono essere ritentati. Lo stato lato prodotto può cambiare mentre un agente è inattivo.

La migrazione necessita quindi di due modelli di recupero: recupero del runtime dell'agente e recupero delle operazioni di business. Il primo è sempre più gestito dall'API Agents. Il secondo rimane una tua responsabilità.

Passo 6 — Ricostruire l'osservabilità attorno al nuovo confine di traccia

Le sessioni dell'API Agents espongono eventi, cronologia salvata, turni, chiamate agli strumenti, subagenti e utilizzo dei token. OpenAI fornisce anche i log di sessione nella piattaforma e l'esportazione delle tracce.

Non scartare l'osservabilità della tua applicazione solo perché le tracce della piattaforma sono migliorate. I log di prodotto devono comunque collegare la sessione dell'agente all'identità dell'utente, alla decisione di autorizzazione, all'oggetto di dominio, all'effetto collaterale dello strumento, al record di approvazione e al risultato finale accettato. La traccia di produzione utile è la congiunzione tra le evidenze dell'agent-runtime e le evidenze del business-runtime.

Passo 7 — Preservare le valutazioni prima di modificare il runtime

Una migrazione può sembrare riuscita perché il nuovo sistema produce ancora risposte plausibili mentre cambia silenziosamente la scelta degli strumenti, la continuità della sessione, il comportamento di handoff, la latenza o il recupero dagli errori. Costruisci la baseline comportamentale prima di cambiare runtime.

La baseline dovrebbe includere attività rappresentative, chiamate agli strumenti attese, azioni vietate, punti di approvazione, continuità dello stato, scenari di recupero e criteri di accettazione dell'output finale. Esegui le vecchie e le nuove architetture sugli stessi casi ove possibile.

Il test di prova della migrazione

Dimostra il nuovo runtime prima del passaggio

1
1. Congela la baseline comportamentale
Cattura tracce SDK rappresentative, output attesi, percorsi degli strumenti, punti di approvazione e casi di errore.
2
2. Inventaria la proprietà dello stato
Contrassegna ogni campo di stato come stato della sessione dell'agente, stato di dominio autorevole, artefatto durevole o stato di lavoro effimero.
3
3. Riutilizza implementazioni stabili degli strumenti
Mantieni le funzioni di business dietro interfacce applicative; sostituisci solo l'integrazione rivolta all'agente ove possibile.
4
4. Costruisci una fetta verticale dell'API Agents
Migra un flusso di lavoro a forma di produzione includendo creazione della sessione, strumenti, eventi, ambiente e persistenza.
5
5. Inietta interruzioni
Testa riavvio del processo, retry del webhook, timeout della funzione, riconnessione dell'ambiente self-hosted e stato di dominio obsoleto.
6
6. Confronta le tracce, non solo le risposte
Verifica la scelta degli strumenti, l'autorizzazione, il percorso delle evidenze, le transizioni di stato e gli effetti collaterali rispetto alla baseline.
7
7. Esegui traffico in shadow
Dove fattibile, riproduci o rispecchia attività rappresentative prima di rendere autorevole il nuovo runtime.
8
8. Passa dietro un confine reversibile
Mantieni gli adattatori di integrazione e la capacità di rollback finché il comportamento in produzione non è stabile.

Cosa misurare durante la migrazione

DimensioneVerifica di migrazione
Successo dell'attivitàIl nuovo runtime soddisfa gli stessi o migliori criteri di accettazione?
Correttezza degli strumentiChiama lo strumento giusto con argomenti validi e autorizzazione?
Continuità dello statoIl lavoro può riprendere tra turni, riavvii e attese asincrone?
RecuperoCosa succede dopo perdita di webhook, errore del gestore, disconnessione dell'ambiente o timeout?
TracciabilitàOgni azione consequenziale può essere collegata a sessione, utente, chiamata allo strumento e oggetto di dominio?
Comportamento del contestoLe sessioni di lunga durata preservano i vincoli senza trasportare verità applicative obsolete?
LatenzaCome influiscono l'avvio della sessione, il provisioning dell'ambiente e il lavoro multi-turno sul tempo visibile all'utente?
CostoCosa cambia nell'uso del modello, nell'uso della sandbox, nel contesto ripetuto e nelle operazioni infrastrutturali?
Carico operativoQuali responsabilità precedentemente di proprietà dell'applicazione sono effettivamente scomparse e quali si sono semplicemente spostate?

Quando non migrare ancora

Un'applicazione esistente basata su Agents SDK non diventa una cattiva architettura solo perché la direzione della piattaforma è cambiata. OpenAI continua la manutenzione, le correzioni di sicurezza, le correzioni di bug critici e il lavoro di compatibilità. Se l'applicazione è stabile, ben valutata e non ha requisiti di roadmap bloccati, una migrazione immediata del runtime potrebbe non essere giustificata.

  • Una capacità richiesta dell'SDK non è ancora disponibile nell'API Agents.
  • La migrazione interromperebbe un periodo di produzione critico senza fornire valore a breve termine.
  • L'applicazione dipende da semantiche di orchestrazione personalizzate che non sono state validate sull'harness gestito.
  • La portabilità del provider è un requisito rigido e l'attuale astrazione dell'SDK è materialmente preziosa.
  • Il tuo team non ha ancora separato lo stato di business dallo stato del runtime dell'agente, rendendo il passaggio non sicuro.
  • Il comportamento della nuova API Agents non è stato testato su carichi di lavoro di produzione rappresentativi.

Quando la migrazione diventa strategicamente importante

La migrazione diventa più convincente quando i requisiti di prodotto si allineano con l'harness gestito: lavoro durevole di lunga durata, compattazione e recupero del contesto gestiti dalla piattaforma, capacità più recenti dell'agent-runtime, esecuzione in sandbox, gestione del ciclo di vita ospitata più ricca o il desiderio di ridurre la quantità di codice di orchestrazione che la tua applicazione gestisce.

Il segnale più forte non è "il vecchio SDK è completo di funzionalità". È "la nostra roadmap ora dipende da capacità la cui sede naturale è il runtime gestito dell'API Agents".

Cosa cambierebbe questa risposta?

La strategia di migrazione cambierebbe se OpenAI pubblicasse strumenti di migrazione automatizzati, introducesse livelli di compatibilità espliciti, modificasse la semantica delle sessioni dell'API Agents, ampliasse o restringesse il supporto agli ambienti self-hosted, oppure cambiasse la politica di supporto per l'SDK Agents.

Cambierebbe anche se cambiassero i requisiti del tuo prodotto. Un semplice assistente richiesta-risposta potrebbe non aver bisogno affatto di un harness gestito e durevole. Un agente di coding, ricerca o operations a lunga esecuzione può trarre molto più vantaggio dal modello di ownership dell'API Agents.

Limitazioni

Non esiste una mappa di migrazione universale uno-a-uno da SDK ad API, perché le applicazioni usano l'SDK Agents in modi diversi. Alcune si affidano pesantemente a sessioni e handoff; altre lo usano come un sottile runner attorno a function tool. La migrazione corretta dipende da quali responsabilità la tua applicazione possiede effettivamente oggi.

L'API Agents è anche in beta pubblica, quindi i dettagli implementativi possono evolvere. Considera i principi di ownership in questo articolo come più durevoli di qualsiasi forma specifica di endpoint.

Conclusione

Migrare dall'SDK Agents all'API Agents si comprende meglio come lo spostamento del confine del runtime dell'agente. L'harness gestito si assume una parte maggiore del loop, della continuità di sessione, della compattazione e del ripristino. La tua applicazione dovrebbe diventare più esplicita riguardo alle responsabilità che rimangono tue: verità di dominio, autorizzazione, effetti collaterali delle funzioni, artefatti, auditabilità e ciclo di vita del prodotto.

Se una migrazione lascia in piedi tutta la vecchia macchina di orchestrazione e si limita a sostituire le chiamate SDK con chiamate all'API Agents, probabilmente ha mancato l'opportunità architetturale. L'obiettivo non è riprodurre il vecchio runtime sopra quello nuovo. L'obiettivo è decidere quali responsabilità del runtime non appartengono più alla tua applicazione.

FAQ

Migrare dall'SDK Agents all'API Agents

Migrare dall'SDK Agents all'API Agents è solo una riscrittura di API?

No. Il cambiamento principale è l'ownership del runtime: l'SDK Agents esegue il loop dell'agente nella tua applicazione, mentre l'API Agents esegue un harness Codex gestito e una sessione durevole. Stato, ciclo di vita, gestione degli eventi e ripristino dovrebbero essere riesaminati come questioni architetturali.

I miei function tool devono essere riscritti?

L'implementazione di business spesso può essere riutilizzata se è già dietro un'interfaccia applicativa stabile. L'integrazione rivolta all'agente cambia perché le chiamate di funzione dell'API Agents sono gestite tramite azioni richieste e risultati della sessione.

Dovrei spostare lo stato di business nella sessione dell'API Agents?

In genere no. Mantieni lo stato autoritativo di business e di prodotto nei tuoi database o servizi. Usa la sessione dell'agente per la continuità dell'agente e il contesto di lavoro, non come unica fonte di verità per il tuo prodotto.

Ho bisogno di webhook per l'API Agents?

Non sempre, perché è disponibile anche lo streaming. I webhook sono particolarmente utili per sessioni a lunga esecuzione o asincrone in cui la tua applicazione dovrebbe reagire ai cambiamenti del ciclo di vita senza mantenere uno stream aperto.

Ogni applicazione esistente basata sull'SDK Agents dovrebbe migrare ora?

No. L'SDK rimane supportato in modalità manutenzione. Migra quando il nuovo runtime fornisce un valore significativo per la roadmap e dopo che il comportamento richiesto è stato validato rispetto a valutazioni modellate sulla produzione.

Glossario

Termini chiave della migrazione

Confine del runtime
La divisione delle responsabilità tra il runtime dell'agente gestito dalla piattaforma e il runtime di proprietà dell'applicazione.
Harness
Il runtime dell'agente che coordina chiamate al modello, strumenti, contesto, orchestrazione ed esecuzione continuata.
Sessione
Un'istanza durevole dell'API Agents che conserva la configurazione di un agente, la conversazione e il lavoro salvato tra i turni.
Azione richiesta
Uno stato della sessione in cui l'API Agents necessita di input esterno, come il risultato di una funzione o una connessione all'ambiente, prima che il lavoro possa continuare.
Ambiente self-hosted
Un ambiente di esecuzione gestito dalla tua infrastruttura e connesso all'harness gestito dell'API Agents.
Test di prova della migrazione
Un metodo di validazione a fasi che confronta il nuovo runtime con baseline comportamentali, iniezioni di guasto, tracce e criteri di cutover reversibili.

Fonti primarie e approfondimenti

OpenAI — Agents SDK

Politica di supporto attuale: l'SDK Agents è completo nelle funzionalità, rimane mantenuto e le nuove applicazioni dovrebbero iniziare con l'API Agents.

OpenAI — Eseguire agenti con l'SDK Agents

Documentazione del loop dell'agente di proprietà dell'applicazione SDK e del modello di continuazione.

OpenAI — Panoramica dell'API Agents

Definisce i concetti fondamentali dell'API Agents: agente, ambiente, sessione, eventi e item.

OpenAI — Architettura dell'API Agents

Spiega l'harness ospitato, il server applicativo e i confini degli ambienti di esecuzione ospitati da OpenAI e self-hosted.

OpenAI — Configurare gli agenti

Definisce la configurazione riutilizzabile degli agenti e la personalizzazione a livello di sessione.

OpenAI — Eseguire e continuare le sessioni

Documenta sessioni durevoli, turni asincroni, streaming e steering.

OpenAI — Funzioni dell'API Agents

Definizione dello strumento funzione e il confine del gestore dell'applicazione per i risultati delle funzioni richieste.

OpenAI — Webhook di sessione

Eventi del ciclo di vita per sessioni asincrone, azioni richieste e connessioni a ambienti self-hosted.

OpenAI — Osservabilità e utilizzo dell'API Agents

Log di sessione, eventi, turni, chiamate a strumenti, subagenti, tracce e ispezione dell'utilizzo dei token.

Migrare dall'SDK OpenAI Agents all'API Agents non è una semplice rinomina di import. Il confine architetturale principale cambia: l'SDK esegue il ciclo dell'agente all'interno della tua applicazione, mentre l'API Agents esegue un harness Codex gestito e una sessione durevole dal lato di OpenAI. La domanda di migrazione quindi non è "Quali classi corrispondono a quali endpoint?" ma "Quali responsabilità di runtime si spostano oltre il confine, quali rimangono nella nostra applicazione e quali necessitano di una riprogettazione?"

La migrazione va da un ciclo di proprietà dell'applicazione a un harness gestito

Nell'SDK Agents, una esecuzione è un turno a livello di applicazione. Il runner dell'SDK chiama il modello, ispeziona l'output, esegue gli strumenti, segue i passaggi di consegne e continua fino a raggiungere un punto di arresto. Il tuo processo ospita quel ciclo e quindi ne possiede il ciclo di vita.

Nell'API Agents, OpenAI esegue l'harness. Una sessione è un'istanza durevole di una configurazione di agente che accetta attività, produce eventi, può mettersi in pausa per azioni richieste e può continuare nel tempo. OpenAI gestisce sessioni, orchestrazione, compattazione del contesto e ripristino; la tua applicazione invia lavoro, gestisce gli strumenti funzione, riceve eventi e opzionalmente gestisce un ambiente di esecuzione self-hosted.

Questo spostamento di titolarità è la migrazione. Tutto il resto — sintassi API, schemi degli strumenti, gestione degli eventi, ID di sessione — ne consegue.

La Mappa di Migrazione del Confine di Runtime

AspettoAgents SDKObiettivo di migrazione dell'API Agents
Ciclo dell'agenteViene eseguito nella tua applicazione tramite il runner dell'SDKViene eseguito nell'harness Codex gestito
Definizione riutilizzabile dell'agenteOggetto Agent nel codice dell'applicazioneConfigurazione dell'agente salvata o inline con modello, istruzioni e strumenti
Continuità della conversazione / del lavoroStrategia di sessione dell'SDK, cronologia, continuazione del risultato o archiviazione dell'applicazioneSessione durevole dell'API Agents
Esecuzione degli strumentiL'SDK coordina le chiamate agli strumenti nel tuo runtimeL'harness richiede chiamate a funzioni; la tua applicazione restituisce i risultati
Gestione del contestoIl tuo runtime / strategia di sessione dell'SDKContesto di sessione gestito, compattazione e ripristino, più i confini dei dati della tua applicazione
Passaggi di consegne / specialistiPrimitive di orchestrazione dell'SDKComportamento dell'harness / subagenti nell'API Agents; non presumere una semantica uno-a-uno
Ambiente di esecuzioneIl runtime della tua applicazione o ambiente specifico dello strumentoAmbiente opzionale ospitato da OpenAI o self-hosted collegato alla sessione
StreamingStreaming dell'SDK dall'esecuzioneFlusso di eventi della sessione dell'API Agents
Ciclo di vita asincronoDi solito gestito dall'applicazione attorno all'esecuzione dell'SDKStati nativi della sessione, turni asincroni e webhook
Tracciamento / osservabilitàTracciamento dell'SDK Agents e log dell'applicazioneLog di sessione degli agenti, eventi, turni, chiamate a strumenti, subagenti e tracce esportabili
RipristinoResponsabilità dell'applicazioneRipristino gestito dell'harness/sessione più ripristino di proprietà dell'applicazione per sistemi esterni e ambienti self-hosted

Cosa può migrare concettualmente senza cambiare titolarità

Diversi concetti dell'applicazione sopravvivono alla migrazione in modo pulito anche se la loro rappresentazione cambia. Modelli, istruzioni, definizioni di funzioni JSON-schema, accesso MCP, descrizioni degli strumenti e requisiti di output strutturato rimangono aspetti della configurazione dell'agente.

Il modello di configurazione dell'API Agents di OpenAI definisce esplicitamente un agente attraverso modello, istruzioni, strumenti, ragionamento e comportamento di output. Gli strumenti funzione rimangono codice dell'applicazione: l'harness richiede una chiamata a funzione e il tuo gestore restituisce il risultato. OpenAI nota anche che le implementazioni di funzioni utilizzate con l'API Responses possono essere riutilizzate con il flusso di sessione dell'API Agents.

Cosa non dovrebbe essere migrato uno a uno

Il pattern di migrazione pericoloso è ricreare ogni astrazione runtime dell'SDK all'interno dell'Agents API. Questo può portarti a pagare per un harness gestito continuando comunque a gestire un harness ombra nella tua applicazione.

Assunzione dell'era SDKPerché una copia diretta è rischiosaDomanda di migrazione
Il loop dell'applicazione possiede ogni continuazioneL'Agents API possiede già il loop dell'harnessQuale logica di continuazione è logica di prodotto e quale dovrebbe passare alla sessione gestita?
L'oggetto sessione locale è il meccanismo principale di continuitàLe sessioni dell'Agents API sono risorse durevoli con un proprio ciclo di vitaQuale stato appartiene alla sessione e quale al database di prodotto?
Ogni interruzione è gestita in modo sincronoI turni dell'Agents API sono asincroni e possono presentare stati action_requiredQuali azioni richiedono webhook, worker, idempotenza e handler ripristinabili?
Tutta l'esecuzione degli strumenti avviene dove gira il processo SDKGli handler delle funzioni e gli ambienti di esecuzione possono essere separatiDove dovrebbe effettivamente essere eseguito ciascuno strumento?
La traccia SDK è la timeline operativaL'Agents API espone eventi di sessione, turni e tracce gestiteQuali dati di audit a livello applicativo necessitano ancora di un proprio registro?
L'oggetto handoff mappa direttamente su un modello di subagente ospitatoLe semantiche di runtime possono differireQuale proprietà visibile all'utente e comportamento specialistico deve essere preservato, non solo la vecchia struttura delle classi?

Passo 1 — Separare lo stato di dominio dallo stato della sessione dell'agente

Prima di toccare le chiamate API, classifica lo stato che la tua applicazione SDK attualmente trasporta. Parte dello stato esiste solo per mantenere in movimento la conversazione dell'agente. Altro stato è verità di business: permessi utente, stato del progetto, dati dell'ordine, approvazione del flusso di lavoro, record dei clienti, versioni dei documenti, stato delle policy o configurazione dell'applicazione.

La seconda categoria non dovrebbe diventare dipendente da una sessione dell'Agents API. Una sessione durevole è una continuità utile per l'agente; non è un sostituto della fonte di verità del tuo prodotto. Se la sessione scompare, scade, viene ricostruita o cambia implementazione, la tua applicazione deve comunque sapere cosa è vero.

Test di collocazione dello stato

Tipo di statoProprietario preferitoMotivo
Continuità della conversazione
Verità di business
Artefatto durevole
Stato di lavoro temporaneo

Passo 2 — Convertire la mentalità del runner in una mentalità di sessione ed eventi

Le applicazioni SDK spesso ragionano in termini di chiamata a run e ricezione di un risultato. L'Agents API ragiona in termini di una sessione durevole i cui turni possono essere eseguiti in modo asincrono. Un messaggio a una sessione inattiva avvia il lavoro; un messaggio durante un turno attivo può orientarlo. L'avanzamento arriva tramite streaming o webhook.

Questo influisce sull'architettura dell'applicazione. Il lavoro di produzione di lunga durata non dovrebbe dipendere dal fatto che una singola richiesta HTTP rimanga attiva. Il tuo prodotto necessita di identificatori di sessione stabili, persistenza del ciclo di vita, verifica dei webhook, handler idempotenti e un modo per riconciliare lo stato corrente della sessione dopo i riavvii del processo.

Passo 3 — Riprogettare gli strumenti funzione attorno alle azioni richieste

Gli strumenti funzione rimangono un confine applicativo importante. Definisci la funzione e il suo schema JSON nella configurazione dell'agente. Quando l'harness necessita della funzione, la sessione può entrare in uno stato di azione richiesta. La tua applicazione recupera l'azione richiesta, esegue la logica di business e restituisce il risultato.

Ciò significa che l'implementazione della funzione dovrebbe essere sicura da riprendere. Un webhook può essere consegnato mentre un altro worker sta elaborando. Un errore di rete può verificarsi dopo l'effetto collaterale esterno ma prima che il risultato venga restituito. La migrazione è quindi un buon momento per aggiungere call ID, chiavi di idempotenza, autorizzazione esplicita, policy di timeout e record di audit agli strumenti consequenziali.

Passo 4 — Decidere dove deve avvenire l'esecuzione

L'Agents API separa l'harness gestito dall'ambiente di esecuzione. Un agente può operare senza un ambiente dedicato, in una sandbox ospitata da OpenAI o tramite un ambiente self-hosted connesso alla sessione.

Questo crea una decisione di migrazione che le applicazioni SDK potrebbero non aver mai preso esplicitamente: quale codice dovrebbe essere eseguito come funzione applicativa, quale codice appartiene a una sandbox e quali carichi di lavoro richiedono un'infrastruttura che controlli tu?

EsigenzaConfine probabile
Chiamare un servizio interno esistente tramite logica di business controllataStrumento funzione gestito dalla tua applicazione
Eseguire codice isolato o lavorare con file temporanei senza infrastruttura privataAmbiente ospitato da OpenAI
Accedere a risorse di rete private, software di sistema personalizzato o calcolo locale controllatoAmbiente self-hosted
Persistere artefatti di prodotto accettatiArchiviazione di proprietà dell'applicazione, non solo filesystem sandbox
Eseguire un effetto collaterale di business ad alto impattoFunzione dell'applicazione con controlli di autorizzazione e audit

Passo 5 — Sostituire il recupero implicito con una gestione esplicita del ciclo di vita

Il harness gestito fornisce il recupero a livello di sessione, ma la tua applicazione possiede ancora ogni dipendenza esterna attorno ad esso. Gli ambienti self-hosted necessitano di provisioning, riconnessione e spegnimento. I gestori di funzioni possono fallire. I webhook possono essere ritentati. Lo stato lato prodotto può cambiare mentre un agente è inattivo.

La migrazione necessita quindi di due modelli di recupero: recupero del runtime dell'agente e recupero delle operazioni di business. Il primo è sempre più gestito dalle API Agents. Il secondo rimane una tua responsabilità.

Passo 6 — Ricostruire l'osservabilità attorno al nuovo confine di tracciamento

Le sessioni delle API Agents espongono eventi, cronologia salvata, turni, chiamate agli strumenti, subagenti e utilizzo dei token. OpenAI fornisce anche log di sessione nella piattaforma ed esportazione delle tracce.

Non scartare l'osservabilità della tua applicazione solo perché le tracce della piattaforma sono migliorate. I log di prodotto devono ancora collegare la sessione dell'agente all'identità dell'utente, alla decisione di autorizzazione, all'oggetto di dominio, all'effetto collaterale dello strumento, al record di approvazione e al risultato finale accettato. La traccia di produzione utile è l'unione tra le prove del runtime dell'agente e le prove del runtime di business.

Passo 7 — Preservare le valutazioni prima di cambiare il runtime

Una migrazione può sembrare riuscita perché il nuovo sistema produce ancora risposte plausibili mentre cambia silenziosamente la scelta degli strumenti, la continuità della sessione, il comportamento di handoff, la latenza o il recupero dagli errori. Costruisci la baseline comportamentale prima di cambiare runtime.

La baseline dovrebbe includere attività rappresentative, chiamate agli strumenti attese, azioni vietate, punti di approvazione, continuità dello stato, scenari di recupero e criteri di accettazione dell'output finale. Esegui la vecchia e la nuova architettura sugli stessi casi ove possibile.

Il test di prova della migrazione

Dimostra il nuovo runtime prima del passaggio

1
1. Congela la baseline comportamentale
Cattura tracce SDK rappresentative, output attesi, percorsi degli strumenti, punti di approvazione e casi di errore.
2
2. Inventaria la proprietà dello stato
Contrassegna ogni campo di stato come stato della sessione dell'agente, stato di dominio autorevole, artefatto durevole o stato di lavoro effimero.
3
3. Riusa implementazioni stabili degli strumenti
Mantieni le funzioni di business dietro interfacce applicative; sostituisci solo l'integrazione rivolta all'agente ove possibile.
4
4. Costruisci una fetta verticale delle API Agents
Migra un flusso di lavoro di forma produttiva includendo creazione della sessione, strumenti, eventi, ambiente e persistenza.
5
5. Inietta interruzioni
Testa riavvio del processo, retry del webhook, timeout della funzione, riconnessione dell'ambiente self-hosted e stato di dominio obsoleto.
6
6. Confronta le tracce, non solo le risposte
Verifica scelta degli strumenti, autorizzazione, percorso delle prove, transizioni di stato ed effetti collaterali rispetto alla baseline.
7
7. Esegui traffico in shadow
Ove fattibile, riproduci o rispecchia attività rappresentative prima di rendere autorevole il nuovo runtime.
8
8. Passa dietro un confine reversibile
Mantieni adattatori di integrazione e capacità di rollback fino a quando il comportamento in produzione è stabile.

Cosa misurare durante la migrazione

DimensioneVerifica di migrazione
Successo del compitoIl nuovo runtime soddisfa gli stessi o migliori criteri di accettazione?
Correttezza degli strumentiChiama lo strumento giusto con argomenti validi e autorizzazione?
Continuità dello statoIl lavoro può riprendere attraverso turni, riavvii e attese asincrone?
RecuperoCosa succede dopo perdita di webhook, errore del gestore, disconnessione dell'ambiente o timeout?
TracciabilitàOgni azione consequenziale può essere collegata a sessione, utente, chiamata allo strumento e oggetto di dominio?
Comportamento del contestoLe sessioni di lunga durata preservano i vincoli senza trasportare verità applicative obsolete?
LatenzaCome influiscono l'avvio della sessione, il provisioning dell'ambiente e il lavoro multi-turno sul tempo visibile all'utente?
CostoCosa cambia nell'uso del modello, nell'uso del sandbox, nel contesto ripetuto e nelle operazioni infrastrutturali?
Carico operativoQuali responsabilità precedentemente di proprietà dell'applicazione sono effettivamente scomparse e quali si sono semplicemente spostate?

Quando non migrare ancora

Un'applicazione esistente basata su Agents SDK non diventa una cattiva architettura solo perché la direzione della piattaforma è cambiata. OpenAI continua la manutenzione, le correzioni di sicurezza, le correzioni di bug critici e il lavoro di compatibilità. Se l'applicazione è stabile, ben valutata e non ha requisiti di roadmap bloccati, una migrazione immediata del runtime potrebbe non essere giustificata.

  • Una capacità SDK richiesta non è ancora disponibile nelle API Agents.
  • La migrazione interromperebbe un periodo di produzione critico senza fornire valore a breve termine.
  • L'applicazione dipende da semantiche di orchestrazione personalizzate che non sono state validate sul harness gestito.
  • La portabilità del provider è un requisito rigido e l'attuale astrazione SDK è materialmente preziosa.
  • Il tuo team non ha ancora separato lo stato di business dallo stato del runtime dell'agente, rendendo il passaggio non sicuro.
  • Il comportamento delle nuove API Agents non è stato testato su carichi di lavoro di produzione rappresentativi.

Quando la migrazione diventa strategicamente importante

La migrazione diventa più convincente quando i requisiti di prodotto si allineano con l'harness gestito: lavoro durevole a lunga esecuzione, compattazione e ripristino del contesto gestiti dalla piattaforma, capacità più recenti dell'agent-runtime, esecuzione in sandbox, gestione del ciclo di vita ospitata più ricca, o il desiderio di ridurre la quantità di codice di orchestrazione che la tua applicazione gestisce.

Il segnale più forte non è "il vecchio SDK è completo di funzionalità". È "la nostra roadmap ora dipende da capacità la cui sede naturale è il runtime gestito dell'Agents API".

Cosa cambierebbe questa risposta?

La strategia di migrazione cambierebbe se OpenAI pubblicasse strumenti di migrazione automatizzati, introducesse livelli di compatibilità espliciti, modificasse la semantica delle sessioni dell'Agents API, ampliasse o riducesse il supporto agli ambienti self-hosted, o modificasse la politica di supporto per l'Agents SDK.

Cambierebbe anche se i requisiti del tuo prodotto cambiassero. Un semplice assistente richiesta-risposta potrebbe non aver bisogno affatto di un harness gestito durevole. Un agente di coding, ricerca o operations a lunga esecuzione può trarre molto più vantaggio dal modello di ownership dell'Agents API.

Limitazioni

Non esiste una mappa di migrazione universale uno-a-uno da SDK ad API perché le applicazioni usano l'Agents SDK in modi diversi. Alcune si affidano pesantemente a sessioni e handoff; altre lo usano come un sottile runner attorno a function tool. La migrazione corretta dipende da quali responsabilità la tua applicazione possiede effettivamente oggi.

L'Agents API è anche in beta pubblica, quindi i dettagli di implementazione possono evolvere. Considera i principi di ownership in questo articolo come più durevoli di qualsiasi forma di endpoint individuale.

Conclusione

Migrare dall'Agents SDK all'Agents API è meglio inteso come spostare il confine dell'agent-runtime. L'harness gestito assume il controllo di una parte maggiore del loop, della continuità della sessione, della compattazione e del ripristino. La tua applicazione dovrebbe diventare più esplicita riguardo alle responsabilità che rimangono tue: verità di dominio, autorizzazione, effetti collaterali delle funzioni, artefatti, auditabilità e ciclo di vita del prodotto.

Se una migrazione lascia in piedi tutta la vecchia macchina di orchestrazione e si limita a sostituire le chiamate SDK con chiamate Agents API, probabilmente ha perso l'opportunità architetturale. L'obiettivo non è riprodurre il vecchio runtime sopra quello nuovo. L'obiettivo è decidere quali responsabilità del runtime non appartengono più alla tua applicazione.

FAQ

Migrare da Agents SDK ad Agents API

Migrare dall'Agents SDK all'Agents API è solo una riscrittura di API?

No. Il cambiamento principale è l'ownership del runtime: l'Agents SDK esegue il loop dell'agente nella tua applicazione, mentre l'Agents API esegue un harness Codex gestito e una sessione durevole. Stato, ciclo di vita, gestione degli eventi e ripristino dovrebbero essere rivisti come questioni architetturali.

I miei function tool devono essere riscritti?

L'implementazione di business spesso può essere riutilizzata se è già dietro un'interfaccia applicativa stabile. L'integrazione rivolta all'agente cambia perché le chiamate di funzione dell'Agents API sono gestite tramite azioni richieste e risultati della sessione.

Dovrei spostare lo stato di business nella sessione dell'Agents API?

In genere no. Mantieni lo stato autorevole di business e prodotto nei tuoi database o servizi. Usa la sessione dell'agente per la continuità dell'agente e il contesto di lavoro, non come unica fonte di verità per il tuo prodotto.

Ho bisogno di webhook per l'Agents API?

Non sempre, perché è disponibile anche lo streaming. I webhook sono particolarmente utili per sessioni a lunga esecuzione o asincrone in cui la tua applicazione dovrebbe reagire ai cambiamenti del ciclo di vita senza mantenere uno stream aperto.

Ogni applicazione esistente basata su Agents SDK dovrebbe migrare ora?

No. L'SDK rimane supportato in modalità manutenzione. Migra quando il nuovo runtime fornisce un valore significativo per la roadmap e dopo che il comportamento richiesto è stato validato rispetto a valutazioni modellate sulla produzione.

Glossario

Termini chiave della migrazione

Confine del runtime
La divisione delle responsabilità tra il runtime dell'agente gestito dalla piattaforma e il runtime di proprietà dell'applicazione.
Harness
Il runtime dell'agente che coordina chiamate al modello, strumenti, contesto, orchestrazione ed esecuzione continuata.
Sessione
Un'istanza durevole dell'Agents API che conserva la configurazione di un agente, la conversazione e il lavoro salvato tra i turni.
Azione richiesta
Uno stato della sessione in cui l'Agents API necessita di input esterno, come il risultato di una funzione o una connessione ambientale, prima che il lavoro possa continuare.
Ambiente self-hosted
Un ambiente di esecuzione gestito dalla tua infrastruttura e connesso all'harness gestito dell'Agents API.
Test di prova della migrazione
Un metodo di validazione a fasi che confronta il nuovo runtime con baseline comportamentali, iniezioni di guasto, tracce e criteri di cutover reversibile.

Fonti primarie e ulteriori letture

OpenAI — Agents SDK

Politica di supporto attuale: l'Agents SDK è completo di funzionalità, rimane mantenuto e le nuove applicazioni dovrebbero iniziare con l'Agents API.

OpenAI — Esecuzione di agenti con l'Agents SDK

Documentazione del ciclo dell'agente di proprietà dell'applicazione dell'SDK e del modello di continuazione.

OpenAI — Panoramica dell'Agents API

Definisce i concetti fondamentali dell'Agents API: agente, ambiente, sessione, eventi ed elementi.

OpenAI — Architettura dell'Agents API

Spiega i confini dell'harness ospitato, del server applicativo, dell'ambiente di esecuzione ospitato da OpenAI e self-hosted.

OpenAI — Configurazione degli agenti

Definisce la configurazione riutilizzabile degli agenti e la personalizzazione a livello di sessione.

OpenAI — Eseguire e continuare le sessioni

Documenta le sessioni durevoli, i turni asincroni, lo streaming e lo steering.

OpenAI — Funzioni dell'Agents API

Definizione dello strumento funzione e confine del gestore dell'applicazione per i risultati delle funzioni richiesti.

OpenAI — Webhook di sessione

Eventi del ciclo di vita per sessioni asincrone, azioni richieste e connessioni all'ambiente self-hosted.

OpenAI — Osservabilità e utilizzo dell'Agents API

Log di sessione, eventi, turni, chiamate agli strumenti, subagenti, tracce e ispezione dell'utilizzo dei token.