Den AI Reader nach einem konkreten Verhalten fragen
Fragen zu Werten, asynchronen Fehlern und Patches formulieren, passenden Kontext hinzufügen und Antworten prüfen.
„Erkläre dieses Projekt“ liefert einen Überblick. Selten erklärt es, warum ein bestimmter Zweig ausgeführt wurde oder ob eine Änderung sicher ist. Der AI Reader hilft besser, wenn Sie nach einem Verhalten fragen und sagen, was geprüft werden soll.
Beobachtetes und erwartetes Verhalten beschreiben
Eine gute erste Frage beschreibt Ihre Aktion, das Ergebnis und Ihre Erwartung. Fügen Sie die Datei oder Auswahl hinzu, falls bekannt. Andernfalls beschreiben Sie die Meldung oder Aktion und bitten Sie den AI Reader, ihren Ursprung zu finden.
Zum Beispiel:
Dieser Bericht liefert mit
REPORT_LIMIT=4vier Zeilen, obwohl in der Konfiguration sechs stehen. Verfolge das Limit von der Eingabe bis zur Ausgabe. Zeige, welche Quelle Vorrang hat und was bei einem leeren Umgebungswert passiert.
Diese Frage hat ein klares Ziel: welche Quelle gewählt wird, wo sie validiert und wo sie genutzt wird. Sie deutet auch auf einen kleinen Test hin. Die Konfigurationsanleitung zeigt, was eine vollständige Antwort umfasst.
Einen Ausgangskontext wählen
| Kontext | Geeignet für | Selbst noch prüfen |
|---|---|---|
| Auswahl | Einen Ausdruck oder Zweig erklären | Annahmen des Aufrufers, umgebende Bedingungen |
| Datei | Verhalten über mehrere Methoden | Imports und externer Zustand |
| Ordner | Teilsystem bekannt, Einstieg unbekannt | Welche Dateien tatsächlich beteiligt sind |
| Git-Vergleich | Bestimmte Commits prüfen | Richtung von base und head, älterer Kontext |
Hinzugefügte Inhalte sind nur ein Ausgangspunkt. Der AI Reader kann weitere Dateien im autorisierten Projekt öffnen, um Abhängigkeiten zu verfolgen. Eine Anfrage kann daher mehr als die angehängte Datei enthalten. Lesen Sie bei vertraulichem Code zuerst, was gesendet wird.
Beispielfragen
Für einen asynchronen UI-Fehler:
Nach der Auswahl von A und dann B bleibt manchmal der Inhalt von A sichtbar. Verfolge beide Anfragen über jedes await. Liste die Schreibzugriffe in success, catch und finally auf und zeige, was eine alte Anfrage daran hindert, die aktuelle Ansicht zu verändern.
Die Anleitung zu asynchronen Race Conditions in JavaScript reproduziert genau diesen Ablauf und schützt Text, Fehler und Ladezustand mit einem Anfragezähler. Laden Sie das Beispiel herunter, um die enthaltenen Tests auszuführen.
Für ein Patch-Review:
Prüfe diesen Vergleich auf Änderungen an der Cache-Invalidierung. Nenne für jede mögliche Regression die geänderte Stelle, eine tatsächlich mögliche Ereignisreihenfolge, das sichtbare Verhalten und einen Test, der altes und neues Verhalten unterscheidet. Liste bestehende Probleme getrennt auf.
Für eine Architekturfrage:
Welche Komponente besitzt diesen Cache, wer darf ihn invalidieren und welche Aufrufer teilen einen Eintrag? Zitiere Konstruktoren und den ändernden Code. Markiere alles, was von Laufzeitkonfiguration abhängt.
Jede Frage benennt, was eine gute Antwort enthalten muss: eine Ereignisreihenfolge, einen Test zur Unterscheidung zweier Versionen oder den Code, der den Cache erstellt und verändert.
Vor dem Weitergehen eine Aussage prüfen
Öffnen Sie einen wichtigen Verweis in der Code-Schnellvorschau und bei Bedarf die ganze Datei. Prüfen Sie, ob die zitierte Bedingung für Ihre Eingabe tatsächlich gilt und ob ein anderer Aufrufer, eine Überschreibung oder ein Fehlerpfad die Antwort verändert.
Wenn die Antwort eine Lücke lässt, stellen Sie eine gezielte Nachfrage:
Du hast zwei Implementierungen gefunden. Wo wählt diese Anfrage eine davon? Wenn der Code allein das nicht zeigt, welchen Laufzeitwert brauchen wir?
Der AI Reader kann Ihre Projekttests nicht ausführen. Ein vorgeschlagener Test wurde also noch nicht ausgeführt. Führen Sie ihn selbst aus und fügen Sie das Ergebnis ins Gespräch ein.
Nachfragen und Nebenfragen
Vertieft die nächste Frage denselben Ablauf, bleiben Sie im Gespräch. Für eine andere Richtung wählen Sie In neuen Chat verzweigen bei einer fertigen Antwort. Dadurch entsteht ein unabhängiges Gespräch mit dem Kontext bis zu dieser Antwort; das ursprüngliche bleibt unverändert.
Der AI Reader ändert Dateien erst, wenn Sie Änderungen erlauben für eine Ausführung aktivieren. Spätere Ausführungen und verzweigte Gespräche beginnen wieder schreibgeschützt. Git-Vergleichsgespräche sind immer schreibgeschützt. Lesen Sie nach einer Bearbeitung den Diff und führen Sie passende Prüfungen aus.