Samouczki

Planuj i implementuj złożone funkcje

Użyj trybu Plan IBM Bob, aby określić zakres, przejrzeć i zaimplementować złożone funkcje z agentem kodującym AI. Dowiedz się, jak napisać prompt planowania, udoskonalić wygenerowany plan i uruchomić implementację w trybie Agent.

W tym samouczku używasz trybu Plan Boba, aby utworzyć ustrukturyzowany plan implementacji dodawania klas miejsc do aplikacji demonstracyjnej Galaxium Travels. Następnie zatwierdzasz plan i pozwalasz Bobowi zaimplementować funkcję w warstwach front-end, back-end i bazy danych.

Ten samouczek uczy, jak napisać skuteczny prompt planowania, na co zwracać uwagę podczas przeglądania wygenerowanego planu i jak iterować nad planem, zanim Bob napisze jakikolwiek kod.

Wymagania wstępne

Dlaczego używać trybu Plan

Bob jest autonomicznym agentem. Gdy używasz niejasnego promptu, Bob wypełnia wszelkie luki własnymi założeniami. Te założenia mogą nie odpowiadać twojej intencji, nawet jeśli są technicznie poprawne.

Gdy tworzysz plan, Bob generuje zestaw plików Markdown, które opisują zakres, decyzje architektoniczne i uporządkowane kroki implementacji. Ponieważ plan jest oddzielony od implementacji, możesz go przeczytać, zakwestionować i udoskonalić, zanim Bob napisze jakikolwiek kod.

Skonfiguruj swoje środowisko

Sklonuj kod demonstracyjny Galaxium Travels. Polecenie clone sprawdza również bob-learning-path-branch, który zawiera kod używany w samouczkach.

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

W Bobie kliknij File, a następnie Open Folder.

Przejdź do sklonowanego katalogu galaxium-travels i otwórz go.

Zainicjuj Boba w swoim projekcie

Uruchom /init w panelu czatu Boba, aby Bob utworzył główny plik AGENTS.md i pliki reguł AGENTS.md.

Główny plik AGENTS.md informuje Boba o ogólnej strukturze projektu, konwencjach i celach, dzięki czemu Bob może pisać kod pasujący do twojego projektu. Bez niego Bob zaczyna od początku za każdym razem, ponieważ Bob jest bezstanowy.

Pliki reguł w .bob to miejsce, w którym Bob tworzy AGENTS.md dla każdego ze swoich trybów: Agent, Plan i Ask. Każdy tryb ma inny zestaw reguł, które kierują zachowaniem Boba w tym trybie.

/init

Bob prosi o pozwolenie na utworzenie plików AGENTS.md. Kliknij Approve todo tools for task, aby utworzyć pliki.

Jak napisać prompt Plan

Prompt, który piszesz w trybie Plan, staje się specyfikacją, z której Bob pracuje. Niejasny prompt tworzy niejasny plan. Zanim zaczniesz pisać, odpowiedz na te cztery pytania:

  • Co robi funkcja i czego nie robi? Wyraźny zakres zapobiega dodawaniu przez Boba pracy, o którą nie prosiłeś.
  • Których warstw dotyka funkcja? Na przykład UI, API i bazy danych.
  • Jakie ograniczenia obowiązują? Limity liczby plików, konwencje nazewnictwa, wymagania kompatybilności wstecznej i wszystko inne, co Bob powinien traktować jako niepodlegające negocjacjom.
  • Jak wygląda "ukończone"? Konkretne kryterium akceptacji. Na przykład "użytkownik może wybrać klasę Economy, Business lub Galaxium podczas rezerwacji" daje Bobowi jasny cel.

Wygeneruj plan

Użyj trybu Plan, aby utworzyć plan, którego Bob przestrzega podczas implementacji funkcji klas miejsc.

Otwórz pasek boczny czatu agentowego

Jeśli interfejs czatu jest zamknięty, otwórz go, klikając ikonę Boba obok paska nawigacji lub użyj skrótu Option + Command + B (Mac) lub Ctrl + Alt + B (Windows).

Panel czatu Boba otwarty w IBM Bob IDE

Przełącz się na tryb Plan

Wybierz Plan z selektora trybu w interfejsie czatu.

Użyj trybu Plan

Utwórz plan

Uruchom następujący prompt w polu wprowadzania. Prompt stosuje zasady określania zakresu z sekcji Jak napisać prompt Plan: nazywa warstwy do zmiany, ustawia limit liczby plików, wyklucza panel administracyjny i określa kryterium akceptacji.

Bob prosi o pozwolenie na użycie narzędzi skill i subagentów, aby mógł uruchomić skill Create plan. Kliknij Approve skill tools for task i Approve subagent tools for task, aby zatwierdzić żądanie.

Chcę dodać klasy miejsc do Galaxium Travels. Pasażerowie powinni móc wybrać klasę Economy, Business lub Galaxium podczas rezerwacji lotu.

Zakres:
- Zaktualizuj interfejs rezerwacji, aby pokazać selektor klasy miejsca
- Zaktualizuj API rezerwacji back-end, aby akceptować i przechowywać wybraną klasę
- Zaktualizuj schemat bazy danych, aby dodać kolumnę seat_class do tabeli bookings
- Nie dodawaj zmian w panelu administracyjnym — to jest poza zakresem

Ograniczenia:
- Utwórz folder o nazwie `plans` w folderze galaxium-travels
- Nie twórz więcej niż trzech plików planu
- Zachowaj zmianę bazy danych kompatybilną wstecz

Ukończone, gdy: Użytkownik może wybrać klasę miejsca podczas rezerwacji, a wybrana klasa jest zapisywana i wyświetlana w potwierdzeniu rezerwacji.

Poniższy zrzut ekranu pokazuje, jak Bob zadaje pytania wyjaśniające, aby zrozumieć twoją intencję. Twoje pytania mogą się różnić w zależności od tego, jak napisałeś prompt. Odpowiedz na pytania lub powiedz Bobowi, aby wybrał najlepsze opcje.

Bob zadaje pytania wyjaśniające w trybie Plan

Gdy Bob zakończy, prosi o zatwierdzenie zapisu plików planu. Kliknij Approve edit tools for task.

Bob umieszcza pliki planu w folderze plans jako pliki Markdown. Nazwy twoich plików planu mogą się różnić.

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

Przejrzyj plan

Pliki planu są specyfikacją, z której Bob buduje. Przejrzyj plan znajdujący się w folderze plans, aby zrozumieć proponowane zmiany.

Podczas przeglądania planów szukaj następujących rzeczy:

  • Dopasowanie zakresu: Czy plan zawiera wszystko, o co prosiłeś? Czy zawiera coś, o co nie prosiłeś?
  • Niejasny język: Szukaj fraz takich jak "dodaj w razie potrzeby" lub "zaktualizuj odpowiednio". To są niewypowiedziane założenia. Zastąp je konkretnymi instrukcjami przed zatwierdzeniem.
  • Nazwane pliki: Każdy krok powinien identyfikować pliki, których dotyczy. Jeśli krok mówi "zaktualizuj komponent rezerwacji" bez podania nazwy pliku, poproś Boba o większą konkretność.

Iteruj nad planem

Jeśli plan nie odpowiada twojej intencji, poproś Boba o jego poprawienie w tej samej konwersacji w trybie Plan. Nie musisz zaczynać od nowa.

Na przykład plan, który Bob wygenerował w poprzednim kroku, nie był konkretny co do koloru lub odznaki dla każdej klasy.

   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

Aby to naprawić, uruchom następujący prompt, aby jawnie ustawić kolory dla każdej klasy:

Proszę zaktualizuj plan, aby określić następujące kolory dla każdej klasy:
- Economy: green
- Business: gold
- Galaxium: cosmic-gradient

Możesz nie mieć tego samego problemu w swoim planie. Przejrzyj plan i poproś Boba o wyjaśnienie niejasnego języka lub dodanie brakujących szczegółów, które zauważysz.

Zaimplementuj nowe funkcje

Rozpocznij nową konwersację

Kliknij znak plus u góry interfejsu czatu, aby rozpocząć nową konwersację i wyczyścić okno kontekstu.

Rozpocznij nową konwersację w pasku bocznym czatu agentowego

Rozpoczęcie nowej konwersacji czyści okno kontekstu, co:

  • Zapobiega zużywaniu budżetu tokenów przez wcześniejszą dyskusję planowania.
  • Utrzymuje kontekst implementacji skoncentrowany na zatwierdzonym planie.
  • Zmniejsza ryzyko, że Bob pomyli instrukcje planowania i implementacji.

Przełącz się na tryb Agent

Wybierz Agent z selektora trybu, aby przełączyć się na tryb Agent.

Zbuduj funkcję

Prześlij ten prompt, aby zaimplementować funkcje:

Zbuduj funkcje w folderze plans
@plans/

Odniesienie @plans/ odnosi się do wszystkich planów w folderze, więc nie musisz wymieniać plików pojedynczo.

Poniższy zrzut ekranu pokazuje przykładowy folder plans:

Pliki planu

Bob prosi o Approve todo tools for task i Approve edit tools for task. Zatwierdź oba żądania.

Dodałeś obsługę klas miejsc w interfejsie rezerwacji, API back-end i bazie danych, z opcjami klasy Economy, Business i Galaxium odzwierciedlonymi w całym systemie.

Kolejne kroki

W tym samouczku nauczyłeś się, jak napisać prompt planowania z określonym zakresem, przejrzeć wygenerowany plan pod kątem luk i niejasnego języka, iterować nad planem, aż będzie odpowiadał twojej intencji, i zaimplementować zatwierdzoną specyfikację z czystym oknem kontekstu.

Przejdź do Standaryzuj zachowanie Boba, aby dowiedzieć się o tworzeniu niestandardowych reguł kontrolujących zachowanie Boba.

Dowiedz się, jak działa okno kontekstu Boba w Utwórz nowe okno kontekstu, aby zrozumieć, dlaczego rozpoczęcie nowej konwersacji poprawia jakość implementacji.

Poznaj Dodaj możliwości Boba, aby rozszerzyć to, co Bob może zrobić w twoim projekcie.

Jak oceniasz ten temat?