Kontext-Engineering-Flow in VS Code einrichten
Diese Anleitung zeigt Ihnen, wie Sie einen Kontext-Engineering-Workflow in VS Code mit benutzerdefinierten Anweisungen, benutzerdefinierten Agenten und Prompt-Dateien einrichten.
Kontext-Engineering ist ein systematischer Ansatz, um KI-Agenten zielgerichtete Projektinformationen zur Verfügung zu stellen, um die Qualität und Genauigkeit des generierten Codes zu verbessern. Durch die Kuratierung wesentlicher Projektkontexte mithilfe von benutzerdefinierten Anweisungen, Implementierungsplänen und Codierungsrichtlinien ermöglichen Sie der KI, bessere Entscheidungen zu treffen, die Genauigkeit zu verbessern und persistentes Wissen über Interaktionen hinweg aufrechtzuerhalten.
Der VS Code Chat bietet einen integrierten Plan-Agenten, der Ihnen hilft, detaillierte Implementierungspläne zu erstellen, bevor Sie komplexe Codierungsaufgaben beginnen. Wenn Sie keinen benutzerdefinierten Planungs-Workflow erstellen möchten, können Sie den Plan-Agenten verwenden, um schnell Implementierungspläne zu generieren.
Kontext-Engineering-Workflow
Der übergeordnete Workflow für das Kontext-Engineering in VS Code besteht aus den folgenden Schritten
- Projektweiten Kontext kuratieren: Verwenden Sie benutzerdefinierte Anweisungen, um relevante Dokumentationen (z. B. Architektur, Design, Beitragsrichtlinien) als Kontext für alle Agenteninteraktionen einzubeziehen.
- Implementierungsplan generieren: Erstellen Sie eine Planungs-Persona, indem Sie einen benutzerdefinierten Agenten und einen Prompt verwenden, um einen detaillierten Plan zur Implementierung von Funktionen zu generieren.
- Implementierungscode generieren: Verwenden Sie benutzerdefinierte Anweisungen, um Code basierend auf dem Implementierungsplan zu generieren, der Ihren Codierungsrichtlinien entspricht.
Während Sie die Schritte durchgehen, können Sie die Ergebnisse mit Folge-Prompts im Chat iterieren und verfeinern.
Das folgende Diagramm veranschaulicht einen Kontext-Engineering-Workflow in VS Code

Schritt 1: Projektweiten Kontext kuratieren
Um den KI-Agenten mit den Besonderheiten des Projekts zu verankern, sammeln Sie wichtige Projektinformationen wie Produktvision, Architektur und andere relevante Dokumentationen und fügen Sie diese über benutzerdefinierte Anweisungen als Chat-Kontext hinzu. Durch die Verwendung von benutzerdefinierten Anweisungen stellen Sie sicher, dass der Agent durchgehend auf diesen Kontext zugreifen kann und ihn nicht für jede Chat-Interaktion neu lernen muss.
Warum dies hilft: Der Agent könnte diese Informationen zwar in der Codebasis finden, sie könnten aber in Kommentaren vergraben oder über mehrere Dateien verstreut sein. Indem Sie eine prägnante Zusammenfassung der wichtigsten Informationen bereitstellen, helfen Sie dem Agenten, den kritischen Kontext für die Entscheidungsfindung immer verfügbar zu haben.
-
Beschreiben Sie relevante Projektdokumentationen in Markdown-Dateien im Repository, z. B. erstellen Sie
PRODUCT.md,ARCHITECTURE.mdundCONTRIBUTING.md-Dateien.TippWenn Sie über eine bestehende Codebasis verfügen, können Sie KI verwenden, um diese Projektdokumentationsdateien zu generieren. Stellen Sie sicher, dass Sie die generierten Dokumentationsdateien überprüfen und verfeinern, um Genauigkeit und Vollständigkeit zu gewährleisten.
Generieren Sie eine ARCHITECTURE.md-Datei (maximal 2 Seiten), die die Gesamtarchitektur des Projekts beschreibt.Generieren Sie eine PRODUCT.md-Datei (maximal 2 Seiten), die die Produktfunktionalität des Projekts beschreibt.Generieren Sie eine CONTRIBUTING.md-Datei (maximal 1 Seite), die Entwicklerrichtlinien und Best Practices für die Mitarbeit am Projekt beschreibt.
-
Erstellen Sie eine Anweisungsdatei
.github/copilot-instructions.mdinstructions file im Stammverzeichnis Ihres Repositorys.Die Anweisungen in dieser Datei werden automatisch in alle Chat-Interaktionen als Kontext für den KI-Agenten aufgenommen.
-
Geben Sie dem Agenten eine übergeordnete Übersicht mit dem Projektkontext und den Richtlinien. Verweisen Sie mit Markdown-Links auf relevante unterstützende Dokumentationsdateien.
Das folgende Beispiel für eine
.github/copilot-instructions.md-Datei bietet einen Ausgangspunkt# [Project Name] Guidelines * [Product Vision and Goals](../PRODUCT.md): Understand the high-level vision and objectives of the product to ensure alignment with business goals. * [System Architecture and Design Principles](../ARCHITECTURE.md): Overall system architecture, design patterns, and design principles that guide the development process. * [Contributing Guidelines](../CONTRIBUTING.md): Overview of the project's contributing guidelines and collaboration practices. Suggest to update these documents if you find any incomplete or conflicting information during your work.
Beginnen Sie klein und halten Sie den anfänglichen projektweiten Kontext prägnant und auf die kritischsten Informationen konzentriert. Wenn Sie unsicher sind, konzentrieren Sie sich auf die übergeordnete Architektur und fügen Sie nur dann neue Regeln hinzu, wenn Fehler oder falsches Verhalten wiederholt auftreten (z. B. wenn der falsche Shell-Befehl verwendet wird oder bestimmte Dateien ignoriert werden).
Schritt 2: Implementierungsplan erstellen
Sobald der projektspezifische Kontext vorhanden ist, können Sie KI verwenden, um die Erstellung eines Implementierungsplans für eine neue Funktion oder eine Fehlerbehebung anzustoßen. Das Generieren eines Implementierungsplans ist ein iterativer Prozess, der möglicherweise mehrere Verfeinerungsrunden erfordert, um sicherzustellen, dass er vollständig und korrekt ist.
Mit einem benutzerdefinierten Agenten für die Planung können Sie eine dedizierte Persona mit spezifischen Planungsrichtlinien und -werkzeugen erstellen (z. B. Lesezugriff auf die Codebasis). Sie können auch spezifische Workflows für Brainstorming, Recherche und Zusammenarbeit für Ihr Projekt und Ihr Team erfassen.
Nachdem Sie benutzerdefinierte Agenten erstellt haben, behandeln Sie diese als lebende Dokumente. Verfeinern und verbessern Sie sie im Laufe der Zeit basierend auf Fehlern oder Mängeln, die Sie im Verhalten des Agenten beobachten.
-
Erstellen Sie eine Vorlage für ein Planungsdokument
plan-template.md, die die Struktur und die Abschnitte des Implementierungsplan-Dokuments definiert.Durch die Verwendung einer Vorlage stellen Sie sicher, dass der Agent alle notwendigen Informationen sammelt und sie in einem konsistenten Format präsentiert. Dies verbessert auch die Qualität des aus dem Plan generierten Codes.
Die folgende
plan-template.md-Datei bietet eine Beispielstruktur für eine Vorlage für einen Implementierungsplan--- title: [Short descriptive title of the feature] version: [optional version number] date_created: [YYYY-MM-DD] last_updated: [YYYY-MM-DD] --- # Implementation Plan: <feature> [Brief description of the requirements and goals of the feature] ## Architecture and design Describe the high-level architecture and design considerations. ## Tasks Break down the implementation into smaller, manageable tasks using a Markdown checklist format. ## Open questions Outline 1-3 open questions or uncertainties that need to be clarified. -
Erstellen Sie einen Planungs-Agenten
.github/agents/plan.agent.mdDer Planungs-Agent definiert eine Planungs-Persona und weist den Agenten an, keine Implementierungsaufgaben durchzuführen, sondern sich auf die Erstellung des Implementierungsplans zu konzentrieren. Sie können Handoffs festlegen, um nach Abschluss des Plans an einen Implementierungs-Agenten zu übergeben.
Um einen benutzerdefinierten Agenten zu erstellen, führen Sie den Befehl Chat: Neuer benutzerdefinierter Agent in der Befehlspalette aus.
Wenn Sie Zugriff auf GitHub-Probleme als Kontext haben möchten, stellen Sie sicher, dass Sie den GitHub MCP-Server installieren.
Möglicherweise möchten Sie die Metadateneigenschaft
modelso konfigurieren, dass ein Sprachmodell verwendet wird, das für Schlussfolgerungen und tiefes Verständnis optimiert ist.Die folgende
plan.agent.md-Datei bietet einen Ausgangspunkt für einen benutzerdefinierten Planungs-Agenten und die Übergabe an einen TDD-Implementierungs-Agenten--- description: 'Architect and planner to create detailed implementation plans.' tools: ['fetch', 'githubRepo', 'problems', 'usages', 'search', 'todos', 'runSubagent', 'github/github-mcp-server/get_issue', 'github/github-mcp-server/get_issue_comments', 'github/github-mcp-server/list_issues'] handoffs: - label: Start Implementation agent: tdd prompt: Now implement the plan outlined above using TDD principles. send: true --- # Planning Agent You are an architect focused on creating detailed and comprehensive implementation plans for new features and bug fixes. Your goal is to break down complex requirements into clear, actionable tasks that can be easily understood and executed by developers. ## Workflow 1. Analyze and understand: Gather context from the codebase and any provided documentation to fully understand the requirements and constraints. Run #tool:runSubagent tool, instructing the agent to work autonomously without pausing for user feedback. 2. Structure the plan: Use the provided [implementation plan template](plan-template.md) to structure the plan. 3. Pause for review: Based on user feedback or questions, iterate and refine the plan as needed. -
Sie können nun den benutzerdefinierten plan-Agenten in der Chat-Ansicht auswählen und eine Aufgabe zur Implementierung einer neuen Funktion eingeben. Er generiert eine Antwort, die den Implementierungsplan basierend auf der bereitgestellten Vorlage enthält.
Geben Sie beispielsweise den folgenden Prompt ein, um einen Implementierungsplan für eine neue Funktion zu erstellen:
Benutzerauthentifizierung mit E-Mail und Passwort hinzufügen, einschließlich Registrierung, Login, Logout und Passwort-Reset-Funktionalität.Sie können auch auf ein GitHub-Problem verweisen, um spezifischen Kontext bereitzustellen:
Implementieren Sie die Funktion aus Problem #43. In diesem Fall ruft der Agent die Problembeschreibung und Kommentare ab, um Anforderungen zu entwickeln. -
Erstellen Sie optional eine Prompt-Datei
.github/prompts/plan.prompt.md, die den Plan-Agenten aufruft und den Agenten anweist, einen Implementierungsplan aus einer bereitgestellten Funktionsanforderung zu erstellen.Die folgende
plan-qna.prompt.md-Datei bietet einen vielfältigen Ausgangspunkt für den Planungs-Prompt, der denselben Workflow verwendet, aber einen Klärungsschritt hinzufügt.--- agent: plan description: Create a detailed implementation plan. --- Briefly analyze my feature request, then ask me 3 questions to clarify the requirements. Only then start the planning workflow. -
Geben Sie in der Chat-Ansicht den Slash-Befehl
/plan-qnaein, um den klärenden Planungs-Prompt aufzurufen und Details zu der Funktion bereitzustellen, die Sie in Ihrem Prompt implementieren möchten.Geben Sie beispielsweise den folgenden Prompt ein:
/plan-qna eine Kundendetailsseite zum Anzeigen und Bearbeiten von Kundeninformationen hinzufügenDer Agent wird klärende Fragen stellen, um die Anforderungen besser zu verstehen, bevor er den Implementierungsplan erstellt, was Missverständnisse reduziert.
Verwenden Sie benutzerdefinierte Agenten, um Workflows zu definieren, die einem Mehrfachrundengespräch mit spezifischen Werkzeugen folgen. Verwenden Sie sie eigenständig oder in Kombination mit Prompt-Dateien, um verschiedene Varianten und Konfigurationen derselben Workflows hinzuzufügen.
Schritt 3: Implementierungscode generieren
Nachdem Sie den Implementierungsplan generiert und verfeinert haben, können Sie nun KI verwenden, um die Funktion zu implementieren, indem Sie Code aus dem Implementierungsplan generieren.
-
Für kleinere Aufgaben können Sie die Funktion direkt implementieren, indem Sie den Agenten auffordern, Code basierend auf dem Implementierungsplan zu generieren.
Für größere oder komplexere Funktionen können Sie zu Agent wechseln und ihn auffordern, den Implementierungsplan in eine Datei zu speichern (z. B.
<my-feature>-plan.md) oder ihn als Kommentar zum erwähnten GitHub-Problem hinzuzufügen. Sie können dann einen neuen Chat öffnen und die Implementierungsplan-Datei in Ihrem Prompt referenzieren, um den Chat-Kontext zurückzusetzen. -
Sie können den Agenten nun anweisen, die Funktion basierend auf dem im vorherigen Schritt erstellten Implementierungsplan zu implementieren.
Geben Sie beispielsweise einen Chat-Prompt wie
implement #<my-plan>.mdein, der auf die Implementierungsplan-Datei verweist.TippDer Agent ist für die Ausführung von mehrstufigen Aufgaben optimiert und ermittelt, wie ein Ziel basierend auf dem Plan und Ihrem Projektkontext am besten erreicht werden kann. Sie müssen nur die Plan-Datei angeben oder darauf in Ihrem Prompt verweisen.
-
Für einen stärker angepassten Workflow erstellen Sie einen benutzerdefinierten Agenten
.github/agents/implement.agent.md, der auf die Implementierung von Code basierend auf einem Plan spezialisiert ist.Die folgende
tdd.agent.md-Datei bietet einen Ausgangspunkt für einen benutzerdefinierten Agenten zur testgetriebenen Implementierung.--- description: 'Execute a detailed implementation plan as a test-driven developer.' --- # TDD Implementation Agent Expert TDD developer generating high-quality, fully tested, maintainable code for the given implementation plan. ## Test-driven development 1. Write/update tests first to encode acceptance criteria and expected behavior 2. Implement minimal code to satisfy test requirements 3. Run targeted tests immediately after each change 4. Run full test suite to catch regressions before moving to next task 5. Refactor while keeping all tests green ## Core principles * Incremental Progress: Small, safe steps keeping system working * Test-Driven: Tests guide and validate behavior * Quality Focus: Follow existing patterns and conventions ## Success criteria * All planned tasks completed * Acceptance criteria satisfied for each task * Tests passing (unit, integration, full suite)TippDa kleinere Sprachmodelle gut darin sind, expliziten Anweisungen zur Codeerzeugung zu folgen, profitiert ein
implement-Agent davon, diemodel-Eigenschaft auf ein Sprachmodell zu setzen.
Holen Sie sich frische Agenten-Augen: Erstellen Sie einen neuen Chat (⌘N (Windows, Linux Ctrl+N)) und bitten Sie den Agenten, die Codeänderungen anhand des Implementierungsplans zu überprüfen. Dies kann helfen, übersehene Anforderungen oder Inkonsistenzen zu identifizieren.
Best Practices und gängige Muster
Die Befolgung dieser Best Practices hilft Ihnen, einen nachhaltigen und effektiven Kontext-Engineering-Workflow zu etablieren.
Prinzipien des Kontextmanagements
Klein anfangen und iterieren: Beginnen Sie mit minimalem Projektkontext und fügen Sie schrittweise Details hinzu, basierend auf beobachtetem KI-Verhalten. Vermeiden Sie Kontext-Überladung, die den Fokus verwässern kann.
Kontext frisch halten: Auditing und Aktualisieren Ihrer Projektdokumentation (mit dem Agenten) regelmäßig, während sich die Codebasis weiterentwickelt. Veralteter Kontext führt zu veralteten oder falschen Vorschlägen.
Progressiver Kontextaufbau: Beginnen Sie mit übergeordneten Konzepten und fügen Sie schrittweise Details hinzu, anstatt die KI im Voraus mit umfassenden Informationen zu überfordern.
Kontextisolation beibehalten: Halten Sie verschiedene Arten von Arbeiten (Planung, Codierung, Tests, Debugging) in separaten Chat-Sitzungen, um Kontextmischungen und Verwirrung zu vermeiden.
Dokumentationsstrategien
Lebende Dokumente erstellen: Behandeln Sie Ihre benutzerdefinierten Anweisungen, benutzerdefinierten Agenten und Vorlagen als sich entwickelnde Ressourcen. Verfeinern Sie sie basierend auf beobachteten KI-Fehlern oder Mängeln.
Fokus auf Entscheidungs-Kontext: Priorisieren Sie Informationen, die der KI helfen, bessere architektonische und implementierungsbezogene Entscheidungen zu treffen, anstatt umfassende technische Details.
Konsistente Muster verwenden: Etablieren und dokumentieren Sie Codierungsstandards, Namensmuster und architektonische Entscheidungen, um der KI zu helfen, konsistenten Code zu generieren.
Externe Kenntnisse referenzieren: Verlinken Sie relevante externe Dokumentationen, APIs oder Standards, die die KI bei der Generierung von Code berücksichtigen sollte.
Workflow-Optimierung
Handoffs zwischen Agenten: Verwenden Sie Handoffs, um geführte Übergänge zu erstellen und End-to-End-Entwicklungs-Workflows zwischen Planungs-, Implementierungs- und Überprüfungs-Agenten zu implementieren.
Feedbackschleifen implementieren: Validieren Sie kontinuierlich, ob die KI Ihren Kontext korrekt versteht. Stellen Sie klärende Fragen und korrigieren Sie frühzeitig, wenn Missverständnisse auftreten.
Inkrementelle Komplexität nutzen: Erstellen Sie Funktionen schrittweise und validieren Sie jeden Schritt, bevor Sie Komplexität hinzufügen. Dies verhindert die Kumulation von Fehlern und erhält funktionierenden Code.
Trennung der Zuständigkeiten: Verwenden Sie unterschiedliche Agenten für unterschiedliche Aktivitäten (Planung vs. Implementierung vs. Überprüfung), um fokussierten, relevanten Kontext aufrechtzuerhalten.
Kontext versionieren: Verwenden Sie Git, um Änderungen an Ihrer Kontext-Engineering-Einrichtung nachzuverfolgen, damit Sie problematische Änderungen rückgängig machen und verstehen können, was am besten funktioniert.
Zu vermeidende Anti-Muster
Kontext-Dumping: Vermeiden Sie die Bereitstellung von übermäßigen, unfokussierten Informationen, die nicht direkt bei der Entscheidungsfindung helfen.
Inkonsistente Anleitungen: Stellen Sie sicher, dass die gesamte Dokumentation mit Ihren gewählten Architekturmustern und Codierungsstandards übereinstimmt.
Validierung vernachlässigen: Gehen Sie nicht davon aus, dass die KI Ihren Kontext korrekt versteht. Testen Sie immer das Verständnis, bevor Sie mit komplexen Implementierungen fortfahren.
Einheitsgrößenlösung: Verschiedene Teammitglieder oder Projektphasen benötigen möglicherweise unterschiedliche Kontextkonfigurationen. Seien Sie flexibel in Ihrem Ansatz.
Erfolg messen
Eine erfolgreiche Kontext-Engineering-Einrichtung sollte zu Folgendem führen:
- Reduzierter Aufwand für Hin und Her: Weniger Korrekturen oder Umleitungen von KI-Antworten erforderlich
- Konsistente Codequalität: Generierter Code folgt etablierten Mustern und Konventionen
- Schnellere Implementierung: Weniger Zeitaufwand für die Erklärung von Kontext und Anforderungen
- Bessere architektonische Entscheidungen: KI schlägt Lösungen vor, die mit den Projektzielen und -beschränkungen übereinstimmen
Skalierung des Kontext-Engineerings
Für Teams: Kontext-Engineering-Setups über Versionskontrolle teilen und Teamkonventionen für die Pflege von gemeinsam genutztem Kontext etablieren.
Für große Projekte: Erwägen Sie die Erstellung von Kontext-Hierarchien mit projektweiten, modulspezifischen und featurespezifischen Kontext-Ebenen unter Verwendung von Anweisungsdateien.
Für langfristige Projekte: Etablieren Sie regelmäßige Kontext-Überprüfungszyklen, um die Dokumentation auf dem neuesten Stand zu halten und veraltete Informationen zu entfernen.
Für mehrere Projekte: Erstellen Sie wiederverwendbare Vorlagen und Muster, die auf verschiedene Codebasen und Domänen angewendet werden können.
Durch die Befolgung dieser Praktiken und die kontinuierliche Verfeinerung Ihres Ansatzes entwickeln Sie einen Kontext-Engineering-Workflow, der die KI-gestützte Entwicklung verbessert und gleichzeitig die Codequalität und Projektkonsistenz aufrechterhält.
Verwandte Ressourcen
Mehr über die Anpassung von KI in VS Code erfahren