Obtén 100% en el cuestionario para continuar
Básico de la ingeniería de IA
Entiende los LLMs, las tools, los prompts, las skills, los agentes, los modos de agente, las ventanas de contexto, el consumo de tokens y las alucinaciones.
Antes de dejar que la IA escriba una sola línea de código de Cypress, necesitamos entender los fundamentos de cómo funcionan estas herramientas. Conocer lo básico de la ingeniería de IA es lo que separa los resultados frustrantes e impredecibles de los resultados rápidos y de alta calidad.
Esta lección es gratuita, es la base sobre la que se apoya todo el resto del curso.
¿Qué es un LLM?
Un LLM (Large Language Model, o Gran Modelo de Lenguaje) es un modelo de IA entrenado con enormes cantidades de texto (y código) que predice la continuación más probable de la entrada que recibe. Herramientas como Claude, usado por Claude Code, funcionan con LLMs.
👨🏫 Un LLM no "conoce" tu proyecto. Solo conoce lo que pones delante de él: tu prompt, tus archivos y la conversación que tienes con él.
Prompts
Un prompt es la instrucción que le das al modelo. Cuanto más claro y específico sea tu prompt, mejor será el resultado.
Un buen prompt para pruebas normalmente incluye:
- Contexto - qué aplicación, qué comportamiento, qué archivo.
- Objetivo - qué quieres (por ejemplo, "escribe una prueba E2E para el flujo de inicio de sesión").
- Restricciones - estrategia de selectores, estilo, versión del framework.
👨🏫 Compara "escribe una prueba" con "escribe una prueba E2E con Cypress que visite la aplicación de ejemplo, complete el formulario, lo envíe y haga aserción del mensaje de éxito - usa selectores data-testid." El segundo prompt produce resultados mucho mejores que el primero.Herramientas (tools)
Los asistentes de IA modernos pueden usar tools (herramientas): acciones que el modelo puede ejecutar más allá de generar texto, como leer archivos, ejecutar comandos o buscar en la web. Eso es lo que convierte a un chatbot en un agente de programación.
Agentes y modos de agente
Un agente es un asistente de IA capaz de planificar y dar múltiples pasos - leer archivos, editar código, ejecutar pruebas - para realizar una tarea de forma autónoma.
La mayoría de las herramientas de programación con IA expone distintos modos de agente que restringen cómo se comporta el asistente:
- Ask - el asistente responde preguntas y explica, sin editar archivos.
- Plan - el asistente investiga y propone un plan paso a paso para tu aprobación antes de hacer cambios.
- Edit - el asistente hace cambios en el código directamente (muchas veces con tu aprobación por cada cambio).
👨🏫 Usa el modo plan para trabajos no triviales, para poder revisar el enfoque antes de que se escriba cualquier código, y el modo ask cuando solo quieras una explicación. Reserva el modo edit para cuando estés seguro del cambio.
Skills
Una skill es un conjunto reutilizable y empaquetado de instrucciones y conocimiento que especializa al asistente para una tarea. Las skills oficiales de Cypress (cypress-author, cypress-explain y cypress-docs) son exactamente eso: hacen que el asistente sea mucho mejor en el trabajo con Cypress. Vas a instalarlas y usarlas en las próximas lecciones.
👨🏫 Las skills también son eficientes en tokens. El asistente carga por adelantado solo un pequeño fragmento de metadatos (un nombre y una descripción) por cada skill instalada, y lee el archivo completo de la skill bajo demanda, solo cuando la tarea realmente lo requiere. Así, muchas skills pueden estar disponibles sin llenar la ventana de contexto.
Alucinaciones
Los LLMs pueden generar salidas que suenan seguras y plausibles pero que son factualmente incorrectas. Eso se llama alucinación: el modelo inventa selectores que no existen, referencia métodos de API que no son reales o describe comportamientos que la aplicación no tiene.
👨🏫 Esto no es un bug que puedas arreglar reformulando el prompt. Es una propiedad fundamental de cómo funcionan los LLMs. La única salvaguarda confiable es ejecutar siempre el código generado y revisarlo de forma crítica antes de hacer commit.
En el contexto de la automatización de pruebas, una prueba alucinada es aquella que pasa por la razón equivocada o falla porque apunta a elementos que no existen. Skills como cypress-author reducen las alucinaciones al fundamentar al asistente en conocimiento específico de Cypress, pero no las eliminan por completo: tu revisión es siempre la última línea de defensa.
Las alucinaciones también se vuelven más probables cuando la ventana de contexto (que se cubre justo abajo) se llena. A medida que una conversación se alarga y la información más antigua se resume o se descarta, el modelo pierde el hilo de los detalles y empieza a llenar los huecos con invenciones que suenan plausibles. Mantener las conversaciones enfocadas y empezar de cero para tareas no relacionadas ayuda a reducir ese riesgo.
Ventana de contexto (context window)
La ventana de contexto es la cantidad máxima de información - medida en tokens - que el modelo puede considerar a la vez. Incluye tu prompt, los archivos que compartes y el historial de la conversación.
👨🏫 Cuando la ventana de contexto se llena, la información más antigua puede resumirse o descartarse. Mantén las conversaciones enfocadas y empieza de cero para tareas no relacionadas.
Consumo de tokens
Los tokens son los pedazos de texto que el modelo lee y genera (aproximadamente fragmentos de palabras). Tanto tu entrada como la salida del modelo consumen tokens, lo que determina el costo y cuenta contra la ventana de contexto.
👨🏫 Compartir un repositorio entero cuando solo necesitas un archivo desperdicia tokens y diluye el foco del modelo. Sé deliberado con lo que incluyes.
Esta es también la razón por la que las skills están diseñadas para ser eficientes en tokens. En lugar de cargar las instrucciones completas de cada skill en el contexto, el asistente mantiene en contexto solo un pequeño fragmento de metadatos (el nombre y la descripción de la skill) por cada skill instalada. Lee el archivo completo de la skill solo bajo demanda, cuando la tarea en cuestión realmente lo exige. Eso mantiene la ventana de contexto libre para el trabajo que importa, incluso cuando hay muchas skills instaladas.
Contenido sugerido 📚 y enlaces a la documentación 🔗
- Introducing Claude Code
- Prompt engineering overview - documentación de Anthropic
- Cypress AI toolkit
- 75% Less Cypress Bloat in Your Agent's Context Window
Ejercicio 🎯
Elige cualquier herramienta de programación con IA a la que tengas acceso (Claude Code, Cursor o GitHub Copilot) y practica la diferencia que hace un buen prompt.
- Pídele algo vago: "escribe una prueba de Cypress".
- Después pídele algo específico: "escribe una prueba E2E con Cypress que visite
https://tat-csc.s3.sa-east-1.amazonaws.com/index.htmly haga aserción de que la página cargó correctamente - usa selectores resilientes y el patrón AAA". - Compara las dos salidas y observa la diferencia.
👨🏫 Prueba también a alternar entre los modos ask, plan y edit para la misma solicitud y observa cómo cambia el comportamiento del asistente.
El prompt específico debería producir una prueba ejecutable con una estructuradescribe/itclara y una aserción significativa, mientras que el vago probablemente va a adivinar cómo funciona la aplicación.
Muéstrale al mundo lo que aprendiste 🌎
Para mostrarle a tu red profesional lo que aprendiste en esta lección, publica lo siguiente en LinkedIn.
Empecé el curso "Testing con Cypress en la Era de la IA" con @Walmyr Lima e Silva Filho en la @Talking About Testing School, donde aprendí lo básico de la ingeniería de IA para la automatización de pruebas: LLMs, prompts, tools, agentes, modos de agente, skills, ventanas de contexto, consumo de tokens y alucinaciones. #TalkingAboutTesting #TATSchool #CypressTestingInTheAIEra #Cypress #AI
👨🏫 No olvides mencionarme en tu publicación. Aquí está mi perfil de LinkedIn.
Cuestionario
¿Qué significa LLM?
Obtén 100% en el cuestionario para continuar