Un error en la caja de la cafetería
La cafetería del instituto tiene un programa pequeño que suma una cesta. Alguien compra patatas fritas, un zumo y una manzana, y la caja dice 35p. Está mal. Podrías leer el código y encontrar el error tú mismo. Hoy le pides ayuda a un agente de programación con IA y compruebas su trabajo.
Al final de esta lección
Nota
Puedo usar un agente de programación para arreglar un error y comprobar yo mismo el arreglo.
Palabras clave
- Agente de programación: un programa que lee y cambia código por ti.
- Modelo: la IA que escribe las respuestas del agente.
- Prompt (instrucción): lo que le pides al agente que haga.
- Prueba (test): un programa pequeño que comprueba que tu código da la respuesta correcta.
- Permiso: el agente te pregunta antes de cambiar algo.
Antes de empezar
Nota
Pulsa Iniciar el laboratorio en la barra superior de esta lección y espera a que diga que está en marcha. El laboratorio es un servicio llamado agent, y el terminal llega a él con ese nombre. Cada botón Ejecutar escribe su comando en el terminal de tu laboratorio, uno detrás de otro y en la misma sesión. Para verlos o para escribir los tuyos, pulsa Abrir el terminal (pestaña nueva) en la barra.
1. ¿Está listo el agente?
El agente se instala cada vez que arranca el laboratorio. Esto imprime installing mientras se instala y ready cuando ha terminado. Ejecútalo otra vez hasta que diga ready.
docker exec agent cat /tmp/agent/statusSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
2. Ejecuta primero las pruebas
Antes de cambiar nada, averigua qué falla. El proyecto tiene cinco pruebas. Cuatro pasan y una falla: a basket adds up esperaba 180 y obtuvo 35. Apunta qué prueba falló. La necesitarás más tarde.
docker exec -w /home/node/project agent node --testSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
3. Pídele al agente que lo explique
Un agente puede leer un proyecto entero. Aquí solo haces una pregunta, nada más. opencode run hace una pregunta e imprime la respuesta. Léela: ¿se da cuenta de que el bucle se queda solo con el último precio?
docker exec -w /home/node/project agent opencode run "Explain what the total function in shop.js does, in three short sentences. Do not change any file."Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Un error común
Advertencia
Mucha gente piensa que la respuesta de un agente tiene que ser correcta porque suena segura. Puede estar equivocada y sonar segura igualmente. Fíate de un cambio solo cuando hayas ejecutado tú las pruebas y hayas leído la línea que cambió.
4. Deja que el agente lo arregle, con tu permiso
Esto abre la pantalla propia del agente en tu terminal. Escribe: Fix the bug in total in shop.js so the tests pass. Do not change shop.test.js. Cuando te pida cambiar un archivo, lee primero el cambio y luego permítelo. Cuando termine, pulsa Ctrl+C dos veces para cerrarlo.
docker exec -it -w /home/node/project agent opencodeSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
5. Compruébalo tú
Ahora ejecuta las pruebas otra vez: las cinco deberían pasar. Después ejecuta el programa de la caja. La cesta de patatas fritas, zumo y manzana debería costar £1.80, y el cambio de £5 debería ser £3.20.
docker exec -w /home/node/project agent node --testSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
docker exec -w /home/node/project agent node shop.jsSe muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.
Preguntas para responder
- ¿Qué prueba falló antes del arreglo y qué esperaba?
- ¿Qué línea cambió el agente y por qué estaba mal la línea anterior?
- ¿Por qué ejecutaste tú las pruebas después de que el agente dijera que había terminado?
- ¿Qué no deberías escribir nunca en un prompt?
Para el profesorado
Consejo
Esta lección es un pequeño ejemplo de una lección practicada en un laboratorio: los pasos y los botones Ejecutar son la lección, y el laboratorio es la copia de cada alumno. El laboratorio es un servicio con un agente de programación con IA al lado, y su modelo es el de la plataforma, en Londres. Ideas clave: 1. Un agente lee y cambia código por ti. 2. Ejecuta las pruebas antes y después de cualquier cambio. 3. Lee cada cambio antes de permitirlo. Esté atento al alumno que cree al agente porque suena seguro: pídale que le enseñe la prueba pasando. El alumno entrega las pruebas antes y después, la línea cambiada y sus respuestas. Cópiela en su propio módulo y modifíquela, o cree una desde cero con el menú Laboratorio del creador de lecciones.