Skip to main content

Command Palette

Search for a command to run...

Agentes de código

Integrándolo todo

Felicidades, has aprendido a trabajar con agentes de programación.

Ahora sabes cómo usar agentes para comprender bases de código, crear funcionalidades rápidamente, buscar en tu código y encontrar errores, revisar código de forma más eficiente y personalizar los agentes según tus necesidades. Este capítulo muestra un ejemplo de cómo reunir todos estos elementos.

Un ejemplo de principio a fin

Te has unido a un equipo que gestiona una plataforma de comercio electrónico. Debes añadir códigos de descuento al flujo de pago. No conoces la base de código y la funcionalidad debe estar lista para el final de la semana.

Esta es una situación realista. Debes explorar antes de crear, planificar antes de programar, probar antes de lanzar y revisar antes de fusionar.

Paso 1: Comprende la base de código

Antes de tocar nada, explora el flujo de pago. Usa el agente para hacerte una idea general.

Ask mode example: Explora el flujo de pago
Necesito añadir códigos de descuento a nuestro flujo de pago. Antes de hacer cambios, explícame cómo funciona el proceso de pago. ¿Qué componentes, rutas de la API y servicios intervienen? Muéstrame el flujo de datos desde el carrito hasta la confirmación del pago.

Haz preguntas de seguimiento para rellenar los huecos:

Ask mode example: Encuentra dónde encajan los descuentos
¿Cómo funciona nuestro cálculo de precios en TypeScriptsrc/services/PricingService.ts? ¿Dónde calculamos el total del pedido y dónde se aplicaría un descuento en ese flujo?

Esto combina las técnicas de búsqueda de comprender tu base de código para rastrear el flujo de pago y luego resume lo que encuentra.

Paso 2: Planifica la funcionalidad

Ahora que conoces la base de código, crea un plan. Cambia al modo Plan (Shift+Tab) y define el trabajo:

Plansdiscount-codes.md

Códigos de descuento

Descripción general

Añade compatibilidad con códigos de descuento al proceso de pago. Los usuarios introducen un código, el sistema lo valida y el descuento se aplica al total del pedido antes de impuestos.

Enfoque

Añade DiscountService con lógica de validación (caducidad, límites de consumo)
Modifica PricingService.calculateTotal() para que acepte un descuento opcional
Añade un campo para introducir el código de descuento al componente OrderSummary
Añade el endpoint /api/discount/validate

Tareas

Crea la migración de la tabla discount_codes
Crea DiscountService con applyDiscount()
Añade el cálculo del descuento a PricingService.calculateTotal()
Añade la interfaz para introducir el código al componente OrderSummary
Añade la ruta /api/discount/validate
Escribe pruebas para todos los tipos de descuento y casos límite

Revisa el plan. Elimina los pasos demasiado ambiciosos para la primera iteración. Céntrate en el flujo principal: aplicar un código, calcular el descuento y mostrarlo en el resumen. Luego haz clic en Crear para crear la primera versión de esta funcionalidad.

Paso 3: Depura un caso límite que está fallando

Después de crear la compilación, una prueba sigue fallando: apilar un descuento porcentual con un descuento de importe fijo produce un total incorrecto. El mismo conjunto de descuentos da resultados diferentes según el orden en que se aplican.

Usa el Modo de depuración o pídele al agente que investigue la causa raíz:

Agent example: Depura la causa raíz
La prueba de apilamiento de descuentos está fallando. Los mismos descuentos producen totales diferentes según el orden de aplicación. Averigua por qué y corrige el orden de aplicación de descuentos en TypeScriptsrc/services/DiscountService.ts. Muéstrame los valores antes y después en cada paso.

Esto aplica los principios de depuración del capítulo Finding and Fixing Bugs: no soluciones los síntomas; encuentra la causa.

Paso 4: Revisar y probar

Antes de hacer push, realiza una autorrevisión:

Ask mode example: Autorrevisión antes de hacer push
Revisa todos los cambios que hice para la función de códigos de descuento. Comprueba si hay errores, falta manejo de errores, casos límite y coherencia con los patrones existentes. ¿Qué marcaría un revisor de código?

Si tienes agentes en la nube configurados, inicia algunos para probar casos límite que podrías haber pasado por alto: caracteres Unicode en códigos de descuento, valores de descuento elevados o uso simultáneo de códigos. Los agentes en la nube informan de los casos que cubrieron y las áreas que requieren más pruebas, para que puedas rellenar los huecos antes de fusionar.

Paso 5: Escribe una regla

Aprendiste algo durante esta funcionalidad: los cálculos de descuentos siempre deben aplicar primero los descuentos porcentuales y luego los descuentos de importe fijo para que los resultados sean coherentes, independientemente del orden de entrada. Recoge esto en una regla para que el agente lo tenga en cuenta la próxima vez:

# Reglas de precios- Apply percentage discounts before fixed-amount discounts- Order total must never go below $0- See src/services/PricingService.ts for the canonical calculation pattern

Esto completa el ciclo. Exploraste, planificaste, desarrollaste, probaste, depuraste, revisaste y documentaste conocimientos para el futuro.

Has terminado la funcionalidad de códigos de descuento. Un compañero de equipo te pide que añadas tarjetas de regalo la próxima semana. ¿Cuál es tu primer paso?

Sigue creando

La mejor forma de aprender es aplicar lo que has aprendido aquí.

Las herramientas y los modelos mejoran rápidamente, y las prácticas concretas evolucionarán con el tiempo. Pero esta habilidad fundamental —aprender a colaborar con agentes de programación— seguirá creciendo. Se está convirtiendo en una de las habilidades más importantes de la ingeniería de software.

Al llevar al límite lo que los agentes de programación pueden hacer, aprovecharás al máximo las herramientas y los modelos más recientes a medida que se lancen. ¡Buena suerte y no dejes de ser curioso!