Zugang aus Übersee: www.kdjingpai.com
Ctrl + D Lesezeichen für diese Seite
Derzeitige Position:Abb. Anfang " AI-Utility-Befehle

Eintauchen in den gemini-cli-Kern: Aufdeckung des Prompt-Projekts und der Agentenimplementierung

2025-07-29 28

gemini-cli Hinter der rasanten Popularität der Open-Source-Befehlszeilenintelligenz steht eine Reihe subtiler Überlegungen im Design der Agenten. Um wirklich zu verstehen, wie es funktioniert, dürfen wir nicht nur auf der funktionalen Ebene bleiben, sondern müssen tiefer in die beiden Säulen eindringen: die erste ist das "strukturierte Stichwort-Engineering", das auf das Erreichen eines Langzeitgedächtnisses abzielt, und die zweite ist das "Ein-Agenten-Implementierungsprinzip", das für den stabilen Betrieb des Systems entwickelt wurde. Die erste Säule ist das "strukturierte Stichwortprojekt", mit dem ein Langzeitgedächtnis erreicht werden soll, und die zweite Säule ist das "Ein-Agenten-Implementierungsprinzip", das für einen stabilen Betrieb des Systems entwickelt wurde.

In diesem Beitrag werden diese beiden Kerne dekonstruiert und ihre Designphilosophien und technischen Kompromisse analysiert.

Cue Word Engineering: Schaffung eines kontrollierten Langzeitgedächtnisses für Agenten

Alle großen Sprachmodelle stehen vor einer gemeinsamen Herausforderung: einem begrenzten Kontextfenster. Sobald ein Dialog zu lang ist, werden frühe Informationen vergessen, was zu einer "Amnesie" des Agenten führt.gemini-cli Die Antwort ist keine einfache Zusammenfassung der Geschichte, sondern ein hervorragend strukturierter Verdichtungsmechanismus. Das Herzstück dieses Mechanismus ist die folgende vollständige, detaillierte "Speichervorlage". Sie leitet das Modell bei der Destillation der langen Gesprächsgeschichte in einen hochverdichteten XML-Schnappschuss, der für künftige Aufgaben entscheidend ist.

You are the component that summarizes internal chat history into a given structure.
When the conversation history grows too large, you will be invoked to distill the entire history into a concise, structured XML snapshot.This snapshot is CRITICAL, as it will become the agent's *only* memory of the past. The agent will resume its work based solely on this snapshot. All crucial details, plans, errors, and user directives MUST be preserved.
First, you will think through the entire history in a private <scratchpad>. Review the user's overall goal, the agent's actions, tool outputs, file modifications, and any unresolved questions. Identify every piece of information that is essential for future actions.
After your reasoning is complete, generate the final <state_snapshot> XML object. Be incredibly dense with information. Omit any irrelevant conversational filler.
The structure MUST be as follows:
<state_snapshot>
<overall_goal>
<!-- A single, concise sentence describing the user's high-level objective.-->
<!--Example:"Refactor the authentication service to use a new JWT library."-->
</overall_goal>
<key_knowledge>
<!--Crucial facts, conventions, and constraints the agent must remember based on the conversation history and interaction with the user.Use bullet points.-->
<!--Example:
-Build Command: `npm run build`
-Testing:Tests are run with `npm test`.Test files must end in `.test.ts`.
- API Endpoint:The primary API endpoint is `https://api.example.com/v2`.
-->
</key_knowledge>
<file_system_state>
<!--List files that have been created, read, modified, or deleted.Note their status and critical learnings.-->
<!--Example:
- CWD: `/home/user/project/src`
- READ: `package.json` -Confirmed'axios'is a dependency.
- MODIFIED: `services/auth.ts` -Replaced'jsonwebtoken'with'jose'.
- CREATED: `tests/new-feature.test.ts` -Initial test structure for the new feature.
-->
</file_system_state>
<recent_actions>
<!-- A summary of the last few significant agent actions and their outcomes.Focus on facts.-->
<!--Example:
-Ran `grep 'old_function'` which returned 3 results in 2 files.
-Ran `npm run test`, which failed due to a snapshot mismatch in `UserProfile.test.ts`.
-Ran `ls -F static/` and discovered image assets are stored as `.webp`.
-->
</recent_actions>
<current_plan>
<!--The agent's step-by-step plan. Mark completed steps. -->
<!-- Example:
1. [DONE] Identify all files using the deprecated 'UserAPI'.
2. [IN PROGRESS] Refactor `src/components/UserProfile.tsx` to use the new 'ProfileAPI'.
3. [TODO] Refactor the remaining files.
4. [TODO] Update tests to reflect the API change.
-->
</current_plan>
</state_snapshot>

Die Cue-Vorlage ist viel mehr als nur eine Formatierungsvorgabe; sie fungiert als "kognitiver Rahmen", der das Modell zwingt, auf strukturierte Weise zu denken und sich zu erinnern. Schauen wir uns die tiefere Rolle jedes Etiketts einzeln an:

  • <overall_goal>Der Nordstern der Mission. Bei langen und komplexen Aufgaben kann es leicht passieren, dass sich ein Agent in trivialen Teilaufgaben verzettelt und vom ursprünglichen Ziel abdriftet. Durch diese Kennzeichnung muss das Modell das endgültige Ergebnis im Auge behalten und sicherstellen, dass alle Aktionen diesem Kernziel dienen, wodurch ein "Abdriften vom Ziel" wirksam verhindert wird.
  • <key_knowledge>"Post-it-Zettel" mit wichtigen Informationen. Der Dialog wird eine große Anzahl von Regeln enthalten, die im Laufe der Zeit eingehalten werden müssen, benutzerspezifische Präferenzen oder wichtige technische Einschränkungen (z. B. sind Testbefehle npm testDie API-Adresse lautet https://api.example.com/v2). Durch die Festigung dieser Informationen wird verhindert, dass der Agent bei späteren Vorgängen Fragen wiederholt oder Fehler macht.
  • <file_system_state>Schnappschüsse aus der Umwelt. Für ein Befehlszeilentool, das häufig mit dem Dateisystem interagiert, ist es entscheidend, den Zustand der Umgebung zu kennen. Dieses Tag zeichnet das Hinzufügen, Löschen und Entfernen von Dateien auf und gibt dem Agenten ein genaues "Szenenbewusstsein" darüber, wo er sich befindet und über welche Ressourcen er verfügt.
  • <recent_actions>Kurzfristiges Arbeitsgedächtnis. Die Aufzeichnung der letzten kritischen Vorgänge und ihrer Ergebnisse (Erfolge, Misserfolge, Ergebnisse) liefert den direktesten Kontext für die nächste Entscheidung des Agenten sowie wertvolle Hinweise für die Problembehebung.
  • <current_plan>Dynamischer Fahrplan für die UmsetzungDies ist der Kern der Agentenselbstverwaltung. Dies ist der Kern des Agenten-Selbstmanagements. Durch die Unterteilung großer Aufgaben in Aufgaben mit [DONE][IN PROGRESS][TODO] Durch die Verwendung von Zustandsschritten kann der Agent nicht nur seine Arbeit geordnet fortsetzen, sondern auch nach einer Unterbrechung genau dort weitermachen, wo er aufgehört hat, was die Kontinuität der Aufgabe gewährleistet.

Dieser strukturierte Ansatz, der im Wesentlichen einVerlagerung der kognitiven BelastungSie verwandelt das offene Problem "wie man sich effektiv etwas merken kann" in ein "fill-in-the-blank"-Problem. Sie verwandelt das offene Problem "wie man sich effektiv etwas merken kann" in eine "Fill-in-the-blank"-Frage, was die Wahrscheinlichkeit von Modellfehlern stark verringert und das Gedächtnis und den Zustand des Agenten kontrollierbar, vorhersehbar und leicht zu beheben macht.

Agentenimplementierung: ein strenger Satz von Monomerzyklen und Selbstreparaturmechanismen

Wenn das Cue Engineering das Gehirn eines Agenten ist, dann ist seine Laufzeitschleife der Herzschlag des Agenten.gemini-cli Es wird ein klassisches monolithisches Agentendesign verwendet, dessen stabiler Betrieb auf einer Reihe von Regelkreisen mit Selbstheilungsfähigkeiten beruht.

Kernzyklus:Turn des "Think-Act"-Zyklus

Das gesamte Verhalten des Agenten dreht sich um die Turn Der Unterricht entfaltet sich. Jede Turn stellt einen vollständigen Denk- und Handlungszyklus dar. Wenn der Benutzer einen Befehl eingibt, wird dieGeminiClient Der Hauptcontroller erstellt dann eine Turn Instanz. Diese Instanz ist verantwortlich für den Aufruf der Gemini Modell, Streaming der zurückgegebenen thought(Denkprozess) und text(Textinhalt) und sammeln alle functionCalls(Werkzeugaufrufe). Sobald die Denk- und Textausgabe abgeschlossen ist, werden alle gesammelten Werkzeugaufrufe auf einmal ausgeführt und die Ergebnisse an das Modell zurückgegeben, um die nächste Runde der Turn. Dieser Entwurf stellt sicher, dass die Aktionen geordnet und atomar sind.

Selbstreparatur: das "Immunsystem" in der zweischichtigen Schleifenerkennung

Eines der größten Risiken autonomer Agenten besteht darin, dass sie in einer Endlosschleife stecken bleiben - sie führen immer wieder dieselben Aktionen aus, ohne etwas zu erreichen.gemini-cli Zur Bekämpfung des Problems ist ein zweischichtiges "Immunsystem" eingebaut.

  1. Kostengünstiger Schnellnachweis (Hash-basiert)Dies ist ein Schnellreaktionsmechanismus. Er zerlegt den generierten Inhalt in kleine Stücke und berechnet den Hash-Wert. Wenn sich bestimmte Teile des Inhalts über eine kurze Strecke sehr häufig wiederholen, wie z. B. bei der Erkennung von Stottern, entscheidet das System sofort, dass es sich um eine Schleife handelt. Diese Methode hat einen sehr geringen Rechenaufwand und ist effektiv beim Abfangen dieser gemusterten, wörtlichen Duplikate.
  2. Semantische Erkennung höherer Ordnung (basierend auf LLM)Mit zunehmender Anzahl von Dialogrunden kann das Schleifenmuster immer heimtückischer werden (z. B. wiederholtes Ausprobieren verschiedener Wege zur Lösung eines Problems, das nicht existiert). An diesem Punkt wird das System eine Erkennung höherer Ordnung einleiten. Es extrahiert den jüngsten Dialogverlauf und ruft ein leichtgewichtiges Modell auf (z. B. das Gemini FlashDieses kleine Modell wird verwendet, um festzustellen, ob sich der Hauptagent "semantisch" im Kreis dreht. Dies ist gleichbedeutend mit einem Bystander, der prüft, ob das Verhalten des Hauptagenten aus einer höheren Dimension heraus sinnvoll ist. Auf der Grundlage des zurückgegebenen Konfidenzniveaus kann das System auch die Häufigkeit der nächsten Prüfung dynamisch anpassen, um ein Gleichgewicht zwischen Kosten und Wirkung zu erreichen.

Dieser zweistufige Mechanismus spiegelt ein ausgereiftes technisches Denken wider: Die häufigsten Probleme werden zu den niedrigsten Kosten gelöst, und teurere Ressourcen werden nur bei Bedarf eingesetzt.

Abwägungen und Perspektiven der Architektur

gemini-cli Die monolithische Agent-Architektur in Verbindung mit einer leichtgewichtigen "Dateisystem-als-Datenbank"-Persistenzstrategie macht es einfach, zuverlässig und leicht zu implementieren. Dies ist eine pragmatische Wahl für einzelne Entwickler und kleine bis mittelgroße Projekte.

Der Engpass dieses Entwurfs ist jedoch auch offensichtlich. Der serielle Verarbeitungsmechanismus schränkt die Effizienz der Ausführung ein. Bei komplexen Aufgaben, die viele parallele Operationen erfordern (z. B. die gleichzeitige Analyse und Änderung mehrerer Dateien), kann ein einzelner Agent überfordert sein.

Künftige fortschrittliche Agentenarchitekturen werden sich eher in Richtung eines kollaborativen Modells mit mehreren Agenten bewegen. Stellen Sie sich einen "Master"-Agenten vor, der Aufgaben aufteilt und sie an mehrere dedizierte Unteragenten verteilt - "Code-Leser", "Code-Generatoren", "Test-Ingenieure" usw. Diese arbeiten parallel und erstatten sich gegenseitig asynchron Bericht, "Codegenerator", "Testingenieur" usw., die parallel arbeiten und einander asynchron Bericht erstatten. Diese Architektur ist zwar komplexer im Aufbau, hat aber in Bezug auf Effizienz und Leistungsumfang die Nase vorn.gemini-cli Es zeigt uns, wie weit ein solider und zuverlässiger Einzelagent gehen kann, und gibt uns eine wertvolle Referenz für die Entwicklung der nächsten Generation von Agentenarchitekturen an die Hand.

Empfohlen

Sie können keine AI-Tools finden? Versuchen Sie es hier!

Geben Sie einfach das Schlüsselwort Barrierefreiheit Bing-SucheDer Bereich KI-Tools auf dieser Website bietet eine schnelle und einfache Möglichkeit, alle KI-Tools auf dieser Website zu finden.

zurück zum Anfang

de_DEDeutsch