Eine weit verbreitete Ansicht ist, dass das Wesen eines KI-Agenten darin besteht, effektivere Prompt
. Diese Erklärung ist zwar nicht umfassend, verweist aber auf die Prompt
Technik im Zentrum der Agentenentwicklung. In diesem Papier werden wir uns mit den Cline
Quellcode, die Zerlegung seiner Prompt
Architektur und Einzelheiten des Entwurfs.
System Prompt: Das Herz und die Seele des Agenten
System Prompt
ist ein wichtiger Faktor für KI-Anwendungen. In der GitHub
über eine Sammlung von KI-Anwendungen aller Art System Prompt
Die Tatsache, dass das Lagerhaus zehntausende von Sternen erhalten hat, ist ein Beweis für seine Bedeutung.Cline
(in Form eines Nominalausdrucks) System Prompt
Bei dem Entwurf handelt es sich nicht um einen statischen Text, sondern um eine hochstrukturierte Reihe von Anweisungen, die dynamisch auf der Grundlage von Kontext-, Instrumental- und Modellierungsinformationen generiert werden und deren Quellcode sich in der Datei src/core/prompts/system.ts
.
System Prompt
Zunächst wurde die Identität des Modells festgelegt:
Sie sind Cline, ein hochqualifizierter Software-Ingenieur mit umfangreichen Kenntnissen in vielen Programmiersprachen, Frameworks, Design Patterns und Best Practices. Praktiken.
TOOL USE: Definition der Sprache der Aktion
Cline
(in Form eines Nominalausdrucks) Prompt
Der Entwurf zeigt deutlich, wie das Modell Schritt für Schritt durch die Aufgabe geführt wird, wobei der Kern des Entwurfs die feinkörnige Verwaltung des Werkzeugs ist. Dieser Mechanismus ist nach dem gleichen Prinzip konzipiert ReAct (Reasoning and Acting)
Der Rahmen deckt sich mit einem Zyklus von "Denken - Handeln - Beobachten" zur Lösung komplexer Probleme.
1. das Format des Werkzeugaufrufs
Prompt
Zunächst wird die Syntax des Werkzeugaufrufs definiert, so dass das Modell die XML
Die Etikettenausgabe gewährleistet die maschinelle Lesbarkeit und die Stabilität des Parsing.
<tool_name>
<parameter1_name>value1</parameter1_name>
<parameter2_name>value2</parameter2_name>
...
</tool_name>
2. eine Liste von Instrumenten und Beispielen
System Prompt
Eine detaillierte Liste aller eingebauten Werkzeuge, einschließlich Funktionsbeschreibungen, Parameterbeschreibungen und Anwendungsbeispielen. Zum Beispiel.write_to_file
Das Tool ist sehr gut definiert und stellt klar, dass Dateien überschrieben werden, wenn sie existieren, und dass sie erstellt werden, wenn sie nicht existieren, und dass die Erstellung von Verzeichnissen automatisch erfolgt.
## write_to_file
Description: Request to write content to a file at the specified path. If the file exists, it will be overwritten with the provided content. If the file doesn't exist, it will be created. This tool will automatically create any directories needed to write the file.
Parameters:
- path: (required) The path of the file to write to (relative to the current working directory ${cwd.toPosix()})
- content: (required) The content to write to the file. ALWAYS provide the COMPLETE intended content of the file, without any truncation or omissions. You MUST include ALL parts of the file, even if they haven't been modified.
Usage:
<write_to_file>
<path>File path here</path>
<content>
Your file content here
</content>
</write_to_file>
Cline
Eingebaute Überschreibungen für Befehlszeile, Dateisystem, Browser-Interaktion und sogar MCP
(Meta-level Control Protocol) von mehr als einem Dutzend Tools, die eine Brücke zwischen dem Modell und der Außenwelt bilden.
3) Leitlinien für den Einsatz von Werkzeugen
Prompt
Klare Richtlinien für die Denkkette (Chain of Thought, CoT) werden bereitgestellt, um das Modell zu leiten, wie man denkt und Entscheidungen trifft:
- Informationen zur Bewertung: in
<thinking>
Denken Sie innerhalb der Registerkarten. - Auswahl-ToolsWählen Sie das am besten geeignete Werkzeug für die jeweilige Aufgabe.
- einstufige Durchführung: Rufen Sie jeweils ein Werkzeug auf und warten Sie die Ergebnisse ab, bevor Sie mit dem nächsten Schritt fortfahren.
- Konstruktoraufruf: Verwendung der vorgeschriebenen
XML
Format. - Warten auf RückmeldungNach jedem Werkzeugaufruf gibt das System das Ausführungsergebnis zurück und das Modell muss auf diese Rückmeldung warten.
Dieser Mechanismus der schrittweisen Ausführung und des Wartens auf Bestätigung gewährleistet die Genauigkeit der Aufgabendemontage und die Kontrollierbarkeit der einzelnen Arbeitsschritte, wodurch sich die Erfolgsquote bei komplexen Aufgaben erheblich verbessert.
Dokumentenbearbeitung: ein Leitfaden für die wichtigsten Szenarien
Die Dateibearbeitung ist die häufigste und wichtigste Funktion des Codegenerierungsagenten.Cline
existieren Prompt
Sie unterstreicht insbesondere die Notwendigkeit, dass write_to_file
im Gesang antworten replace_in_file
Ein Leitfaden für Tools und eine Reihe von Best-Practice-Workflows für die Dokumentenbearbeitung:
- Umfang der BewertungVor der Bearbeitung sollten Sie den Umfang der Änderungen abschätzen und entscheiden, welches Werkzeug Sie verwenden möchten.
- VeredelungKleine, gezielte Änderungen zur Nutzung
replace_in_file
. - Refaktorierung oder Erstellung: Für umfangreiches Refactoring oder das Erstellen neuer Dateien verwenden Sie die
write_to_file
. - SynchronisierungNach der Bearbeitung einer Datei liefert das System eine vollständige und aktuelle Ansicht der Datei. Das Modell muss diesen aktuellen Inhalt als Grundlage für nachfolgende Operationen verwenden, wodurch Inkonsistenzen im Zustand aufgrund von Formatierungen oder manuellen Änderungen durch den Benutzer vermieden werden.
Planmodus vs. Handlungsmodus: Trennung von Strategie und Ausführung
Cline
Es werden zwei Betriebsmodi eingeführt:Plan Mode
im Gesang antworten Act Mode
. Bei der Bearbeitung komplexer Aufgaben kann der Benutzer zunächst die Plan Mode
Das Modell kann High-Level-Strategien entwickeln, wie z. B. die Analyse der Codestruktur, die Identifizierung von Änderungen und die Verwendung von Diagrammen (z. B. Mermaid) zur visuellen Darstellung. Sobald die Planung abgeschlossen ist, wechseln Sie zu Act Mode
Das Modell hält sich strikt an den festgelegten Plan und führt bestimmte Vorgänge Schritt für Schritt aus. Dieses "Erst planen, dann ausführen"-Modell verbessert effektiv die Erfolgsquote komplexer Aufgaben und die Codequalität.
Regeln und Zäune
Prompt
Der Abschnitt Regeln (RULES) des Modells definiert die Grenzen des Verhaltens des Modells in einem extrem starken Ton, durch Fettdruck und so weiter. Zum Beispiel.verbotenausnutzen ~
vielleicht $HOME
bezieht sich auf das Heimatverzeichnis des Benutzers.verbotenausnutzen cd
Befehl.unbedingtWarten auf die Bestätigung des Benutzers. Diese expliziten "Verbote" bilden die Verhaltensleitplanken des Modells und verringern Unsicherheit und potenziell destruktive Vorgänge.
Kernziele und iterative Zyklen
Prompt
Am Ende des Prozesses ist klar, dass die Cline
Gesamter Arbeitsablauf für die Bearbeitung von Aufgaben:
- Analyse und DemontageAnalyse der Benutzeraufgaben, Festlegung von klaren Teilzielen und deren Reihenfolge.
- Iterative AusführungAbarbeitung der Teilziele nacheinander, ein Werkzeug nach dem anderen. Vor dem Aufruf muss das
<thinking>
um die Umgebung zu analysieren, Werkzeuge auszuwählen und Parameter zu überprüfen. - ParametrisierungWenn die erforderlichen Parameter fehlen, wird dieverbotenaufzurufen, sondern verwenden Sie stattdessen die
ask_followup_question
Das Tool fordert Informationen vom Benutzer an. - Auftrag erfülltNachdem alle Ziele erreicht sind, verwenden Sie die
attempt_completion
Das Tool übermittelt die endgültigen Ergebnisse. - Vermeidung des zirkulären Dialogs: Antwort in Bearbeitungsollte nichtVermeiden Sie sinnlose Dialoge, indem Sie mit einer Frage oder einer Bitte um weitere Hilfe enden.
Erweiterbarkeit und Anpassung der Eingabeaufforderung
Cline
(in Form eines Nominalausdrucks) Prompt
Das System ist nicht statisch und bietet mehrere Stufen von Anpassungsmöglichkeiten, die es den Benutzern ermöglichen, spezifisches Wissen und Arbeitsabläufe auf der Grundlage der Projektanforderungen einzubringen.
Anpassen der System-Eingabeaufforderung
Cline
Ermöglicht es dem Benutzer, einen Benutzernamen zum Stammverzeichnis des Projekts im Verzeichnis .clinerules/
Ordner, um benutzerdefinierte Befehle hinzuzufügen. Diese Direktiven werden an den Ordner System Prompt
am Ende des Buches als die wirksamste Ergänzung. Interessant ist, dass dieCline
Der Code berücksichtigt sogar das Laden von Cursor
vielleicht Windsurf
Regelwerk, das die Offenheit seiner Gestaltung demonstriert.
if (localCursorRulesFileInstructions) {
customInstructions += localCursorRulesFileInstructions + "nn"
}
// ...
Slash-Befehl und Workflow
passieren (eine Rechnung oder Inspektion etc.) /
ausgelöst Slash Command
Für bestimmte Aufgaben gibt es Verknüpfungseinträge. Zum Beispiel./reportBug
Es kann eine Reihe von vordefinierten Fehlerrückmeldungen ausgelöst werden. Diese Befehle entsprechen den Prompt
Der Clip ist in src/core/prompts/commands.ts
Definiert in.
Noch einen Schritt weiter gehend können die Benutzer Workflow
Selbstdefinierende Befehle. Im .clinerules/workflows/
Verzeichnis, um die Markdown
Datei können Sie einen mehrstufigen Aufgabenablauf definieren. Diese benutzerdefinierten Workflow
Das Gleiche gilt für /
Die Befehle werden in der Chatbox angezeigt, was für die Benutzer sehr praktisch ist, um komplexe Aufgaben zu kapseln.
@ Erwähnung: dynamischer Injektionskontext
@
Die Symbole in der Cline
für den Verweis auf externe Ressourcen und die dynamische Einbindung von Kontext in die Prompt
ein. Der Benutzer kann @
einen Dateipfad.Cline
verpackt den gesamten Inhalt dieser Datei in die <file_content>
In-Tag an das Modell gesendet.
<file_content path="path/to/file">
[Complete file content]
</file_content>
Zusätzlich zu den Dokumenten.@
Ausgaben, Kommandozeilen-Historie und sogar URLs können ebenfalls referenziert werden, und dies kann zum Beispiel mit der @
Das Andocken der internen Wissensbasis ermöglicht Cline
Fachwissen in bestimmten Bereichen.
Memory Bank: Aufbau eines Langzeitgedächtnisses
Memory Bank
sein Cline
Eine Lösung, die das Problem des Langzeitgedächtnisverlusts bei LLM angehen soll. Die Idee ist, einen Kernsatz von Dokumenten über ein Projekt zu pflegen, und wenn ein Agent bei einer neuen Aufgabe den historischen Kontext verliert, kann er diese "Notizen" lesen, um einen schnellen Überblick über das Projekt zu erhalten. Dies ist konzeptionell vergleichbar mit einem Handbuch, das strukturiert ist. RAG
(Retrieval Enhanced Generation) System.
Weitere Informationen hierzu finden Sie in der .clinerules/
Verzeichnis, um die memory-bank.md
(math.) GattungCline
Das offizielle Beispiel empfiehlt eine Dokumentationsstruktur, die das Projektprofil, die technische Architektur, den Entwicklungsstand usw. umfasst.
Es ist erwähnenswert, dassCline
Das Team fördert die Verwendung von Memory Bank
den Nagel auf den Kopf treffen Mermaid
Charts argumentieren sie, dass "der beste Weg, mit KI zu kommunizieren, nicht die natürliche Sprache ist - es ist die strukturierte Sprache des Workflows".
Realistische Überlegungen zur Modellanpassung: Der Fall Claude 4
Cline
In Version 3.17.9 lautet sie Claude 4
Das Modell bietet spezialisierte Prompt
Anpassung. Im offiziellen Blog wird erwähnt, dass zur Lösung des Claude 4
Zur Behebung von Fehlern bei Such- und Ersetzungsvorgängen wurde das Trennzeichen so angepasst, dass es das -
im Gesang antworten +
Ersatz für <
im Gesang antworten >
und erhöht damit die Erfolgsquote der Bearbeitung.
Dieses Detail offenbart eine wichtige technische Realität:Prompt
Nicht "einmal schreiben, überall ausführen". Verschiedene Modelle unterscheiden sich in ihrer Befehlsbefolgung, ihren Formatierungspräferenzen und ihrer Ausgabestabilität. In einer Umgebung mit mehreren Modellen müssen daher modellspezifische Prompt
Das Testen und Abstimmen des Systems ist ein entscheidender Faktor für die Gewährleistung von Stabilität und Zuverlässigkeit.
openrouter Die Statistiken der Website zeigen, dass die Länge und Komplexität von Cline's Prompt die anderer Anwendungen bei weitem übersteigt
Cline
(in Form eines Nominalausdrucks) Prompt
Das Design verkörpert hochgradig modulare und defensive Programmierideen. Es verwandelt ein Allzweck-Sprachmodell in einen zielgerichteten, zuverlässigen und effizienten Assistenten für die Softwareentwicklung durch detaillierte Anweisungen, reichhaltigen Kontext, klare Regeln und mehrere Ebenen der Anpassung. Obwohl dieses "No-Nonsense" Prompt
Der Entwurf wird eine Menge Zeit in Anspruch nehmen Token
Im Gegenzug erhält der Agent jedoch ein höheres Maß an Sicherheit und Erfolg bei der Ausführung komplexer Aufgaben.