Tutoriais

Planeja e implementa funcionalidades complexas

Usa o modo Plan do IBM Bob para definir o escopo, revisar e implementar funcionalidades complexas com um agente de codificação de IA. Aprende a escrever um prompt de planejamento, refinar o plano gerado e executar a implementação no modo Agent.

Neste tutorial, usas o modo Plan do Bob para criar um plano de implementação estruturado para adicionar classes de assentos à aplicação de demonstração Galaxium Travels. Depois aprovas o plano e deixas o Bob implementar a funcionalidade nas camadas de front-end, back-end e base de dados.

Este tutorial ensina-te como escrever um prompt de planejamento eficaz, o que procurar ao revisar um plano gerado e como iterar sobre o plano antes do Bob escrever código.

Pré-requisitos

Por que usar o modo Plan

O Bob é um agente autónomo. Quando usas um prompt vago, o Bob preenche quaisquer lacunas com as suas próprias suposições. Essas suposições podem não corresponder à tua intenção, mesmo que sejam tecnicamente precisas.

Quando crias um plano, o Bob gera um conjunto de ficheiros Markdown que descrevem o escopo, decisões de arquitetura e passos de implementação ordenados. Como o plano está separado da implementação, podes lê-lo, questioná-lo e refiná-lo antes do Bob escrever código.

Configura o teu ambiente

Clona o código de demonstração Galaxium Travels. O comando clone também faz checkout do bob-learning-path-branch que contém o código que usas nos tutoriais.

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

No Bob, clica em File e depois em Open Folder.

Navega até ao diretório galaxium-travels que clonaste e abre-o.

Inicializa o Bob no teu projeto

Executa /init no painel de chat do Bob para que o Bob crie um ficheiro AGENTS.md raiz e ficheiros de regras AGENTS.md.

O ficheiro AGENTS.md raiz informa o Bob sobre a estrutura geral do projeto, convenções e objetivos para que o Bob possa escrever código que se ajuste ao teu projeto. Sem ele, o Bob começa do início cada vez porque o Bob não tem estado.

Os ficheiros de regras em .bob são onde o Bob cria AGENTS.md para cada um dos seus modos: Agent, Plan e Ask. Cada modo tem um conjunto diferente de regras que orientam o comportamento do Bob nesse modo.

/init

O Bob pede permissão para criar os ficheiros AGENTS.md. Clica em Approve todo tools for task para criar os ficheiros.

Como escrever um prompt de Plan

O prompt que escreves no modo Plan torna-se a especificação a partir da qual o Bob trabalha. Um prompt vago produz um plano vago. Antes de digitares, responde a estas quatro perguntas:

  • O que a funcionalidade faz e o que não faz? Um escopo explícito impede o Bob de adicionar trabalho que não pediste.
  • Quais camadas a funcionalidade toca? Por exemplo, a UI, API e base de dados.
  • Que restrições se aplicam? Limites de contagem de ficheiros, convenções de nomenclatura, requisitos de compatibilidade retroativa e qualquer outra coisa que o Bob deva tratar como não negociável.
  • Como é "concluído"? Um critério de aceitação concreto. Por exemplo, "um utilizador pode selecionar a classe Economy, Business ou Galaxium durante a reserva" dá ao Bob um objetivo claro.

Gera um plano

Usa o modo Plan para criar um plano que o Bob segue ao implementar a funcionalidade de classes de assentos.

Abre a barra lateral de chat agêntico

Se a interface de chat estiver fechada, abre-a clicando no ícone do Bob ao lado da barra de navegação ou usa o atalho Option + Command + B (Mac) ou Ctrl + Alt + B (Windows).

Painel de chat do Bob aberto no IBM Bob IDE

Muda para o modo Plan

Seleciona Plan no seletor de modo na interface de chat.

Usar modo Plan

Cria o plano

Executa o seguinte prompt no campo de entrada. O prompt aplica os princípios de definição de escopo da secção Como escrever um prompt de Plan: nomeia as camadas a alterar, define um limite de contagem de ficheiros, exclui o painel de administração e estabelece um critério de aceitação.

O Bob pede permissão para usar ferramentas de skill e subagentes para poder executar o skill Create plan. Clica em Approve skill tools for task e Approve subagent tools for task para aprovar o pedido.

Quero adicionar classes de assentos ao Galaxium Travels. Os passageiros devem poder escolher a classe Economy, Business ou Galaxium ao reservar um voo.

Escopo:
- Atualizar a UI de reserva para mostrar um seletor de classe de assento
- Atualizar a API de reserva do back-end para aceitar e armazenar a classe selecionada
- Atualizar o esquema da base de dados para adicionar uma coluna seat_class à tabela bookings
- Não adicionar alterações ao painel de administração — isso está fora do escopo

Restrições:
- Criar uma pasta chamada `plans` na pasta galaxium-travels
- Não criar mais de três ficheiros de plano
- Manter a alteração da base de dados compatível retroativamente

Concluído quando: Um utilizador pode selecionar uma classe de assento durante a reserva e a classe selecionada é guardada e exibida na sua confirmação de reserva.

A seguinte captura de ecrã mostra o Bob a fazer perguntas de esclarecimento para entender a tua intenção. As tuas perguntas podem diferir com base em como escreveste o prompt. Responde às perguntas ou diz ao Bob para selecionar as melhores opções.

Bob faz perguntas de esclarecimento no modo Plan

Quando o Bob termina, solicita aprovação para escrever os ficheiros do plano. Clica em Approve edit tools for task.

O Bob coloca os ficheiros do plano na pasta plans como ficheiros Markdown. Os nomes dos teus ficheiros de plano podem variar.

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

Revê o plano

Os ficheiros do plano são a especificação a partir da qual o Bob constrói. Revê o plano, localizado na pasta plans, para entender as alterações propostas.

Quando revês planos, procura o seguinte:

  • Correspondência de escopo: O plano inclui tudo o que pediste? Inclui algo que não pediste?
  • Linguagem vaga: Procura frases como "adicionar conforme necessário" ou "atualizar adequadamente". Estas são suposições não declaradas. Substitui-as por instruções específicas antes de aprovar.
  • Ficheiros nomeados: Cada passo deve identificar os ficheiros que toca. Se um passo diz "atualizar o componente de reserva" sem nomear o ficheiro, pede ao Bob para ser mais específico.

Itera sobre o plano

Se o plano não corresponder à tua intenção, pede ao Bob para revê-lo na mesma conversa do modo Plan. Não precisas de recomeçar.

Por exemplo, o plano que o Bob gerou no passo anterior não foi específico sobre a cor ou distintivo para cada classe.

   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

Para corrigir isto, executas o seguinte prompt para definir explicitamente as cores para cada classe:

Por favor atualiza o plano para especificar as seguintes cores para cada classe:
- Economy: green
- Business: gold
- Galaxium: cosmic-gradient

Podes não ter o mesmo problema no teu plano. Revê o plano e pede ao Bob para esclarecer qualquer linguagem vaga ou adicionar detalhes em falta que notes.

Implementa as novas funcionalidades

Inicia uma nova conversa

Clica no sinal de mais no topo da interface de chat para iniciar uma nova conversa e limpar a janela de contexto.

Iniciar uma nova conversa na barra lateral de chat agêntico

Iniciar uma nova conversa limpa a janela de contexto, o que:

  • Impede que a discussão de planejamento anterior consuma o teu orçamento de tokens.
  • Mantém o contexto de implementação focado no plano aprovado.
  • Reduz o risco de o Bob confundir instruções de planejamento e implementação.

Muda para o modo Agent

Seleciona Agent no seletor de modo para mudar para o modo Agent.

Constrói a funcionalidade

Envia este prompt para implementar as funcionalidades:

Constrói as funcionalidades na pasta plans
@plans/

A referência @plans/ refere-se a todos os planos na pasta, pelo que não precisas de nomear os ficheiros individualmente.

A seguinte captura de ecrã mostra uma pasta plans de exemplo:

Ficheiros de plano

O Bob solicita Approve todo tools for task e Approve edit tools for task. Aprova ambos os pedidos.

Adicionaste suporte de classe de assento na UI de reserva, API de back-end e base de dados, com opções de classe Economy, Business e Galaxium refletidas em todo o sistema.

Próximos passos

Neste tutorial, aprendeste como escrever um prompt de planejamento com escopo definido, revisar um plano gerado para lacunas e linguagem vaga, iterar sobre o plano até corresponder à tua intenção e implementar a especificação aprovada com uma janela de contexto limpa.

Avança para Padronizar o comportamento do Bob para aprender sobre a criação de regras personalizadas para controlar o comportamento do Bob.

Aprende como funciona a janela de contexto do Bob em Criar uma nova janela de contexto para entender por que iniciar uma nova conversa melhora a qualidade da implementação.

Explora Adicionar capacidades ao Bob para estender o que o Bob pode fazer no teu projeto.

Como está este tópico?