Skip to content

turn_context und Prompt-Zusammenbau

源码版本v2026.7.20

Verantwortung

Vor jedem API-Aufruf werden «Historien-Nachrichten + Nutzereingabe des aktuellen Turns + vom Gateway angehängter Kontext + Kompressions-Marker» zu den api_messages für den Provider zusammengebaut. TurnContext ist der Container dieses Turn-Produkts, build_turn_context der Assembly-Einstieg. Es injiziert außerdem die vom Gateway gesammelten Notes in multimodale Inhalte.

Schlüsseldateien

Datenfluss

  1. Die Hauptschleife ruft jeden Turn build_turn_context:268 auf und erhält ein TurnContext.
  2. compose_user_api_content (agent/turn_context.py:44) baut die rohe Nutzereingabe zu API-Inhalten zusammen.
  3. Hat das Gateway Notes gesammelt (aus Anhängen, Kontext-Hinweisen), holt consume_gateway_turn_context_notes (agent/turn_context.py:124) sie heraus und injiziert sie über append_notes_to_multimodal_content.
  4. substitute_api_content (agent/turn_context.py:79) ersetzt Platzhalter; drop_stale_api_content bereinigt veraltete Inhalte.
  5. Hat im vorherigen Turn eine Kompression stattgefunden, korrigiert reanchor_current_turn_user_idx (agent/turn_context.py:164) die Position der aktuellen User-Nachricht in der Historie.
  6. Die fertigen api_messages treten in die API-Aufruf-Wiederholungs-Teilschleife:1227 ein.

Zusammenfassung

turn_context ist die «Snapshot-Fabrik pro Turn»: Es friert dynamischen Kontext zu einer verschickbaren Struktur ein. Es arbeitet mit der Kontext-Kompression zusammen – sobald die Kompression die Historie umgeschrieben hat, richtet turn_context den Zeiger wieder aus.

Inoffizielle Community-Lernseite. Basiert auf dem MIT-lizenzierten NousResearch/hermes-agent-Quellcode.