Kernkonzepte

Arbeiten mit großen Projekten

Verwalte große Codebasen in Bob IDE. Verstehe Kontextfenster-Optimierung, Dateihandhabung und Best Practices für Projekte auf Unternehmensebene.

Kontextgrenzen in großen Projekten verstehen

Bob verwendet große Sprachmodelle, die ein begrenztes Kontextfenster haben. Dies ist die maximale Textmenge (gemessen in Tokens), die Bob auf einmal verarbeiten kann. Wenn der Kontext zu groß ist, kann Bob Ihre Anfrage möglicherweise nicht verstehen oder genaue Antworten generieren.

Das Kontextfenster umfasst:

  • Den System-Prompt (Anweisungen für Bob)
  • Den Gesprächsverlauf
  • Den Inhalt aller Dateien, die Sie mit @ erwähnen
  • Ausgewählten Text, der mit Cmd + L (Mac) oder Ctrl + L (Windows/Linux) an den Chat gesendet wird
  • Die Ausgabe aller Befehle oder Werkzeuge, die Bob verwendet

Strategien zur Kontextverwaltung

  1. Seien Sie spezifisch: Verwenden Sie beim Verweisen auf Dateien oder Code spezifische Dateipfade und Funktionsnamen. Vermeiden Sie vage Verweise wie "die Hauptdatei".
  2. Verwenden Sie Kontexterwähnungen effektiv: Verwenden Sie @/pfad/zur/datei.ts, um bestimmte Dateien einzuschließen. Verwenden Sie @problems, um aktuelle Fehler und Warnungen einzuschließen. Verwenden Sie @ gefolgt von einem Commit-Hash, um auf bestimmte Git-Commits zu verweisen. Sie können auch Text in Ihrem Editor markieren und Cmd + L (Mac) oder Ctrl + L (Windows/Linux) verwenden, um ihn direkt an den Chat zu senden.
  3. Aufgaben aufteilen: Teilen Sie große Aufgaben in kleinere, besser handhabbare Teilaufgaben auf. Dies hilft, den Kontext fokussiert zu halten.
  4. Bei Bedarf zusammenfassen: Wenn Sie auf eine große Menge Code verweisen müssen, erwägen Sie, die relevanten Teile in Ihrem Prompt zusammenzufassen, anstatt den gesamten Code einzuschließen.
  5. Priorisieren Sie den aktuellen Verlauf: Bob verdichtet automatisch ältere Nachrichten im Gesprächsverlauf, um innerhalb des Kontextfensters zu bleiben. Seien Sie sich dessen bewusst und fügen Sie wichtigen Kontext bei Bedarf erneut hinzu.
  6. Konfigurieren Sie die Handhabung großer Dateien: Passen Sie die Einstellung für die Handhabung großer Dateien an, um zu steuern, wie Bob Dateien verarbeitet, die einen bestimmten Größenschwellenwert überschreiten. Dies hilft bei der Verwaltung der Kontextnutzung beim Arbeiten mit großen Dateien.
  7. Verwalten Sie die MCP-Tool-Nutzung: Sie können bestimmte Tools in einem MCP-Dienst deaktivieren und aktivieren, um nur das zu verwenden, was Sie benötigen, wodurch der Kontextverbrauch durch ungenutzte Tool-Definitionen reduziert wird.
  8. Verwenden Sie Subagenten oder Subtasks für isolierte Arbeit: Für große, in sich geschlossene Arbeitspakete sollten Sie einen Subagenten oder Subtask verwenden. Beide laufen in ihrem eigenen separaten Kontextfenster und halten die Hauptkonversation schlank. Siehe Tools für Details zu spawn_subagent und start_subtask.
  9. Verwenden Sie Symbol-Tools anstelle vollständiger Dateierwähnungen: Anstatt eine gesamte Datei mit @ zu erwähnen, kann Bob Tools wie GetSymbolsOverview und FindSymbol verwenden, um direkt zur relevanten Klasse oder Funktion zu navigieren. Dies ruft nur das Benötigte ab und vermeidet das Laden der vollständigen Datei in den Kontext.

Beispiel: Refaktorieren einer großen Datei

Wenn Sie eine große TypeScript-Datei (src/components/MyComponent.tsx) refaktorieren müssen, ist hier ein effektiver Ansatz:

  1. Erste Übersicht erhalten:
    @/src/components/MyComponent.tsx Liste die Funktionen und Klassen in dieser Datei auf.
  2. Bestimmte Funktionen anvisieren:
    @/src/components/MyComponent.tsx Refaktoriere die `processData`-Funktion zur Verwendung von `async/await` anstelle von Promises.
  3. Iterative Änderungen vornehmen: Nehmen Sie kleine, inkrementelle Änderungen vor und überprüfen und genehmigen Sie jeden Schritt.

Durch das Aufteilen der Aufgabe und das Bereitstellen spezifischen Kontexts können Sie effektiv mit großen Dateien innerhalb der Kontextfenstergrenzen arbeiten.

Wie ist dieses Thema?