AIAgent / init_agent
源码版本v2026.7.20
Verantwortung
init_agent ist die «Aufbauwerkstatt» des Agenten: Provider, Toolsets, Kompressionsschwellen, Custom-Provider-extra_body, Gedächtnis- und Lernkomponenten werden in die Agent-Instanz injiziert, sodass sie alle Abhängigkeiten besitzt, um eine Dialogrunde zu drehen. Die AIAgent-Klasse selbst ist nur die dünne Hülle über diesem Produkt.
Schlüsseldateien
class AIAgent:400-497— Klassendefinition, Felder = Konfiguration__init__ Weiterleitung:497-560—from agent.agent_init import init_agent; init_agent(...)def init_agent:276— Assembly-HauptfunktionseinstiegCustom-Provider-extra_body-Hilfe:183-275—_normalized_custom_base_url/_custom_provider_model_matches/_merge_custom_provider_extra_body_resolve_compression_threshold:93-127— Auflösung der KompressionsschwelleHilfsfunktionen-Bereich:62-91—_ra, Autoraise-Hinweis usw.
Datenfluss
AIAgent.__init__(run_agent.py:423) sammelt die Konstruktionsparameter unverändert.- Aufruf von
init_agent:276, nacheinander:- Provider-Name und base_url auflösen (
agent/agent_init.py:183) extra_bodydes Custom-Providers mergen (agent/agent_init.py:257)- Kompressionsschwelle auflösen (
agent/agent_init.py:93) - Toolsets, Memory-Manager, Lern-Graph usw. injizieren
- Provider-Name und base_url auflösen (
- Der fertige Agent stellt die Methode
run_conversation(run_agent.py:6350) zur Verfügung, die an die modulweiteagent/conversation_loop.py:588weiterleitet. - Das Gateway
GatewayRunner(gateway/run.py:3029) hält den zusammengebauten Agenten und übergeben ihm eingehende Nachrichten.
Zusammenfassung
init_agent ist die Übersetzungsschicht von Konfiguration → Runtime; alle Start-Entscheidungen (Provider-Wahl, Kompressionsstrategie, Toolset-Schalter) fallen hier einmalig. Danach tritt der Agent in den zustandslosen Rhythmus «Nachricht füttern → Schleife drehen» ein, ohne die Konfiguration weiter zu verändern.