Introduction
Die Gummiente ist ein integrierter Agent, der in GitHub Copilot CLI und in der GitHub Copilot app verfügbar ist. Sie fungiert als konstruktive Kritik. Während der Arbeit an einer Aufgabe kann der Hauptagent für eine Sitzung den aktuellen Plan, den Entwurf, die Implementierung oder Tests an den Gummienten-Agenten zur Überprüfung weitergeben. 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.
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. Copilot 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 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 während einer Sitzung Modelle wechseln, wählt der nächste Aufruf des Rubber-Duck-Agenten den entsprechenden Kritiker für das neue Session-Modell.
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.
Manuelles Aufrufen des Gummientenagenten
Standardmäßig wird der Gummiente-Agent nicht automatisch aufgerufen. Sie müssen jedes Mal, wenn Sie eine möchten, explizit Copilot nach einer Kritik fragen. 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.
Sie können den Rubber-Duck-Agent auch mit einem Slash-Befehl aufrufen:
/rubber-duck What edge cases are missing?
Automatisches Aufrufen des Rubber-Duck-Agenten
Wenn Copilot CLISie proaktiv den Gummiente-Agent konsultieren möchten Copilot , ohne gefragt zu werden, können Sie den automatischen Aufruf für den Agent aus der /subagents Auswahl aktivieren.
- Geben Sie in einer interaktiven Copilot CLI Sitzung
/subagentsein. - Verwenden Sie die Tastaturpfeiltasten, um den Gummiente-Agent auszuwählen, und drücken Sie dann die EINGABETASTE.
- Wählen Sie "Proaktiver Aufruf " aus, und drücken Sie dann die EINGABETASTE, um die Einstellung zwischen Aus und Ein umzuschalten.
- Verwenden Sie die Esc-Taste, um den
/subagentsPicker zu beenden.
Wenn Sie den automatischen Aufruf für den Gummiente-Agent auf diese Weise aktivieren, wird Ihre Copilot Einstellungsdatei (in der Regel ~/.copilot/settings.json) aktualisiert, sodass Ihre Einstellung für zukünftige Sitzungen beibehalten wird:
{
"subagents": {
"agents": {
"rubber-duck": {
"autoInvoke": true
}
}
}
}
Wenn die automatische Aufrufung aktiviert ist, wird Copilot angewiesen, den Gummiente-Agenten in besonders wirkungsvollen Situationen zu konsultieren, anstatt nur, wenn es nicht weiterkommt. 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 den Gummiente-Agenten konsultiert, fasst er die resultierende Kritik in der Sitzungsausgabe zusammen, anstatt sie zu wiederholen – z. B. „Die Kritik hat in meinem Plan um X einen blinden Punkt hervorgehoben, also habe ich meinen Plan aktualisiert, um das zu beheben.“
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.