Agent Runtime: wo der Agent wirklich ausgefuhrt wird

Execution-Layer, die den Agentenzyklus steuert, Limits anwendet und Stop-Grunde jedes Runs festhalt.
Auf dieser Seite
  1. Idee in 30 Sekunden
  2. Problem
  3. Loesung
  4. Wie Agent Runtime Funktioniert
  5. Im Code sieht es so aus
  6. So sieht es waehrend der Ausfuehrung aus
  7. Wann es passt - und wann nicht
  8. Passt
  9. Passt nicht
  10. Typische Probleme und Ausfaelle
  11. Wie es mit anderen Mustern zusammenspielt
  12. Kurz gesagt
  13. FAQ
  14. Was als Naechstes

Idee in 30 Sekunden

Agent Runtime ist das System (execution layer), das die Agentenarbeit startet und steuert. Es verarbeitet die Anfrage, fuhrt Agentenschritte aus, ruft Tools auf und entscheidet, wann beendet wird.

Wann noetig: wenn der Agent mehrere Schritte ausfuhren, Tools nutzen und Abschluss kontrollieren muss.


Problem

In einer mehrstufigen Aufgabe muss ein Agent nicht nur "denken", sondern Schritte auch stabil ausfuehren - nacheinander.

Ohne separate Execution-Layer entsteht schnell Chaos: Zustand geht zwischen Schritten verloren, Tools werden ohne einheitliche Kontrolle aufgerufen, und Stop wird unvorhersehbar.

Loesung

Agent Runtime hinzufuegen - eine Layer, die den Execution-Loop startet und steuert: Kontext, Tool-Calls, Zustand und Abschlussbedingungen.

Analogie: wie ein Dispatcher in einem Lieferdienst.

Er liefert das Paket nicht selbst, steuert aber den Prozess: wem die Aufgabe gegeben wird, was als Naechstes passiert und wann die Route endet.

Agent Runtime koordiniert die Agentenarbeit auf dieselbe Weise in jedem Schritt.

Wie Agent Runtime Funktioniert

Agent Runtime koordiniert die Interaktion zwischen Modell, Agentenzustand und Tools und startet einen Execution-Loop, der jeden Arbeitsschritt des Agenten steuert.

Diagram
Beschreibung des kompletten Flows: Context → Decide → Act → State → Stop

Context
Runtime sammelt Kontext: Nachrichten, Memory und Ergebnisse vorheriger Schritte.

Decide
Das Modell erhaelt Kontext und bestimmt die naechste Aktion: tool_call oder final_answer.

Act
Runtime fuehrt die Aktion aus: ruft Tool via Tool interface auf oder gibt finale Antwort zurueck.

State
Das Schrittergebnis wird im State store gespeichert und wird Teil des naechsten Kontexts.

Stop
Execution loop prueft Stop conditions: final_answer, max_steps, max_tool_calls, timeout oder Fehler.

Dieser Zyklus wiederholt sich, bis der Agent eine finale Antwort liefert oder ein Limit greift.

Im Code sieht es so aus

PYTHON
class AgentRuntime:
    def __init__(self, llm, tools, max_steps=8):
        self.llm = llm
        self.tools = tools
        self.max_steps = max_steps

    def run(self, user_input: str):
        state = {
            "messages": [{"role": "user", "content": user_input}],
            "steps": 0,
        }

        while state["steps"] < self.max_steps:
            action = self.llm.decide(state["messages"])

            if action["type"] == "final_answer":
                return action["content"]

            if action["type"] == "tool_call":
                result = self.tools.execute(action["tool"], action["args"])
                state["messages"].append({"role": "tool", "content": result})

            state["steps"] += 1

        return "Stopped: max_steps reached"

So sieht es waehrend der Ausfuehrung aus

TEXT
Anfrage: "Finde aktuelle API rate limits Anforderungen und fasse kurz zusammen"

Step 1
Agent Runtime: sammelt Context -> [user_message]
Agent Runtime: ruft LLM.decide(...) auf
LLM: gibt zurueck -> tool_call(search_docs, {"query": "API rate limits docs"})
Agent Runtime: ruft search_docs ueber Tool interface auf
Agent Runtime: aktualisiert State -> fuegt tool_result_1 hinzu

Step 2
Agent Runtime: sammelt Context -> [user_message, tool_result_1]
Agent Runtime: ruft LLM.decide(...) auf
LLM: gibt zurueck -> final_answer
Agent Runtime: gibt Antwort an Nutzer zurueck
Agent Runtime: protokolliert Stop reason -> final_answer

Runtime speichert Zustand, startet den Zyklus, erhaelt Aktion vom Modell, fuehrt Tools aus und stoppt, wenn finale Antwort vorliegt oder ein Limit greift.

Wann es passt - und wann nicht

Agent Runtime ergibt Sinn, wenn ein kontrollierter Zyklus mit Zustand und Tools noetig ist. Fuer einfache One-Shot-Szenarien fuegt es meist unnoetige Komplexitaet hinzu.

Passt

SituationWarum Agent Runtime passt
✅Mehrere Schritte bis zum Ergebnis noetigRuntime steuert Iterationen, damit jeder naechste Schritt auf dem vorherigen aufbaut.
✅Agent ruft Tools oder externe APIs aufTool interface liefert eine kontrollierte Schicht fuer Tool-Aufrufe in runtime.

Passt nicht

SituationWarum Agent Runtime nicht passt
❌Aufgabe wird mit einem LLM-Aufruf geloestRuntime-Zyklus liefert keinen wesentlichen Zusatznutzen.
❌System soll maximal einfach bleibenRuntime fuegt Komplexitaet in Ausfuehrungslogik, Debugging und Wartung hinzu.

In solchen Faellen reicht meist ein direkter Modellaufruf:

PYTHON
response = llm(prompt)

Typische Probleme und Ausfaelle

ProblemWas passiertWie man vorbeugt
EndlosschleifeAgent erzeugt weiter Aktionen ohne Abschlussmax_steps begrenzen
Tool-SpamModell ruft staendig Tools aufmax_tool_calls setzen
Kontext-UeberlaufNachrichten sammeln sich und ueberschreiten das LimitHistorie kuerzen oder komprimieren

Die meisten dieser Probleme werden auf Runtime-Ebene durch Limits, Checks und Fehlerbehandlung geloest.

Wie es mit anderen Mustern zusammenspielt

Agent Runtime definiert nicht das Agentenverhalten - es startet und steuert nur die Ausfuehrung von Mustern, die die Agentenlogik beschreiben.

Anders gesagt:

  • Agent Patterns definieren wie der Agent denkt
  • Agent Runtime definiert wie der Agent ausgefuehrt wird

Kurz gesagt

Kurzfazit

Agent Runtime:

  • steuert den Agenten-Ausfuehrungszyklus
  • bildet Kontext fuer jeden Schritt
  • ruft Tools auf und aktualisiert den Zustand
  • kontrolliert die Beendigung der Ausfuehrung

FAQ

Q: Ist Agent Runtime ein Teil des Modells?
A: Nein. Das Modell erzeugt nur die naechste Aktion. Runtime steuert Ausfuehrungszyklus, Zustand und Tool-Aufrufe.

Q: Worin unterscheidet sich runtime von agent framework?
A: Framework ist eine Bibliothek oder Plattform. Runtime ist eine logische Layer, die die Agentenausfuehrung innerhalb des Systems steuert.

Q: Wann braucht ein Agent wirklich runtime?
A: Wenn ein Ausfuehrungszyklus entsteht: mehrere Schritte, Tool-Aufrufe, Zustand zwischen Iterationen, Kontrolle von Limits und Stop-Gruenden. Wenn die Aufgabe mit einem LLM-Aufruf geloest wird, ist separate Runtime meist nicht noetig.

Was als Naechstes

Agent Runtime steuert den Ausfuehrungszyklus. Fuer ein vollstaendiges System werden aber weitere Architektur-Layer benoetigt:

Zusammen bilden diese Komponenten eine vollstaendige Architektur eines Agentensystems.

Nicht sicher, ob das dein Fall ist?

Agent gestalten ->
⏱ 6 Min. Lesezeit ‱ Aktualisiert MĂ€r, 2026Schwierigkeit: ★★★
Integriert: Production ControlOnceOnly
Guardrails fĂŒr Tool-Calling-Agents
Shippe dieses Pattern mit Governance:
  • Budgets (Steps / Spend Caps)
  • Tool-Permissions (Allowlist / Blocklist)
  • Kill switch & Incident Stop
  • Idempotenz & Dedupe
  • Audit logs & Nachvollziehbarkeit
Integrierter Hinweis: OnceOnly ist eine Control-Layer fĂŒr Production-Agent-Systeme.
Autor

Diese Dokumentation wird von Engineers kuratiert und gepflegt, die AI-Agenten in der Produktion betreiben.

Die Inhalte sind KI-gestĂŒtzt, mit menschlicher redaktioneller Verantwortung fĂŒr Genauigkeit, Klarheit und Produktionsrelevanz.

Patterns und Empfehlungen basieren auf Post-Mortems, Failure-Modes und operativen Incidents in produktiven Systemen, auch bei der Entwicklung und dem Betrieb von Governance-Infrastruktur fĂŒr Agenten bei OnceOnly.