Tutorials

Komplexe Features planen und implementieren

Nutze den Plan-Modus von IBM Bob, um komplexe Features mit einem KI-Coding-Agenten zu planen, zu überprüfen und zu implementieren. Lerne, wie du einen Planungs-Prompt schreibst, den generierten Plan verfeinerst und die Implementierung im Agent-Modus ausführst.

In diesem Tutorial nutzt du den Plan-Modus von Bob, um einen strukturierten Implementierungsplan für das Hinzufügen von Sitzklassen zur Galaxium Travels Demo-Anwendung zu erstellen. Anschließend genehmigst du den Plan und lässt Bob das Feature über die Front-End-, Back-End- und Datenbankebenen hinweg implementieren.

Dieses Tutorial zeigt dir, wie du einen effektiven Planungs-Prompt schreibst, worauf du bei der Überprüfung eines generierten Plans achten solltest und wie du den Plan iterierst, bevor Bob Code schreibt.

Voraussetzungen

Warum den Plan-Modus nutzen

Bob ist ein autonomer Agent. Wenn du einen vagen Prompt verwendest, füllt Bob alle Lücken mit eigenen Annahmen. Diese Annahmen entsprechen möglicherweise nicht deiner Absicht, auch wenn sie technisch korrekt sind.

Wenn du einen Plan erstellst, generiert Bob eine Reihe von Markdown-Dateien, die den Umfang, Architekturentscheidungen und geordnete Implementierungsschritte beschreiben. Da der Plan von der Implementierung getrennt ist, kannst du ihn lesen, hinterfragen und verfeinern, bevor Bob Code schreibt.

Richte deine Umgebung ein

Klone den Galaxium Travels Demo-Code. Der Clone-Befehl checkt auch den bob-learning-path-branch aus, der den Code enthält, den du in den Tutorials verwendest.

git clone -b bob-learning-path-branch https://github.com/IBM/galaxium-travels

Klicke in Bob auf File und dann auf Open Folder.

Navigiere zum geklonten galaxium-travels-Verzeichnis und öffne es.

Initialisiere Bob in deinem Projekt

Führe /init im Bob-Chat-Panel aus, damit Bob eine Root-AGENTS.md-Datei und Regel-AGENTS.md-Dateien erstellt.

Die Root-AGENTS.md-Datei teilt Bob die Gesamtstruktur, Konventionen und Ziele des Projekts mit, damit Bob Code schreibt, der zu deinem Projekt passt. Ohne sie beginnt Bob jedes Mal von vorne, da Bob zustandslos ist.

Die Regeldateien in .bob sind der Ort, an dem Bob AGENTS.md für jeden seiner Modi erstellt: Agent, Plan und Ask. Jeder Modus hat unterschiedliche Regeln, die Bobs Verhalten in diesem Modus steuern.

/init

Bob fragt um Erlaubnis, die AGENTS.md-Dateien zu erstellen. Klicke auf Approve todo tools for task, um die Dateien zu erstellen.

Wie man einen Plan-Prompt schreibt

Der Prompt, den du im Plan-Modus schreibst, wird zur Spezifikation, nach der Bob arbeitet. Ein vager Prompt erzeugt einen vagen Plan. Bevor du tippst, beantworte diese vier Fragen:

  • Was macht das Feature und was macht es nicht? Ein expliziter Umfang verhindert, dass Bob Arbeit hinzufügt, die du nicht angefordert hast.
  • Welche Ebenen berührt das Feature? Zum Beispiel die UI, API und Datenbank.
  • Welche Einschränkungen gelten? Dateianzahl-Limits, Namenskonventionen, Anforderungen an Abwärtskompatibilität und alles andere, was Bob als nicht verhandelbar behandeln sollte.
  • Wie sieht "fertig" aus? Ein konkretes Akzeptanzkriterium. Zum Beispiel gibt "ein Benutzer kann während der Buchung Economy, Business oder Galaxium-Klasse auswählen" Bob ein klares Ziel.

Generiere einen Plan

Nutze den Plan-Modus, um einen Plan zu erstellen, dem Bob bei der Implementierung des Sitzklassen-Features folgt.

Öffne die agentic chat sidebar

Wenn die Chat-Oberfläche geschlossen ist, öffne sie, indem du auf das Bob-Symbol neben der Navigationsleiste klickst oder die Tastenkombination Option + Command + B (Mac) oder Ctrl + Alt + B (Windows) verwendest.

Bob-Chat-Panel geöffnet in IBM Bob IDE

Wechsle in den Plan-Modus

Wähle Plan aus dem Modus-Selektor in der Chat-Oberfläche.

Plan-Modus verwenden

Erstelle den Plan

Führe den folgenden Prompt im Eingabefeld aus. Der Prompt wendet die Scoping-Prinzipien aus dem Abschnitt Wie man einen Plan-Prompt schreibt an: benennt die zu ändernden Ebenen, setzt ein Dateianzahl-Limit, schließt das Admin-Dashboard aus und gibt ein Akzeptanzkriterium an.

Bob fragt um Erlaubnis, Skill-Tools und Subagenten zu verwenden, damit er den Create-Plan-Skill ausführen kann. Klicke auf Approve skill tools for task und Approve subagent tools for task, um die Anfrage zu genehmigen.

Ich möchte Sitzklassen zu Galaxium Travels hinzufügen. Passagiere sollten bei der Buchung eines Fluges zwischen Economy, Business oder Galaxium-Klasse wählen können.

Umfang:
- Aktualisiere die Buchungs-UI, um einen Sitzklassen-Selektor anzuzeigen
- Aktualisiere die Back-End-Buchungs-API, um die ausgewählte Klasse zu akzeptieren und zu speichern
- Aktualisiere das Datenbankschema, um eine seat_class-Spalte zur bookings-Tabelle hinzuzufügen
- Füge keine Admin-Dashboard-Änderungen hinzu — das ist außerhalb des Umfangs

Einschränkungen:
- Erstelle einen Ordner namens `plans` im galaxium-travels-Ordner
- Erstelle nicht mehr als drei Plan-Dateien
- Halte die Datenbankänderung abwärtskompatibel

Fertig wenn: Ein Benutzer kann während der Buchung eine Sitzklasse auswählen und die ausgewählte Klasse wird in seiner Buchungsbestätigung gespeichert und angezeigt.

Der folgende Screenshot zeigt, wie Bob klärende Fragen stellt, um deine Absicht zu verstehen. Deine Fragen können je nachdem, wie du den Prompt geschrieben hast, unterschiedlich sein. Beantworte die Fragen oder sage Bob, er soll die besten Optionen auswählen.

Bob stellt klärende Fragen im Plan-Modus

Wenn Bob fertig ist, fordert er die Genehmigung an, die Plan-Dateien zu schreiben. Klicke auf Approve edit tools for task.

Bob legt die Plan-Dateien im plans-Ordner als Markdown-Dateien ab. Deine Plan-Dateinamen können variieren.

/galaxium-travels/plans/seat-class-plan.md

Überprüfe den Plan

Die Plan-Dateien sind die Spezifikation, nach der Bob baut. Überprüfe den Plan im plans-Ordner, um die vorgeschlagenen Änderungen zu verstehen.

Wenn du Pläne überprüfst, achte auf Folgendes:

  • Umfangsübereinstimmung: Enthält der Plan alles, was du angefordert hast? Enthält er etwas, das du nicht angefordert hast?
  • Vage Sprache: Suche nach Phrasen wie "nach Bedarf hinzufügen" oder "angemessen aktualisieren". Das sind unausgesprochene Annahmen. Ersetze sie durch spezifische Anweisungen, bevor du genehmigst.
  • Benannte Dateien: Jeder Schritt sollte die Dateien identifizieren, die er berührt. Wenn ein Schritt sagt "aktualisiere die Buchungskomponente", ohne die Datei zu benennen, bitte Bob, spezifischer zu sein.

Iteriere über den Plan

Wenn der Plan nicht deiner Absicht entspricht, bitte Bob, ihn in derselben Plan-Modus-Konversation zu überarbeiten. Du musst nicht von vorne beginnen.

Zum Beispiel war der Plan, den Bob im vorherigen Schritt generiert hat, nicht spezifisch bezüglich der Farbe oder des Badges für jede Klasse.

   b. Apply a distinct colour or badge per class (e.g. grey for Economy, gold for Business, cosmic-gradient for Galaxium) consistent with the existing status colour pattern

Um dies zu beheben, führst du den folgenden Prompt aus, um die Farben für jede Klasse explizit festzulegen:

Bitte aktualisiere den Plan, um die folgenden Farben für jede Klasse anzugeben:
- Economy: green
- Business: gold
- Galaxium: cosmic-gradient

Du hast möglicherweise nicht dasselbe Problem in deinem Plan. Überprüfe den Plan und bitte Bob, vage Sprache zu klären oder fehlende Details hinzuzufügen, die dir auffallen.

Implementiere die neuen Features

Starte eine neue Konversation

Klicke auf das Plus-Zeichen oben in der Chat-Oberfläche, um eine neue Konversation zu starten und das Kontextfenster zu leeren.

Starte eine neue Konversation in der agentic chat sidebar

Das Starten einer neuen Konversation leert das Kontextfenster, was:

  • Verhindert, dass frühere Planungsdiskussionen dein Token-Budget verbrauchen.
  • Den Implementierungskontext auf den genehmigten Plan fokussiert hält.
  • Das Risiko reduziert, dass Bob Planungs- und Implementierungsanweisungen vermischt.

Wechsle in den Agent-Modus

Wähle Agent aus dem Modus-Selektor, um in den Agent-Modus zu wechseln.

Baue das Feature

Sende diesen Prompt, um die Features zu implementieren:

Baue die Features im plans-Ordner
@plans/

Die @plans/-Referenz bezieht sich auf alle Pläne im Ordner, sodass du die Dateien nicht einzeln benennen musst.

Der folgende Screenshot zeigt einen Beispiel-Plans-Ordner:

Plan-Dateien

Bob fordert dich auf, Approve todo tools for task und Approve edit tools for task zu genehmigen. Genehmige beide Anfragen.

Du hast Sitzklassen-Unterstützung über die Buchungs-UI, Back-End-API und Datenbank hinweg hinzugefügt, wobei Economy-, Business- und Galaxium-Klassenoptionen im gesamten System widergespiegelt werden.

Nächste Schritte

In diesem Tutorial hast du gelernt, wie du einen fokussierten Planungs-Prompt schreibst, einen generierten Plan auf Lücken und vage Sprache überprüfst, den Plan iterierst, bis er deiner Absicht entspricht, und die genehmigte Spezifikation mit einem sauberen Kontextfenster implementierst.

Fahre fort mit Standardisiere Bobs Verhalten, um zu lernen, wie du benutzerdefinierte Regeln erstellst, um Bobs Verhalten zu steuern.

Erfahre, wie Bobs Kontextfenster funktioniert in Erstelle ein neues Kontextfenster, um zu verstehen, warum das Starten einer neuen Konversation die Implementierungsqualität verbessert.

Erkunde Bob-Fähigkeiten hinzufügen, um zu erweitern, was Bob in deinem Projekt tun kann.

Wie ist dieses Thema?