0Pricing
AI Agents · Lezione

API Assistants e Threads di OpenAI

Gli agenti gestiti di OpenAI: nessuna infrastruttura da gestire, ma vendor lock-in e una lacuna nell’osservabilità

API Assistants e Threads di OpenAI è una lezione AI Agents gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento AI Agents, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AI Agents include 4 lezioni in totale.

Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.

Che cos'è?

OpenAI Assistants API è un prodotto gestito per gli agenti. Definisce un assistant (modello + istruzioni + strumenti); gli utenti interagiscono tramite "thread" (conversazioni). OpenAI gestisce lo stato, il RAG, l'interprete di codice e l'archiviazione dei file.

Due grandi punti di forza

  1. file_search integrato — RAG gestito, senza dover gestire un DB vettoriale
  2. code_interpreter integrato — esecuzione Python in sandbox

Se desidera queste funzionalità senza doverle sviluppare, Assistants è una soluzione rapida.

Creating an Assistant

from openai import OpenAI
client = OpenAI()

assistant = client.beta.assistants.create(
    name='Support Bot',
    instructions='You help customers with orders.',
    model='gpt-4o-mini',
    tools=[{'type': 'file_search'}, {'type': 'code_interpreter'}]
)

Threads = Conversations

thread = client.beta.threads.create()

client.beta.threads.messages.create(
    thread_id=thread.id,
    role='user',
    content='Where is my order?'
)

run = client.beta.threads.runs.create(
    thread_id=thread.id,
    assistant_id=assistant.id
)

Interrogare per verificare il completamento

Le esecuzioni sono asincrone. Interroghi lo stato finché non sono completate:

import time
while run.status not in ('completed', 'failed', 'requires_action'):
    time.sleep(1)
    run = client.beta.threads.runs.retrieve(thread_id=thread.id, run_id=run.id)

Chiamate di funzione

Lo schema è lo stesso degli strumenti di chat.completions. Quando run.status == 'requires_action', distribuisca le chiamate agli strumenti e invii i risultati:

if run.status == 'requires_action':
    tool_outputs = []
    for tc in run.required_action.submit_tool_outputs.tool_calls:
        result = dispatch(tc)
        tool_outputs.append({'tool_call_id': tc.id, 'output': json.dumps(result)})
    client.beta.threads.runs.submit_tool_outputs(thread_id=thread.id, run_id=run.id, tool_outputs=tool_outputs)

File Search (Vector Store)

vector_store = client.beta.vector_stores.create(name='docs')
client.beta.vector_stores.file_batches.upload_and_poll(
    vector_store_id=vector_store.id,
    files=[open('handbook.pdf', 'rb')]
)
assistant = client.beta.assistants.update(assistant.id, tool_resources={'file_search': {'vector_store_ids': [vector_store.id]}})

Code Interpreter

Aggiunga code_interpreter e l'Assistant otterrà un ambiente Python in sandbox. È ideale per le attività sui dati:

{'type': 'code_interpreter'}

Streaming

with client.beta.threads.runs.stream(thread_id=thread.id, assistant_id=assistant.id) as stream:
    for event in stream:
        print(event)

Compromessi

  • + Nessuna infrastruttura per vector store e sandbox
  • + Memoria e stato dei thread gestiti
  • + Citazioni integrate da file_search
  • - Dipendenza dal fornitore
  • - Minore controllo sulla strategia di recupero
  • - Latenza maggiore rispetto a chat.completions diretto
  • - Osservabilità più limitata

Roadmap

OpenAI ha annunciato la Responses API come successore di Assistants. Alcuni team aspettano che Responses si stabilizzi prima di adottare Assistants.

Da usare per i prototipi

Creare un bot di domande e risposte sui documenti in 50 righe? Assistants è difficile da battere. Per la produzione con SLA rigorosi e recupero personalizzato? Lo sviluppi autonomamente.

Costi

Assistants prevede:

  • i normali costi dei token
  • file_search: archiviazione addebitata per GB al giorno
  • code_interpreter: addebito per sessione

È economico per volumi ridotti, ma i costi possono aumentare con un uso intenso.

Uso ideale di Assistants

Quale caso d'uso si adatta meglio all'API Assistants?

Riepilogo

Assistants = prodotto per agent gestito. file_search + code_interpreter + thread. Ideale per i prototipi, meno adatto alla produzione su larga scala. Tenga d'occhio la Responses API.

Domande Frequenti

La lezione «API Assistants e Threads di OpenAI» è gratuita?

Sì — il testo completo di «API Assistants e Threads di OpenAI» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso AI Agents, passa a CoddyKit PRO. Il corso AI Agents include 4 lezioni in totale.

Cosa imparerò in «API Assistants e Threads di OpenAI»?

Gli agenti gestiti di OpenAI: nessuna infrastruttura da gestire, ma vendor lock-in e una lacuna nell’osservabilità Eserciti AI Agents con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare AI Agents?

Non è richiesta alcuna esperienza precedente. AI Agents su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «API Assistants e Threads di OpenAI»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione AI Agents?

Sì. Ogni lezione AI Agents include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. LangGraph vs CrewAI vs AutoGen
  2. Letta (precedentemente MemGPT) per agenti longevi
  3. API Assistants e Threads di OpenAI
  4. Scegliere il framework giusto per ogni caso d’uso
← Torna a AI Agents