Einleitung
Gummiente ist ein integrierter Agent, der GitHub Copilot-CLI als konstruktiver Kritiker fungiert. Während der Arbeit an einer Aufgabe kann der Haupt-CLI-Agent für eine Sitzung seinen aktuellen Plan, seinen Entwurf, die Implementierung oder Tests an den Gummienten-Agenten zur Überprüfung übergeben. Der Gummiente-Agent sucht nach Blindflecken, Designfehlern und sachlichen Problemen und berichtet mit umsetzbarem, konkretem Feedback. Copilot berücksichtigt dann diese Kritik, bevor er fortfährt.
Der Gummienten-Agent ist darauf ausgelegt, vorgeschlagene Änderungen zu überprüfen, aber selbst keine Dateiänderungen vorzunehmen. Der Hauptagent für die Sitzung entscheidet, was mit dem Feedback zu tun ist.
Hinweis
Der Rubber Duck-Agent ist derzeit nur verfügbar, wenn der Hauptagent ein großes Sprachmodell von Claude oder GPT verwendet.
Warum "Gummiente"?
Der Name stammt aus einer langjährigen Technik im Software-Engineering namens Gummientchen , in der Sie Ihren Code oder die vorgeschlagene Lösung zu einem unbeanimten Objekt erklären – traditionell eine Gummiente. Die Idee ist, dass Sie durch die Artikulation Ihres Denkens oft Fehler, Missverständnisse oder logische Fehler aufdecken.
Der Gummientenagent wendet eine ähnliche Idee auf Copilot an. Bevor Sie mit einer nicht-trivialen Änderung fortfahren, kann Copilot sein aktuelles Denken anhalten, es artikulieren und von einem unabhängigen Prüfer überprüfen lassen. Im Gegensatz zu einer echten Gummiente antwortet diese: Sie gibt eine strukturierte Kritik zurück, auf die Copilot reagieren kann.
Zweite Meinung aus einem anderen Modell
Ein wichtiges Designelement des Gummienten-Agenten besteht darin, dass es gezielt auf einem anderen KI-Modell läuft als jenem, das Ihre Sitzung steuert. GitHub Copilot-CLI wählt ein Kritikermodell aus, das mit dem aktuellen Sitzungsmodell kontrastiert. Wenn Sie sich z. B. dafür entschieden haben, ein Claude-Modell für Ihre Sitzung zu verwenden, kann der Gummienten-Agent ein GPT-Modell als Kritiker verwenden. Copilot CLI verwendet nur den Gummienten-Agent, wenn ein geeignetes Modell zur Verfügung steht, das eine nützliche Kritik bieten kann.
Der Vorteil der Verwendung eines anderen Modells besteht darin, dass der Kritiker weniger wahrscheinlich die gleichen Blindflecken, Verzerrungen oder Fehlermodi wie das Modell teilt, das die Arbeit produziert hat. Sie erhalten effektiv zwei unabhängige Perspektiven auf dasselbe Problem.
Das entsprechende Kritikermodell wird jedes Mal automatisch ausgewählt, wenn der Gummiente-Agent aufgerufen wird, basierend auf Ihrem aktuellen Sitzungsmodell. Wenn Sie die Sitzungsmodelle mitten in der Sitzung wechseln (z. B. mit dem /model Befehl), wählt der nächste Aufruf des Duck-Agenten den entsprechenden Beurteiler für das neue Sitzungsmodell aus.
Was der Gummiente-Agent tut
Wenn der Gummienten-Agent konsultiert wird, dann:
-
**Liest die Arbeit im Kontext.** Es versteht, was der Code, der Entwurf oder der Vorschlag zu erreichen versucht, wie er in das restliche System integriert wird und welche Annahmen vorhanden sind. -
**Identifiziert echte Probleme.** Es sucht nach Fehlern, Logikfehlern, Sicherheitsrisiken, Entwurfsfehlern, Antimustern, Leistungsengpässen und anderen Problemen, die für den Erfolg der Aufgabe wirklich wichtig sind. -
**Empfiehlt bestimmte Korrekturen.** Für jedes Problem, das gefunden wird, gibt es das Problem, seine Auswirkungen und eine konkrete vorgeschlagene Änderung an. -
**Kategorisiert ihr Feedback** nach Schweregrad:- Blockierungsprobleme – müssen behoben werden, damit die Arbeit erfolgreich ausgeführt werden kann.
- Nicht blockierende Probleme – sollten behoben werden, um die Qualität zu verbessern, aber nicht den Erfolg verhindern.
- Vorschläge – Verbesserungen mit niedrigerer Priorität, die weiterhin echte Auswirkungen auf das Ergebnis haben.
-
**Es werden nur Ergebnisse gemeldet, die wichtig sind.** Wenn keine Probleme gefunden werden, wird dies explizit angegeben. Der Gummiente-Agent ist so konfiguriert, dass er keine Kommentare zu Stil, Formatierung, Benennungskonventionen, Grammatik in Kommentaren, kleineren Umgestaltungen oder Best Practices abgibt, die keine tatsächlichen Probleme vermeiden.
Der Rubber-Duck-Agent hat schreibgeschützten Zugriff auf Ihre Codebasis über die Standard-Explorationstools. Dateien können nicht bearbeitet oder Befehle ausgeführt werden, die Ihre Umgebung ändern.
Bei der Konsultation des Gummientenagenten
Wenn der Gummienten-Agent aktiviert ist, wird Copilot angewiesen, ihn in entscheidenden Momenten zu konsultieren, anstatt nur bei Schwierigkeiten. Typische Situationen sind:
- Nach der Planung einer nicht trivialen Änderung, aber vor der Implementierung. Dies ist der beste Zeitpunkt, um Entwurfsfehler zu erkennen, solange Anpassungen noch günstig sind.
- Mitte der Implementierung, um blinde Flecken in einem komplexen Stück Arbeit zu überprüfen.
- Nach dem Schreiben von Tests, um zu überprüfen, ob die Testabdeckung umfassend ist und das Verhalten Tatsächlich Ihre ursprüngliche Anforderung erfüllt.
- Reaktiv handeln, wenn Copilot wiederholte Fehler oder unerwartete Ergebnisse festgestellt werden, um eine unabhängige Analyse des Problems zu erhalten, anstatt denselben Ansatz erneut zu versuchen.
Bei kleinen, gut verstandenen Änderungen Copilot wird normalerweise der "Rubber-Duck-Agent" übersprungen.
Wenn Copilot Sie den Gummiente-Agent konsultieren, fasst er die resultierende Kritik für Sie in der Zeitleistenausgabe zusammen, anstatt sie wörtlich zu wiederholen – z. B. "Die Kritik hat einen blinden Fleck in Bezug auf X in meinem Plan aufgezeigt, also habe ich meinen Plan aktualisiert, um dies zu beheben."
Manuelles Aufrufen des Gummientenagenten
In der Regel wird Copilot CLI der Gummiente-Agent automatisch konsultiert. Sie müssen nichts weiter tun. Die Zeitachsenausgabe zeigt, wann der Hauptagent eine Gummientekritik erhält. Manchmal verwendet die CLI jedoch nicht den Rubber-Duck-Agent. Beispielsweise kann es entscheiden, dass die Änderungen nicht umfangreich genug sind, um eine Kritik zu rechtfertigen.
Sie können eine Eingabeaufforderung in natürlicher Sprache verwenden, um explizit um eine zweite Meinung zu bitten Copilot . Zum Beispiel können Sie, nachdem Sie Copilot aufgefordert haben, einen Arbeitsplan zu erstellen, eine Eingabeaufforderung eingeben wie:
Rubber duck your plan.
Oder während einer Reihe von Änderungen könnten Sie anregen:
Get a critique of the changes you've made so far.
Vorteile der Verwendung des Gummientemittels
-
Fängt Probleme frühzeitig ab. Die meisten nicht trivialen Aufgaben, die fehlschlagen, haben Probleme, die eine Kritik in der Planungsphase erwischt haben könnte. Es ist vorzuziehen, Feedback einzuholen, bevor der Code geschrieben wird, anstatt später im Prozess Probleme zu beheben.
Hinweis
Die Abfrage des Gummiente-Agenten führt einen zusätzlichen Schlussfolgerungspass auf einem separaten Modell aus, was einige Latenz hinzufügt und eine zusätzliche Nutzung des Modells erfordert. Der Vorteil besteht darin, dass Sie, wenn Sie im Voraus etwas mehr Zeit und Ressourcen investieren, insgesamt Zeit und Modellnutzung sparen können, indem Sie Probleme frühzeitig erkennen und die Anzahl der fehlgeschlagenen Versuche zur Durchführung einer Aufgabe reduzieren.
-
Reduziert blinde Flecken eines Einzelmodells. Da der Agent ein Modell aus einer anderen Familie nutzt, bietet er eine wirklich andere Perspektive an, anstatt die gleichen Argumentationsabläufe wie bei der ursprünglichen Arbeit zu wiederholen.
-
Verbessert die Qualität komplexer Änderungen. Architekturentscheidungen, Änderungen an mehreren Dateien und unbekannte Codebasen profitieren von einer zweiten Meinung, bevor Copilot sich auf einen Ansatz festlegt.
-
Hält sich für einfache Aufgaben im Hintergrund. Copilot konsultiert nur den Gummientenagenten, wenn die Arbeit nicht trivial ist, damit schnelle Bearbeitungen und offensichtliche Korrekturen nicht verlangsamt werden.