Laboratorio de agente de programación con IA: usa opencode para explicar y corregir código, y comprueba su trabajo

Este laboratorio da a cada alumno su propio agente de programación con IA, opencode, junto a un pequeño programa de caja de la cafetería con cinco pruebas y un error. El agente puede leer el proyecto, responder preguntas sobre él y modificarlo, y pide permiso antes de cambiar un archivo o ejecutar un comando.

Las respuestas del agente vienen de un modelo que la plataforma ejecuta en Amazon Bedrock en Londres, elegido por la plataforma. La copia no tiene ninguna otra salida a internet, y nunca hay dentro ninguna clave de ningún modelo.

Qué aprenden los alumnos

Qué es un agente de programación y cómo usarlo bien: pedirle que explique antes de pedirle que cambie nada, ejecutar las pruebas antes y después, leer cada cambio antes de permitirlo y no creerse nunca una respuesta porque suene segura. Encaja en una introducción a la programación con herramientas de IA o en una clase sobre pruebas.

Ejecútalo en tu navegador

El laboratorio inicia un solo servicio, agent, con el proyecto de la cafetería en /home/node/project. El agente se instala cada vez que se inicia el laboratorio, lo que tarda alrededor de un minuto: el comando docker exec agent cat /tmp/agent/status dice ready cuando está listo.

  1. Abre la página Contenedor. Abre «Crear» en la barra y elige «Ejecutar un contenedor». Cualquiera puede abrir la página, y el laboratorio de Git y el de SQL se inician sin cuenta. Todos los demás laboratorios necesitan una cuenta gratuita: crea una, inicia sesión y pulsa «Iniciar».
  2. Busca el laboratorio. La tarjeta «Laboratorios de ejemplo» lista todos los ejemplos. Busca el agente de programación con IA.
  3. Pulsa «Iniciar». «Iniciar» lo ejecuta tal cual, con una sola pulsación. «Editar el archivo primero» abre el archivo compose para que lo cambies antes de iniciarlo.
  4. Ábrelo. En la página del laboratorio, pulsa «Abrir terminal». docker exec -w /home/node/project agent node --test ejecuta las cinco pruebas, y una falla. docker exec -it -w /home/node/project agent opencode abre el agente, donde el alumno escribe lo que quiere que haga.

Quién puede usar el agente

Con una cuenta personal gratuita, el agente funciona en este laboratorio y en el que los alumnos lo instalan ellos mismos, hasta 80 créditos de IA al día y 300 en total, lo que da para unas pocas clases. En un centro solo funciona cuando el administrador del centro ha activado los agentes de programación en los laboratorios, en «Asistencia de IA» dentro de «Ajustes», y también la asistencia de IA para esa persona. Entonces cada persona puede gastar hasta 400 créditos de IA al día. Hasta entonces, el agente se abre y dice que no se ha activado.

Qué pedir a los alumnos que entreguen

La salida de las pruebas antes y después de la corrección, la línea que cambió el agente y unas frases sobre cómo comprobaron ellos mismos el cambio. Esta última parte muestra si leyeron el cambio o simplemente lo aceptaron.

Una lección básica en este laboratorio

AI Coding Agent Basics es una pequeña lección que se trabaja en este laboratorio. En ella el alumno ejecuta las pruebas, pide al agente que explique el código, le deja corregir el error después de leer el cambio y vuelve a ejecutar las pruebas y la caja para comprobarlo.

Las cuentas personales gratuitas la tienen en el módulo Basics, que está en «Inicio», cada centro puede copiarla desde la carpeta Basics de la Biblioteca, y un centro nuevo la tiene en un módulo llamado DevOps Labs (Sample). Cópiala en un módulo tuyo para cambiarla.

El código en GitHub

El archivo compose no tiene Dockerfile: ejecuta la imagen oficial de node, fijada a una versión, con un usuario sin privilegios, e instala opencode desde npm, también fijado, en cada inicio. opencode tiene licencia MIT y no lo distribuimos nosotros. El proyecto se guarda en un volumen con nombre; el agente no, porque es demasiado grande para guardarlo.

Asígnalo como trabajo

Indica en la tarea qué hay que entregar.

  1. Crea el laboratorio. En tu módulo añade una tarea y elige la tarjeta «Laboratorio de contenedores», y después «En un repositorio de GitHub». Indica https://github.com/mitsurutech/lab-ai-agent con la rama main. El archivo compose es el predeterminado, compose.yaml. Haz un fork del repositorio antes si quieres modificarlo.
  2. Publica y pruébalo. «Publicar» fija el commit que te mostraron, así que un cambio posterior en el repositorio no altera un laboratorio que ya has asignado. Inicia primero tu propia copia.
  3. Asígnalo. Asígnalo como cualquier tarea, con una fecha de entrega si quieres, e indica en la tarea qué hacer y qué entregar.
  4. Califica lo entregado. Abre la copia de un alumno y el trabajo que ha entregado, califícalo y devuélvelo con un motivo si necesita más.

Preguntas frecuentes

¿Qué modelo responde al agente y adónde va el código?
Un modelo que elige la plataforma, ejecutado en Amazon Bedrock en Londres. Cada paso envía lo que el agente ha leído del proyecto y lo que el alumno ha escrito, sin nombre ni dirección de correo, y no se usa para entrenar modelos. La política de privacidad lo explica con más detalle.
¿Puede un alumno usar el agente para otras cosas?
El agente trabaja dentro de la copia del propio alumno y no llega a nada más que al modelo y al registro de npm. Responde a todo lo que se le escriba, así que plantea la tarea con claridad y califica lo que entreguen.
¿Por qué el agente pide permiso antes de cambiar un archivo?
La configuración del laboratorio se lo indica, para que el alumno lea cada cambio antes de que se haga. Ese es el hábito que enseña la lección.