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.

9 min Lesezeit
issuesanswering-sessionsquestions

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

Answering Sessions sind optional. Für einfache, in sich geschlossene Issues (z. B. “behebe diesen Null-Pointer- Dereference”) ist das direkte Ausführen in Ordnung. Für komplexe Issues mit Anforderungs-Interpretation, architektonischen Entscheidungen oder Scope-Unklarheiten wird eine Answering Session dringend empfohlen.

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:

EinstellungBeschreibung
CLI-ToolWelcher KI-Coding-Agent für Answering Sessions verwendet wird.
ModellLLM-Modell für den Answering Agent. Opus wird für differenzierte Fragenanalyse und Annahmengenerierung empfohlen.
Thinking EffortTiefe des Reasonings. Setzen Sie ihn auf “high” oder höher für gründliche Fragenanalyse, besonders wenn Fragen architektonische Aspekte berühren.
Bound ContextBinden 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.
SkillsDomänenwissen-Pakete für den Answering Agent.
CommandsShell-Commands, die der Answering Agent während seiner Session aufrufen kann (z. B. zum Lesen von Konfigurationsdateien oder zur Ausführung diagnostischer Queries).
ScriptsAusführbare Skripte, die für den Answering Agent in die Sandbox injiziert werden.

Kontext ist entscheidend für den Answering Agent

Der Answering Agent erzeugt bessere Annahmen, wenn er Zugriff auf projektbezogenen Kontext hat. Binden Sie ein architektonisches Referenzdokument und fügen Sie Skills hinzu, die für Ihren Tech-Stack relevant sind. Ein Agent, der die Einschränkungen Ihres Systems kennt, kann Fragen wie “ist diese Caching-Schicht beabsichtigt?” deutlich präziser beantworten als einer, der blind operiert.

Eine Answering Session starten

1

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.

2

Ü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.

3

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.

4

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 correctedAnswer ein und bestätigen Sie. Die korrigierte Antwort ersetzt die Annahme im Ausführungskontext.
  • Offen lassen - Verschiebt die Überprüfung. Die Frage bleibt im Status pending und fließt erst nach Freigabe oder Ablehnung in den Ausführungskontext ein.
5

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

StatusBeschreibung
activeDer Answering Agent verarbeitet aktuell Fragen in der Sandbox.
completedDer Answering Agent hat die Verarbeitung beendet. Die Session-Fragen sind bereit zur menschlichen Überprüfung.
reviewingSession-Fragen wurden erzeugt und warten auf die menschliche Überprüfung (genehmigen/ablehnen).
archivedDie Session wurde nach Abschluss der Überprüfung archiviert.
killedDie Session wurde vor Abschluss manuell beendet.
cancelledDie 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:

KategorieWas sie abdeckt
requirementsFragen zum erwarteten Verhalten, zu Akzeptanzkriterien oder dazu, was die Funktion leisten soll.
architectureFragen zu Systemdesign, Komponentenstruktur, Datenmodell-Änderungen oder Integrationsmustern.
scopeFragen dazu, was für dieses Issue oder diese Session im Scope ist oder nicht.
priorityFragen zur relativen Wichtigkeit von Issues oder zur Reihenfolge, in der Änderungen angewendet werden sollen.
dependenciesFragen zu externen Abhängigkeiten, Drittanbieter-Bibliotheken oder anderen Systemen, mit denen diese Änderung interagiert.
otherFragen, 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:

StatusBeschreibung
pendingWartet auf die menschliche Überprüfung. Noch nicht im Ausführungskontext enthalten.
approvedAnnahme unverändert akzeptiert. Wird im Ausführungskontext verwandter Issues verwendet.
declinedAnnahme 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 schema
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

Answering Sessions schaffen eine Feedback-Schleife: Je mehr Sie Annahmen überprüfen und korrigieren, desto mehr lernt das System über den Kontext Ihres Projekts. Mit der Zeit benötigen Answering Sessions weniger Korrekturen, weil die Agents über das Learnings- System ein reichhaltigeres Verständnis Ihrer Einschränkungen und Vorlieben aufgebaut haben.

Nächste Schritte