Cómo prueba Devin tu app en una máquina virtual

Resumen

Las máquinas virtuales de Devin Cloud son el entorno donde el agente clona un repositorio, instala dependencias, ejecuta una terminal, levanta tu aplicación y la prueba en el navegador. Si trabajas con Devin y quieres entender dónde ocurre realmente el desarrollo, aquí ves todo lo que estas máquinas pueden hacer por ti.

¿Qué son las máquinas virtuales de Devin y por qué importan?

Cada máquina virtual está enlazada a una sesión. En el ejemplo, la sesión arrancó desde Slack y fue avanzando paso a paso, y cada bloque que ves ("pensó por 9 segundos", "trabajó por 28 segundos") tiene comandos, pensamientos y procesos que Devin ejecutó dentro de esa máquina para seguir adelante [00:34].

Aquí está la magia: Devin no es solamente prompt y archivos. Es un entorno completo donde puedes ver comandos de Linux reales, como cambiar de carpeta y clonar el repositorio que ya se había empezado en sesiones anteriores [01:00].

¿Qué es una máquina virtual en Devin Cloud? Es un entorno aislado enlazado a cada sesión donde Devin clona el repo, instala dependencias, ejecuta comandos de terminal, levanta la app y la prueba en el navegador para entregarte evidencias.

En el caso mostrado, Devin encontró el repositorio, vio que solo tenía el archivo plan.md, lo clonó en su máquina y empezó a leerlo para entregar respuestas basadas en ese archivo [01:16]. Todo eso lo respondía a través de Slack.

¿Cómo ejecuta Devin una fase de desarrollo dentro de la máquina?

Cuando le pides avanzar con la fase uno del desarrollo, Devin arranca y trabaja de forma continua. En el ejemplo trabajó durante 6 minutos y 23 segundos, generando muchísimos comandos de creación de archivos [01:55].

Estos son algunos de los movimientos que hace dentro de la máquina virtual:

  • Crear archivos como wig.ts, al que le agregó 53 líneas.
  • Construir todo el scaffolding del proyecto para esa fase.
  • Pushear una rama nueva llamada Devin con su hash correspondiente.
  • Generar un pull request automático una vez que termina la fase.

Después de pushear la rama y tener el contexto de que terminó esa fase, Devin nos genera otro PR, que en este caso fue el número tres [02:26].

¿Devin corrige sus propios errores? Sí. Cuando un test falla, Devin lo reescribe, hace un nuevo PR y vuelve a correr la prueba. En el ejemplo pasaron 7 tests y falló 1 relacionado al Magic Link del login, que él mismo reparó.

¿Cómo probar la aplicación en el navegador con la máquina virtual?

Antes de mostrar el PR, Devin activa un botón que abre una función especial. Al hacer hover, aparece un aviso importante: esta feature está en fase beta y se ofrece a una quinta parte del precio normal, y su éxito puede variar según la complejidad de la aplicación que estés creando [02:47].

Al darle a probar la aplicación en el navegador, la interfaz habilita del lado derecho todo lo que Devin hace dentro de la máquina virtual. Ahí puedes ver varios tabs: el PR dos, el progress, los cambios realizados y el PR número tres [03:07].

Devin abre una pestaña nueva con el navegador y puedes hacer dos cosas:

  • Tomar control del navegador para hacer clic en distintas partes de la aplicación.
  • Esperar a que termine de ejecutar la app y verla directamente dentro de la interfaz.

Y aquí viene lo interesante: este proceso nos entregó dos videos como evidencia del avance. Uno mostraba la fase uno y el end-to-end, con los siete tests que pasaron y el que falló y luego se corrigió [03:44].

¿Por qué las evidencias de Devin son tan útiles si trabajas desde Slack?

La fase de máquina virtual existe precisamente para darte estas evidencias: videos y pruebas que confirman que la aplicación funciona. Como la sesión está enlazada a Slack, ese video se envía también a la conversación del thread para que lo tengas a la mano [04:14].

Esto conecta con la idea de trabajar directamente desde el celular a través de Slack. En ese thread aparecen tres partes clave del flujo:

  • El inicio de la conversación.
  • El primer PR entregado, que es el número dos.
  • El PR número tres, que es el que Devin editó al final.

La máquina virtual te da la posibilidad de probar de manera end-to-end automática o de hacer esa prueba manualmente tú mismo. Con un end-to-end test listo, puedes validar que cada fase de la aplicación funciona sin depender de estar frente al código [04:47].

Entender dónde trabaja Devin y cómo interactúa con estas máquinas virtuales te permite mejorar mucho la forma en que le pides cada tarea. ¿Cómo ha avanzado tu proyecto hasta ahora? Déjame en la sección de comentarios un screenshot y cuéntame cómo te ha ido trabajando con Devin.