Answering Sessions
Erfahren Sie, wie Answering Sessions in CodeCourier Fragen klären und Annahmen aus Issue Sessions validieren – und so handlungsleitende Antworten erzeugen, die die KI-Implementierung leiten, bevor Code geschrieben wird.
Nachdem eine Issue Session Ihre Codebasis gescannt und eine Liste von Issues erzeugt hat, hält sie auch die Fragen fest, die sie aus dem Code allein nicht beantworten konnte, sowie die Annahmen, die sie ohne explizite Anleitung getroffen hat. Eine Answering Session ist der nächste Schritt: eine KI-gestützte Session, in der ein Answering Agent diese Fragen prüft, verfeinert und strukturierte Annahmen mit Confidence-Werten produziert, die Sie vor Beginn der Umsetzung überprüfen und freigeben.
Das Ergebnis ist ein Satz freigegebener, vom Menschen überprüfter Antworten, die als Kontext in Workflow-Runs einfließen, wenn die resultierenden Issues ausgeführt werden - so erhält der umsetzende Agent von Anfang an das richtige Verständnis von Anforderungen, Umfang und Architektur.
Warum Answering Sessions wichtig sind
Issue Sessions sind bewusst breit angelegt - der Scanning- Agent legt alles offen, was er findet, ohne notwendigerweise den vollen Kontext zu Absicht, Einschränkungen oder Prioritäten zu haben. Das führt zu reichhaltigen Issue-Listen, lässt aber auch offene Fragen zurück:
- “Soll dieser Security-Fix in allen Umgebungen oder nur in der Produktion angewendet werden?”
- “Ist das N+1-Query-Muster hier absichtlich, weil auf einer höheren Schicht gecacht wird?”
- “Muss dieses Refactoring die Rückwärtskompatibilität zur v1-API wahren?”
Ohne Antworten auf diese Fragen muss der umsetzende Agent eigene Annahmen treffen - die falsch sein können. Die Answering Session bietet einen strukturierten Weg, diese Unklarheiten vor der Umsetzung aufzulösen, und reduziert so das Risiko, dass KI-Agents Fixes liefern, die technisch korrekt, aber kontextuell falsch sind.
Optional, aber wertvoll
Konfiguration des Answering Agents
Bevor Sie eine Answering Session starten, konfigurieren Sie den Answering Agent auf der Answering-Setup-Seite unter /p/{projectId}/answering-setup. Diese Konfiguration wird von allen Answering Sessions im Projekt geteilt:
| Einstellung | Beschreibung |
|---|---|
| CLI-Tool | Welcher KI-Coding-Agent für Answering Sessions verwendet wird. |
| Modell | LLM-Modell für den Answering Agent. Opus wird für differenzierte Fragenanalyse und Annahmengenerierung empfohlen. |
| Thinking Effort | Tiefe des Reasonings. Setzen Sie ihn auf “high” oder höher für gründliche Fragenanalyse, besonders wenn Fragen architektonische Aspekte berühren. |
| Bound Context | Binden Sie ein Context-Dokument an den Answering Agent. Architektur-Kontextdokumente sind hier besonders wertvoll - sie helfen dem Agent, präzisere Annahmen zu treffen, indem das Reasoning in den tatsächlichen Designentscheidungen des Projekts verankert wird. |
| Skills | Domänenwissen-Pakete für den Answering Agent. |
| Commands | Shell-Commands, die der Answering Agent während seiner Session aufrufen kann (z. B. zum Lesen von Konfigurationsdateien oder zur Ausführung diagnostischer Queries). |
| Scripts | Ausführbare Skripte, die für den Answering Agent in die Sandbox injiziert werden. |
Kontext ist entscheidend für den Answering Agent
Eine Answering Session starten
Eine Issue Session abschließen
Eine Answering Session benötigt eine abgeschlossene Issue Session mit extrahierten Fragen und Annahmen. Navigieren Sie zur Detailseite der Issue Session und bestätigen Sie, dass der Session-Status completed ist und Fragen extrahiert wurden.
Über die Issue-Session-Detailseite starten
Klicken Sie auf der Detailseite der Issue Session auf die Schaltfläche Answering Session starten. Dies erstellt einen neuen Answering-Session-Datensatz, der über issueSessionId mit der Issue Session verknüpft ist, und provisioniert eine Sandbox für den Answering Agent.
Answering Agent läuft
Der Answering Agent erhält die Fragen und Annahmen aus der Issue Session zusammen mit dem gebundenen Kontext und den konfigurierten Skills. Er prüft jede Frage, präzisiert die Formulierung, bewertet die ursprüngliche Annahme und produziert eine strukturierte Antwort mit:
- Einem präzisierten Fragetext und einer Kontext-Erläuterung
- Einer “Warum es zählt”-Begründung
- Einer Kategorie-Klassifizierung (requirements, architecture, scope, priority, dependencies oder other)
- Einer überarbeiteten Annahme mit Begründung
- Einem Confidence-Wert (low, medium oder high), der widerspiegelt, wie sicher der Agent in seiner Annahme ist
Die Session verfolgt den Fortschritt in Echtzeit. Nach Abschluss werden alle Session-Fragen als sessionQuestions-Datensätze gespeichert, die mit der Answering Session und der Issue Session verknüpft sind.
Jede Frage und Annahme prüfen
Navigieren Sie zur Detailseite der Answering Session, um die Ergebnisse zu prüfen. Jede Session-Frage wird mit der Annahme des Answering Agents und dem Confidence-Wert angezeigt. Für jede können Sie:
- Genehmigen - Akzeptiert die Annahme unverändert. Sie wird beim Ausführen verwandter Issues als Kontext verwendet.
- Mit Korrektur ablehnen - Lehnt die Annahme ab und liefert eine korrigierte Antwort. Tragen Sie Ihre Korrektur im Feld
correctedAnswerein und bestätigen Sie. Die korrigierte Antwort ersetzt die Annahme im Ausführungskontext. - Offen lassen - Verschiebt die Überprüfung. Die Frage bleibt im Status
pendingund fließt erst nach Freigabe oder Ablehnung in den Ausführungskontext ein.
Die freigegebenen Annahmen beim Ausführen von Issues nutzen
Sobald Sie die Fragen geprüft haben, stehen die freigegebenen und korrigierten Annahmen beim Ausführen von Issues aus der verknüpften Issue Session als Kontext zur Verfügung. Wenn Sie ein Issue ausführen oder eine Work Chain starten, kann das System die freigegebenen Annahmen zusätzlich zum suggestedPrompt des Issues in den Workflow-Run injizieren.
Status von Answering Sessions
| Status | Beschreibung |
|---|---|
active | Der Answering Agent verarbeitet aktuell Fragen in der Sandbox. |
completed | Der Answering Agent hat die Verarbeitung beendet. Die Session-Fragen sind bereit zur menschlichen Überprüfung. |
reviewing | Session-Fragen wurden erzeugt und warten auf die menschliche Überprüfung (genehmigen/ablehnen). |
archived | Die Session wurde nach Abschluss der Überprüfung archiviert. |
killed | Die Session wurde vor Abschluss manuell beendet. |
cancelled | Die Session wurde abgebrochen, bevor die Sandbox starten konnte. |
Kategorien von Session-Fragen
Der Answering Agent klassifiziert jede Frage in eine von sechs Kategorien, um Ihnen die Priorisierung der Überprüfung zu erleichtern:
| Kategorie | Was sie abdeckt |
|---|---|
requirements | Fragen zum erwarteten Verhalten, zu Akzeptanzkriterien oder dazu, was die Funktion leisten soll. |
architecture | Fragen zu Systemdesign, Komponentenstruktur, Datenmodell-Änderungen oder Integrationsmustern. |
scope | Fragen dazu, was für dieses Issue oder diese Session im Scope ist oder nicht. |
priority | Fragen zur relativen Wichtigkeit von Issues oder zur Reihenfolge, in der Änderungen angewendet werden sollen. |
dependencies | Fragen zu externen Abhängigkeiten, Drittanbieter-Bibliotheken oder anderen Systemen, mit denen diese Änderung interagiert. |
other | Fragen, die nicht eindeutig in die genannten Kategorien passen. |
Sie können die Review-Liste nach Kategorie filtern, um zuerst die kritischsten Fragen anzugehen. Architektur- und Anforderungsfragen haben typischerweise den größten Einfluss auf die Umsetzungs- qualität.
Review-Status von Session-Fragen
Jede Session-Frage hat einen reviewStatus, der verfolgt, wo sie sich im menschlichen Review-Prozess befindet:
| Status | Beschreibung |
|---|---|
pending | Wartet auf die menschliche Überprüfung. Noch nicht im Ausführungskontext enthalten. |
approved | Annahme unverändert akzeptiert. Wird im Ausführungskontext verwandter Issues verwendet. |
declined | Annahme abgelehnt. Statt der Annahme wird die correctedAnswer als Kontext verwendet. |
Datenmodell
Answering Sessions werden in der Datenbank durch zwei Tabellen- typen abgebildet: answeringSessions und sessionQuestions.
answeringSessions: {
userId: Id<"users">;
projectId: Id<"projects">;
issueSessionId: Id<"issueSessions">;
sandboxId?: string;
// Lifecycle
status: "active" | "completed" | "reviewing" | "archived" | "killed" | "cancelled";
// Agent outputs
questionsJson?: string; // Raw questions JSON from the Issue Session, passed as input
assumptionsJson?: string; // Raw assumptions JSON from the Issue Session, passed as input
prompt?: string; // The prompt used for the Answering Agent
error?: string; // Error message if the session failed or was killed
}Wie freigegebene Annahmen die Umsetzung verbessern
Wenn ein Workflow-Run ein Issue ausführt, dem eine Answering Session zugeordnet ist, werden die freigegebenen und korrigierten Annahmen als strukturierter Kontext formatiert und dem Run-Prompt vorangestellt. Der umsetzende Agent erhält also nicht nur “behebe diesen Bug”, sondern auch:
- Klargestellte Anforderungen: welches Verhalten erwartet wird und welche Edge Cases im Scope sind.
- Architektonische Leitlinien: welchen Mustern zu folgen ist, welche Abstraktionen zu verwenden sind und welche Grenzen nicht überschritten werden dürfen.
- Prioritätskontext: welche Aspekte des Fixes am wichtigsten und welche optional sind.
- Bewusstsein für Abhängigkeiten: welche anderen Systeme oder Bibliotheken betroffen sind und welche Einschränkungen sie mitbringen.
Dieser zusätzliche Kontext senkt die Wahrscheinlichkeit, dass der umsetzende Agent selbst falsche Annahmen trifft - eine der häufigsten Ursachen minderwertiger KI-Umsetzung.
Learnings aus Answering Sessions
Abgelehnte (und korrigierte) Session-Fragen sind als Lerninputs besonders wertvoll. Wenn der Answering Agent eine falsche Annahme getroffen hat und Sie sie korrigiert haben, lehrt diese Korrektur das System Einschränkungen, Vorlieben oder Muster Ihres Projekts, die aus der Codebasis allein nicht erkennbar waren.
Wird eine Session-Frage mit einer learningId verknüpft, bedeutet das, dass die Korrektur in einen Learning-Datensatz kompiliert wurde, der in zukünftige Sessions eingespeist wird - damit der Answering Agent (und andere an Learnings gebundene Agents) künftig seltener dieselbe falsche Annahme treffen.
Geschlossener Verbesserungs-Loop
Nächste Schritte
Issue Sessions
Erfahren Sie, wie Issue Sessions Issues aus Ihrer Codebasis entdecken und extrahieren.
Work Chains
Führen Sie Issues sequenziell aus, sobald die Annahmen freigegeben sind.
Issues – Übersicht
Sehen Sie sich den vollständigen Lebenszyklus von Issue-Entdeckung und -Behebung an.
Persona-Konfiguration
Konfigurieren Sie Kontextbindung und Skills für Ihre Answering-Agent-Persona.