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
| Aspetto | Agents SDK | Obiettivo di migrazione Agents API |
|---|---|---|
| Loop dell'agente | Viene eseguito nella tua applicazione tramite il runner dell'SDK | Viene eseguito nell'harness Codex gestito |
| Definizione riutilizzabile dell'agente | Oggetto Agent nel codice dell'applicazione | Configurazione dell'agente salvata o inline con modello, istruzioni e strumenti |
| Continuità della conversazione / del lavoro | Strategia di sessione dell'SDK, cronologia, continuazione del risultato o archiviazione dell'applicazione | Sessione durevole dell'Agents API |
| Esecuzione degli strumenti | L'SDK coordina le chiamate agli strumenti nel tuo runtime | L'harness richiede chiamate di funzione; la tua applicazione restituisce i risultati |
| Gestione del contesto | Il tuo runtime / strategia di sessione dell'SDK | Contesto di sessione gestito, compattazione e ripristino, più i confini dei dati della tua applicazione |
| Passaggi di consegne / specialisti | Primitive di orchestrazione dell'SDK | Comportamento dell'harness / subagente nell'Agents API; non dare per scontata una semantica uno-a-uno |
| Ambiente di esecuzione | Il runtime della tua applicazione o un ambiente specifico per gli strumenti | Ambiente opzionale ospitato da OpenAI o self-hosted collegato alla sessione |
| Streaming | Streaming dell'SDK dall'esecuzione | Flusso di eventi della sessione dell'Agents API |
| Ciclo di vita asincrono | Di solito gestito dall'applicazione attorno all'esecuzione dell'SDK | Stati nativi della sessione, turni asincroni e webhook |
| Tracciamento / osservabilità | Tracciamento dell'Agents SDK e log dell'applicazione | Log di sessione dell'Agents, eventi, turni, chiamate agli strumenti, subagenti e tracce esportabili |
| Ripristino | Responsabilità dell'applicazione | Ripristino 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 SDK | Perché una copia diretta è rischiosa | Domanda di migrazione |
|---|---|---|
| Il loop dell'applicazione possiede ogni continuazione | L'Agents API possiede già il loop dell'harness | Quale 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 vita | Quale stato appartiene alla sessione rispetto al database di prodotto? |
| Ogni interruzione viene gestita in modo sincrono | I turni dell'Agents API sono asincroni e possono presentare stati action_required | Quali azioni necessitano di webhook, worker, idempotenza e handler ripristinabili? |
| Tutta l'esecuzione degli strumenti avviene dove gira il processo dell'SDK | Gli handler delle funzioni e gli ambienti di esecuzione possono essere separati | Dove dovrebbe effettivamente essere eseguito ciascuno strumento? |
| La traccia dell'SDK è la timeline operativa | L'Agents API espone eventi di sessione, turni e tracce gestite | Quali dati di audit a livello di applicazione necessitano ancora di un proprio registro? |
| L'oggetto handoff corrisponde direttamente a un modello di subagente ospitato | Le semantiche di runtime possono differire | Quale 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 stato | Proprietario preferito | Motivo | |
|---|---|---|---|
| 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?
| Esigenza | Confine probabile |
|---|---|
| Chiamare un servizio interno esistente tramite logica di business controllata | Strumento funzione gestito dalla tua applicazione |
| Eseguire codice isolato o lavorare con file temporanei senza infrastruttura privata | Ambiente ospitato da OpenAI |
| Accedere a risorse di rete private, software di sistema personalizzato o calcolo locale controllato | Ambiente self-hosted |
| Persistere artefatti di prodotto accettati | Archiviazione di proprietà dell'applicazione, non solo filesystem del sandbox |
| Eseguire un effetto collaterale di business ad alto impatto | Funzione 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
Cosa misurare durante la migrazione
| Dimensione | Verifica di migrazione |
|---|---|
| Successo dell'attività | Il nuovo runtime soddisfa gli stessi o migliori criteri di accettazione? |
| Correttezza degli strumenti | Chiama lo strumento giusto con argomenti validi e autorizzazione? |
| Continuità dello stato | Il lavoro può riprendere tra turni, riavvii e attese asincrone? |
| Recupero | Cosa 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 contesto | Le sessioni di lunga durata preservano i vincoli senza trasportare verità applicative obsolete? |
| Latenza | Come influiscono l'avvio della sessione, il provisioning dell'ambiente e il lavoro multi-turno sul tempo visibile all'utente? |
| Costo | Cosa cambia nell'uso del modello, nell'uso della sandbox, nel contesto ripetuto e nelle operazioni infrastrutturali? |
| Carico operativo | Quali 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?
I miei function tool devono essere riscritti?
Dovrei spostare lo stato di business nella sessione dell'API Agents?
Ho bisogno di webhook per l'API Agents?
Ogni applicazione esistente basata sull'SDK Agents dovrebbe migrare ora?
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 SDKPolitica 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 AgentsDocumentazione del loop dell'agente di proprietà dell'applicazione SDK e del modello di continuazione.
OpenAI — Panoramica dell'API AgentsDefinisce i concetti fondamentali dell'API Agents: agente, ambiente, sessione, eventi e item.
OpenAI — Architettura dell'API AgentsSpiega l'harness ospitato, il server applicativo e i confini degli ambienti di esecuzione ospitati da OpenAI e self-hosted.
OpenAI — Configurare gli agentiDefinisce la configurazione riutilizzabile degli agenti e la personalizzazione a livello di sessione.
OpenAI — Eseguire e continuare le sessioniDocumenta sessioni durevoli, turni asincroni, streaming e steering.
OpenAI — Funzioni dell'API AgentsDefinizione dello strumento funzione e il confine del gestore dell'applicazione per i risultati delle funzioni richieste.
OpenAI — Webhook di sessioneEventi del ciclo di vita per sessioni asincrone, azioni richieste e connessioni a ambienti self-hosted.
OpenAI — Osservabilità e utilizzo dell'API AgentsLog 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
| Aspetto | Agents SDK | Obiettivo di migrazione dell'API Agents |
|---|---|---|
| Ciclo dell'agente | Viene eseguito nella tua applicazione tramite il runner dell'SDK | Viene eseguito nell'harness Codex gestito |
| Definizione riutilizzabile dell'agente | Oggetto Agent nel codice dell'applicazione | Configurazione dell'agente salvata o inline con modello, istruzioni e strumenti |
| Continuità della conversazione / del lavoro | Strategia di sessione dell'SDK, cronologia, continuazione del risultato o archiviazione dell'applicazione | Sessione durevole dell'API Agents |
| Esecuzione degli strumenti | L'SDK coordina le chiamate agli strumenti nel tuo runtime | L'harness richiede chiamate a funzioni; la tua applicazione restituisce i risultati |
| Gestione del contesto | Il tuo runtime / strategia di sessione dell'SDK | Contesto di sessione gestito, compattazione e ripristino, più i confini dei dati della tua applicazione |
| Passaggi di consegne / specialisti | Primitive di orchestrazione dell'SDK | Comportamento dell'harness / subagenti nell'API Agents; non presumere una semantica uno-a-uno |
| Ambiente di esecuzione | Il runtime della tua applicazione o ambiente specifico dello strumento | Ambiente opzionale ospitato da OpenAI o self-hosted collegato alla sessione |
| Streaming | Streaming dell'SDK dall'esecuzione | Flusso di eventi della sessione dell'API Agents |
| Ciclo di vita asincrono | Di solito gestito dall'applicazione attorno all'esecuzione dell'SDK | Stati nativi della sessione, turni asincroni e webhook |
| Tracciamento / osservabilità | Tracciamento dell'SDK Agents e log dell'applicazione | Log di sessione degli agenti, eventi, turni, chiamate a strumenti, subagenti e tracce esportabili |
| Ripristino | Responsabilità dell'applicazione | Ripristino 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 SDK | Perché una copia diretta è rischiosa | Domanda di migrazione |
|---|---|---|
| Il loop dell'applicazione possiede ogni continuazione | L'Agents API possiede già il loop dell'harness | Quale 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 vita | Quale stato appartiene alla sessione e quale al database di prodotto? |
| Ogni interruzione è gestita in modo sincrono | I turni dell'Agents API sono asincroni e possono presentare stati action_required | Quali azioni richiedono webhook, worker, idempotenza e handler ripristinabili? |
| Tutta l'esecuzione degli strumenti avviene dove gira il processo SDK | Gli handler delle funzioni e gli ambienti di esecuzione possono essere separati | Dove dovrebbe effettivamente essere eseguito ciascuno strumento? |
| La traccia SDK è la timeline operativa | L'Agents API espone eventi di sessione, turni e tracce gestite | Quali dati di audit a livello applicativo necessitano ancora di un proprio registro? |
| L'oggetto handoff mappa direttamente su un modello di subagente ospitato | Le semantiche di runtime possono differire | Quale 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 stato | Proprietario preferito | Motivo | |
|---|---|---|---|
| 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?
| Esigenza | Confine probabile |
|---|---|
| Chiamare un servizio interno esistente tramite logica di business controllata | Strumento funzione gestito dalla tua applicazione |
| Eseguire codice isolato o lavorare con file temporanei senza infrastruttura privata | Ambiente ospitato da OpenAI |
| Accedere a risorse di rete private, software di sistema personalizzato o calcolo locale controllato | Ambiente self-hosted |
| Persistere artefatti di prodotto accettati | Archiviazione di proprietà dell'applicazione, non solo filesystem sandbox |
| Eseguire un effetto collaterale di business ad alto impatto | Funzione 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
Cosa misurare durante la migrazione
| Dimensione | Verifica di migrazione |
|---|---|
| Successo del compito | Il nuovo runtime soddisfa gli stessi o migliori criteri di accettazione? |
| Correttezza degli strumenti | Chiama lo strumento giusto con argomenti validi e autorizzazione? |
| Continuità dello stato | Il lavoro può riprendere attraverso turni, riavvii e attese asincrone? |
| Recupero | Cosa 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 contesto | Le sessioni di lunga durata preservano i vincoli senza trasportare verità applicative obsolete? |
| Latenza | Come influiscono l'avvio della sessione, il provisioning dell'ambiente e il lavoro multi-turno sul tempo visibile all'utente? |
| Costo | Cosa cambia nell'uso del modello, nell'uso del sandbox, nel contesto ripetuto e nelle operazioni infrastrutturali? |
| Carico operativo | Quali 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?
I miei function tool devono essere riscritti?
Dovrei spostare lo stato di business nella sessione dell'Agents API?
Ho bisogno di webhook per l'Agents API?
Ogni applicazione esistente basata su Agents SDK dovrebbe migrare ora?
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 SDKPolitica 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 SDKDocumentazione del ciclo dell'agente di proprietà dell'applicazione dell'SDK e del modello di continuazione.
OpenAI — Panoramica dell'Agents APIDefinisce i concetti fondamentali dell'Agents API: agente, ambiente, sessione, eventi ed elementi.
OpenAI — Architettura dell'Agents APISpiega i confini dell'harness ospitato, del server applicativo, dell'ambiente di esecuzione ospitato da OpenAI e self-hosted.
OpenAI — Configurazione degli agentiDefinisce la configurazione riutilizzabile degli agenti e la personalizzazione a livello di sessione.
OpenAI — Eseguire e continuare le sessioniDocumenta le sessioni durevoli, i turni asincroni, lo streaming e lo steering.
OpenAI — Funzioni dell'Agents APIDefinizione dello strumento funzione e confine del gestore dell'applicazione per i risultati delle funzioni richiesti.
OpenAI — Webhook di sessioneEventi del ciclo di vita per sessioni asincrone, azioni richieste e connessioni all'ambiente self-hosted.
OpenAI — Osservabilità e utilizzo dell'Agents APILog di sessione, eventi, turni, chiamate agli strumenti, subagenti, tracce e ispezione dell'utilizzo dei token.
Related Articles

Comprehensive Guide to Test Dev Enterprise Stajic.de: Architecture and Best Practices
Explore the architectural principles, benefits, and technical details of managing an enterprise-grade development and testing environment with Test DEv Enterprise Stajic.de.

Agenti per l'uso del computer: perché una demo di successo può comunque essere un sistema inaffidabile
Gli agenti computer-use possono ora completare impressionanti flussi di lavoro su browser e desktop, ma una singola esecuzione riuscita dimostra la capacità—non l'affidabilità. Questo articolo mostra come testare la ripetibilità, la robustezza ambientale, il controllo a lungo orizzonte, la consapevolezza dello stato, la verifica dei risultati e la gestione sicura degli obiettivi.

Dovresti Acquistare un Router OpenWrt 5G con Firmware Vecchio? ZBT Z8102AX come Esempio Pratico
Acquistare un router 5G OpenWrt con firmware più vecchio può avere senso, ma solo nelle giuste condizioni. Lo ZBT Z8102AX mostra chiaramente entrambi i lati: l'hardware è utile, il modem funziona e il router è rimasto stabile durante i test, ma OpenWrt 21.02, il packaging debole e i percorsi di aggiornamento poco chiari richiedono una decisione d'acquisto attenta.