OpenAI Assistants API und Threads
Von OpenAI verwaltete Agents: keine Infrastruktur nötig, aber mit Vendor Lock-in und einer Lücke bei der Observability.
OpenAI Assistants API und Threads ist eine kostenlose AI Agents-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AI Agents-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
Was ist das?
Die OpenAI Assistants API ist ein verwaltetes Agentenprodukt. Sie definieren einen Assistant (Modell + Anweisungen + Tools); Nutzer interagieren über „threads“ (Gespräche). OpenAI übernimmt Zustand, RAG, Code Interpreter und Dateispeicher.
Zwei große Vorteile
- Integriertes file_search — verwaltetes RAG, keine eigene Vektordatenbank erforderlich
- Integrierter code_interpreter — isolierte Python-Ausführung
Wenn Sie diese Funktionen nutzen möchten, ohne sie selbst zu entwickeln, sind Assistants schnell einsatzbereit.
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
)Auf Abschluss pollen
Runs sind asynchron. Pollen Sie, bis sie abgeschlossen sind:
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)Function Calling
Dasselbe Muster wie bei den Tools von chat.completions. Wenn run.status == 'requires_action' lautet, führen Sie die Tool-Aufrufe aus und übermitteln Sie die Ergebnisse:
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
Fügen Sie code_interpreter hinzu, dann erhält der Assistant eine isolierte Python-Umgebung. Ideal für Datenaufgaben:
{'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)Abwägungen
- + Keine Infrastruktur für Vektorspeicher und Sandbox erforderlich
- + Verwalteter Speicher und Thread-Zustand
- + Integrierte Zitate aus file_search
- - Abhängigkeit vom Anbieter
- - Weniger Kontrolle über die Retrieval-Strategie
- - Höhere Latenz als bei direktem chat.completions
- - Eingeschränktere Beobachtbarkeit
Roadmap
OpenAI hat die Responses API als Nachfolger von Assistants angekündigt. Einige Teams warten mit dem Einsatz von Assistants, bis Responses ausgereift ist.
Für Prototypen verwenden
Einen Bot für Dokumentenfragen in 50 Zeilen aufzusetzen? Assistants ist schwer zu schlagen. Für die Produktion mit strengen SLAs und benutzerdefiniertem Retrieval? Entwickeln Sie die Lösung selbst.
Kosten
Assistants berechnet:
- Normale Tokenkosten
- file_search: Speicherkosten pro Tag und GB
- code_interpreter: Kosten pro Sitzung
Bei geringem Volumen günstig, bei intensiver Nutzung können sich die Kosten jedoch summieren.
Die beste Eignung von Assistants
Für welchen Anwendungsfall eignet sich die Assistants API am besten?
Zusammenfassung
Assistants = verwaltetes Agent-Produkt. file_search + code_interpreter + Threads. Ideal für Prototypen, weniger geeignet für die Produktion im großen Maßstab. Behalten Sie die Responses API im Blick.
Häufig gestellte Fragen
Ist die Lektion „OpenAI Assistants API und Threads“ kostenlos?
Ja — der vollständige Text von „OpenAI Assistants API und Threads“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AI Agents-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AI Agents-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „OpenAI Assistants API und Threads“?
Von OpenAI verwaltete Agents: keine Infrastruktur nötig, aber mit Vendor Lock-in und einer Lücke bei der Observability. Du übst AI Agents mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um AI Agents zu starten?
Keine Vorkenntnisse erforderlich. AI Agents auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „OpenAI Assistants API und Threads“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser AI Agents-Lektion Code schreiben und ausführen?
Ja. Jede AI Agents-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- LangGraph vs. CrewAI vs. AutoGen
- Letta (ehemals MemGPT) für langlebige Agents
- OpenAI Assistants API und Threads
- Das richtige Framework für jeden Anwendungsfall auswählen