Hauptschleife des Agenten
Verantwortung
run_conversation ist das Herz von Hermes: Es nimmt eine Nutzernachricht, ruft wiederholt Modell + Werkzeuge auf, bis das Iterationsbudget aufgebraucht oder die Aufgabe erledigt ist. Es koordiniert zugleich Kontextaufbau, Werkzeug-Dispatch, Stopp-Bedingungs-Prüfung sowie Fallback bei Misserfolg.
Die Datei hat insgesamt etwa 5800 Zeilen und hohe logische Dichte – diese Seite betrachtet nur die Hauptlinie, Details werden auf Unterseiten behandelt.
Schlüsseldateien
run_conversation-Einstieg:588-720— Funktionssignatur, Initialisierung und Vorbereitung vor der Schleifewhile-Hauptschleife:721-760— Bedingungapi_call_count < agent.max_iterations and agent.iteration_budget.remaining > 0, inkl. Grace-CallAPI-Aufruf-Wiederholungs-Teilschleife:1227-1280—while retry_count < max_retriesbuild_turn_context— Kontextaufbau pro Turnprompt_builder— System-Prompt-Zusammenbaumoa_loop— Mixture-of-Agents-Aggregationspfadcontext_compressor— Kompression der Historie beim Erreichen der SchwelleIterationBudget— Kern der Budgetzählung
Datenfluss
run_agent.py AIAgentist ein dünner Forwarder; die echte Dependency-Injection passiert ininit_agent.- Der Aufrufer übergibt
user_message;run_conversationläuft zuerst durchbuild_turn_context, um den Turn-Kontext (api_messages) aufzubauen. - Eintritt in die
while-Hauptschleife: Abbruchprüfung → Budget dekrementieren (iteration_budget.consume()) →api_messagesaufbauen/desinfizieren → Vorkompression →/steer-Texte leeren → MoA-Aggregation → Eintritt in die API-Aufruf-Wiederholungs-Teilschleife. - Nach der Modell-Rückgabe erfolgen Response-Validierung und
finish_reason-Behandlung; bei Misserfolg greiftagent._try_activate_fallback(). - Wird die Kompressionsschwelle getroffen, läuft
context_compressorund räumt Platz zurück. - Nach Schleifenende (Budget erschöpft / Aufgabe erledigt / abgebrochen) wird die finale Nachricht zurückgegeben und vom Gateway zugestellt (siehe Gateway-Schicht).
Zusammenfassung
Die Hauptschleife orchestriert nur: Turn-Antrieb, Budget-Steuerung, Wiederholung und Fallback. Die echte Fähigkeit kommt von Tools und Skills der Fähigkeitsschicht, die Multi-Plattform-Zustellung obliegt der Gateway-Schicht, die Selbst-Evolution treibt die Lernschleife.
Für den Abgleich mit der offiziellen chinesischen Einführung siehe README.zh-CN und website/i18n/zh-Hans/.