Tutoriales

Planifica e implementa funciones complejas

Usa el modo Plan de IBM Bob para definir el alcance, revisar e implementar funciones complejas con un agente de codificación de IA. Aprende a escribir un prompt de planificación, refinar el plan generado y ejecutar la implementación en modo Agent.

En este tutorial, usas el modo Plan de Bob para crear un plan de implementación estructurado para agregar clases de asientos a la aplicación de demostración Galaxium Travels. Luego apruebas el plan y dejas que Bob implemente la función en las capas de front-end, back-end y base de datos.

Este tutorial te enseña cómo escribir un prompt de planificación efectivo, qué buscar al revisar un plan generado y cómo iterar sobre el plan antes de que Bob escriba código.

Requisitos previos

Por qué usar el modo Plan

Bob es un agente autónomo. Cuando usas un prompt vago, Bob llena cualquier vacío con sus propias suposiciones. Esas suposiciones pueden no coincidir con tu intención, incluso si son técnicamente precisas.

Cuando creas un plan, Bob genera un conjunto de archivos Markdown que describen el alcance, las decisiones de arquitectura y los pasos de implementación ordenados. Debido a que el plan está separado de la implementación, puedes leerlo, cuestionarlo y refinarlo antes de que Bob escriba código.

Configura tu entorno

Clona el código de demostración de Galaxium Travels. El comando de clonación también hace checkout del bob-learning-path-branch que contiene el código que usas en los tutoriales.

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

En Bob, haz clic en File y luego en Open Folder.

Navega al directorio galaxium-travels que clonaste y ábrelo.

Inicializa Bob en tu proyecto

Ejecuta /init en el panel de chat de Bob para que Bob cree un archivo AGENTS.md raíz y archivos de reglas AGENTS.md.

El archivo AGENTS.md raíz le dice a Bob la estructura general del proyecto, las convenciones y los objetivos para que Bob pueda escribir código que se ajuste a tu proyecto. Sin él, Bob comienza desde el principio cada vez porque Bob no tiene estado.

Los archivos de reglas en .bob son donde Bob crea AGENTS.md para cada uno de sus modos: Agent, Plan y Ask. Cada modo tiene un conjunto diferente de reglas que guían el comportamiento de Bob en ese modo.

/init

Bob solicita permiso para crear los archivos AGENTS.md. Haz clic en Approve todo tools for task para crear los archivos.

Cómo escribir un prompt de Plan

El prompt que escribes en modo Plan se convierte en la especificación desde la que Bob trabaja. Un prompt vago produce un plan vago. Antes de escribir, responde estas cuatro preguntas:

  • ¿Qué hace la función y qué no hace? Un alcance explícito evita que Bob agregue trabajo que no solicitaste.
  • ¿Qué capas toca la función? Por ejemplo, la UI, API y base de datos.
  • ¿Qué restricciones aplican? Límites de cantidad de archivos, convenciones de nomenclatura, requisitos de compatibilidad hacia atrás y cualquier otra cosa que Bob deba tratar como no negociable.
  • ¿Cómo se ve "terminado"? Un criterio de aceptación concreto. Por ejemplo, "un usuario puede seleccionar clase Economy, Business o Galaxium durante la reserva" le da a Bob un objetivo claro.

Genera un plan

Usa el modo Plan para crear un plan que Bob siga al implementar la función de clases de asientos.

Abre la barra lateral de chat agéntico

Si la interfaz de chat está cerrada, ábrela haciendo clic en el ícono de Bob junto a la barra de navegación o usa el atajo Option + Command + B (Mac) o Ctrl + Alt + B (Windows).

Panel de chat de Bob abierto en IBM Bob IDE

Cambia al modo Plan

Selecciona Plan del selector de modo en la interfaz de chat.

Usar modo Plan

Crea el plan

Ejecuta el siguiente prompt en el campo de entrada. El prompt aplica los principios de alcance de la sección Cómo escribir un prompt de Plan: nombra las capas a cambiar, establece un límite de cantidad de archivos, excluye el panel de administración y establece un criterio de aceptación.

Bob solicita permiso para usar herramientas de skill y subagentes para poder ejecutar el skill Create plan. Haz clic en Approve skill tools for task y Approve subagent tools for task para aprobar la solicitud.

Quiero agregar clases de asientos a Galaxium Travels. Los pasajeros deberían poder elegir clase Economy, Business o Galaxium al reservar un vuelo.

Alcance:
- Actualizar la UI de reserva para mostrar un selector de clase de asiento
- Actualizar la API de reserva del back-end para aceptar y almacenar la clase seleccionada
- Actualizar el esquema de la base de datos para agregar una columna seat_class a la tabla bookings
- No agregar cambios en el panel de administración — eso está fuera del alcance

Restricciones:
- Crear una carpeta llamada `plans` en la carpeta galaxium-travels
- No crear más de tres archivos de plan
- Mantener el cambio de base de datos compatible hacia atrás

Terminado cuando: Un usuario puede seleccionar una clase de asiento durante la reserva y la clase seleccionada se guarda y se muestra en su confirmación de reserva.

La siguiente captura de pantalla muestra a Bob haciendo preguntas aclaratorias para entender tu intención. Tus preguntas pueden diferir según cómo escribiste el prompt. Responde las preguntas o dile a Bob que seleccione las mejores opciones.

Bob hace preguntas aclaratorias en modo Plan

Cuando Bob termina, solicita aprobación para escribir los archivos del plan. Haz clic en Approve edit tools for task.

Bob coloca los archivos del plan en la carpeta plans como archivos Markdown. Los nombres de tus archivos de plan pueden variar.

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

Revisa el plan

Los archivos del plan son la especificación desde la que Bob construye. Revisa el plan, ubicado en la carpeta plans, para entender los cambios propuestos.

Cuando revises planes, busca lo siguiente:

  • Coincidencia de alcance: ¿El plan incluye todo lo que solicitaste? ¿Incluye algo que no solicitaste?
  • Lenguaje vago: Busca frases como "agregar según sea necesario" o "actualizar apropiadamente". Estas son suposiciones no declaradas. Reemplázalas con instrucciones específicas antes de aprobar.
  • Archivos nombrados: Cada paso debe identificar los archivos que toca. Si un paso dice "actualizar el componente de reserva" sin nombrar el archivo, pídele a Bob que sea más específico.

Itera sobre el plan

Si el plan no coincide con tu intención, pídele a Bob que lo revise en la misma conversación del modo Plan. No necesitas empezar de nuevo.

Por ejemplo, el plan que Bob generó en el paso anterior no fue específico sobre el color o insignia para cada clase.

   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 solucionar esto, ejecutas el siguiente prompt para establecer explícitamente los colores para cada clase:

Por favor actualiza el plan para especificar los siguientes colores para cada clase:
- Economy: green
- Business: gold
- Galaxium: cosmic-gradient

Puede que no tengas el mismo problema en tu plan. Revisa el plan y pídele a Bob que aclare cualquier lenguaje vago o agregue detalles faltantes que notes.

Implementa las nuevas funciones

Inicia una nueva conversación

Haz clic en el signo más en la parte superior de la interfaz de chat para iniciar una nueva conversación y limpiar la ventana de contexto.

Iniciar una nueva conversación en la barra lateral de chat agéntico

Iniciar una nueva conversación limpia la ventana de contexto, lo que:

  • Evita que la discusión de planificación anterior consuma tu presupuesto de tokens.
  • Mantiene el contexto de implementación enfocado en el plan aprobado.
  • Reduce el riesgo de que Bob confunda las instrucciones de planificación e implementación.

Cambia al modo Agent

Selecciona Agent del selector de modo para cambiar al modo Agent.

Construye la función

Envía este prompt para implementar las funciones:

Construye las funciones en la carpeta plans
@plans/

La referencia @plans/ hace referencia a todos los planes en la carpeta, por lo que no necesitas nombrar los archivos individualmente.

La siguiente captura de pantalla muestra una carpeta de planes de ejemplo:

Archivos de plan

Bob te solicita Approve todo tools for task y Approve edit tools for task. Aprueba ambas solicitudes.

Has agregado soporte de clase de asiento en la UI de reserva, API de back-end y base de datos, con opciones de clase Economy, Business y Galaxium reflejadas en todo el sistema.

Próximos pasos

En este tutorial, aprendiste cómo escribir un prompt de planificación con alcance definido, revisar un plan generado en busca de vacíos y lenguaje vago, iterar sobre el plan hasta que coincida con tu intención e implementar la especificación aprobada con una ventana de contexto limpia.

Avanza a Estandariza el comportamiento de Bob para aprender sobre la creación de reglas personalizadas para controlar el comportamiento de Bob.

Aprende cómo funciona la ventana de contexto de Bob en Crea una nueva ventana de contexto para entender por qué iniciar una conversación nueva mejora la calidad de implementación.

Explora Agrega capacidades a Bob para extender lo que Bob puede hacer en tu proyecto.

¿Cómo es este tema?