Back to all posts

Cómo probar automáticamente habilidades de agentes IA contra APIs en constante cambio

En el repositorio vm0-ai/vm0-skills, hemos desarrollado docenas de habilidades para integrar con varias plataformas SaaS de terceros. Estas habilidades permiten a los agentes Claude Code y Codex interactuar sin problemas con servicios como GitHub, Slack, Discord y muchos otros.

Si bien estas integraciones son increíblemente valiosas, presentan un desafío significativo de pruebas. Sin una infraestructura de pruebas adecuada, no podemos verificar de manera confiable si las habilidades funcionan como se espera o detectar cambios disruptivos cuando las APIs de terceros evolucionan.

Por qué es difícil probar habilidades de agentes IA de terceros

Probar integraciones de terceros es intrínsecamente difícil. Cada habilidad depende de APIs externas que pueden cambiar sin previo aviso, lo que requiere vigilancia constante para mantener la confiabilidad. Las pruebas unitarias tradicionales a menudo se quedan cortas porque no pueden replicar el comportamiento real de las APIs, los flujos de autenticación y los casos extremos que solo emergen en entornos de producción.

Sin pruebas exhaustivas, varios problemas críticos permanecen sin abordar:

Esto crea una carga de mantenimiento significativa y problemas potenciales de confiabilidad que podrían impactar los flujos de trabajo de producción.

Usar agentes IA para probar habilidades de agentes IA en entornos reales

Dado que estas habilidades están diseñadas específicamente para agentes Claude Code y Codex, el enfoque más natural y efectivo es usar estos mismos agentes para probarlas. Esto crea un ecosistema auto-validado donde las herramientas se prueban a sí mismas en su entorno previsto.

VM0 proporciona la infraestructura en la nube necesaria para ejecutar agentes Claude Code y Codex de manera confiable, convirtiéndolo en una plataforma ideal para implementar esta estrategia de pruebas.

Un flujo de trabajo automatizado de extremo a extremo para probar habilidades de agentes IA

El flujo de trabajo completo para las pruebas automatizadas de habilidades se describe a continuación. Este agente prueba sistemáticamente cada habilidad en el repositorio, genera informes exhaustivos y notifica al equipo a través de múltiples canales.

# Agente Probador de Habilidades

## Resumen

Este agente realiza pruebas automatizadas de todas las habilidades en el repositorio vm0-skills.

## Requisitos Críticos

**OBLIGATORIO: Completar Todas las Pruebas Sin Excepción**

- No importa cuánto tiempo tome la tarea, DEBE completarse en su totalidad
- Continuar hasta que TODOS los elementos en `TODO.md` sean probados - sin terminación anticipada
- **NO omitir tareas** - cada habilidad debe ser probada
- **NO hacer pruebas selectivas** - no elegir qué habilidades probar
- **Cada ejemplo DEBE tener un resultado** - cada comando de ejemplo en el SKILL.md de cada habilidad debe ser ejecutado y registrado
- Si una prueba falla, registrar el fallo y continuar con la siguiente prueba
- No detenerse ni pausar hasta que el conjunto completo de pruebas esté completo

## Instrucciones

1. **Clonar e Inicializar**
   - Clonar el repo `vm0-ai/vm0-skills`
   - Crear un archivo `TODO.md` para rastrear el progreso de las pruebas

2. **Generar Lista de Tareas**
   - Para cada carpeta de habilidad en el repo, agregar un elemento de tarea a `TODO.md`

3. **Probar Cada Habilidad**
   - Crear un sub-agente para cada habilidad a probar
   - Cada sub-agente debe:
     - Verificar que existan todas las variables de entorno requeridas
     - Probar cada comando de ejemplo en el SKILL.md de la habilidad
     - Escribir un archivo markdown temporal de resultado de prueba
     - Registrar si la prueba pasó, y específicamente notar cualquier fallo de comando shell o errores de análisis jq

4. **Resumir Resultados**
   - Agregar todos los resultados de prueba en `result.md`

5. **Actualizar README**
   - Basado en `result.md`, actualizar el `README.md`
   - Actualizar o insertar una sección de lista de habilidades con:
     - Breve descripción de las capacidades de cada habilidad
     - Estado de prueba (pasó/falló)

6. **Confirmar y Empujar**
   - Solo confirmar `README.md`
   - Empujar al repositorio usando `GITHUB_TOKEN` para autenticación

7. **Reportar Problemas**
   - Para habilidades con fallos de prueba, crear un issue de GitHub resumiendo todos los problemas

8. **Notificar Slack**
   - Publicar un mensaje en el canal de Slack `#dev` con:
     - Número total de habilidades
     - Número de pruebas pasadas
     - Número de pruebas fallidas
     - Breve resumen de problemas
     - Enlace al issue de GitHub (si se creó)

9. **Notificar Discord**
   - Publicar un mensaje en el canal `skills` de Discord con:
     - Confirmación de que las pruebas rutinarias están completas
     - Número de habilidades que pasaron
     - Número total de habilidades probadas

Configurar el agente con vm0.yaml

A continuación, solo necesitas programar VM0 para ejecutar este flujo de trabajo. Crea un archivo vm0.yaml para describir la configuración del contenedor del agente. Este archivo especifica qué habilidades necesita el agente, qué variables de entorno inyectar y cómo ejecutar el flujo de trabajo de pruebas.

version: "1.0"

agents:
  skills-tester:
    image: skills-tester:latest
    provider: claude-code
    instructions: AGENTS.md
    skills:
      - https://github.com/vm0-ai/vm0-skills/tree/main/github
      - https://github.com/vm0-ai/vm0-skills/tree/main/slack
      - https://github.com/vm0-ai/vm0-skills/tree/main/discord
    environment:
      CLAUDE_CODE_OAUTH_TOKEN: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
      SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }}
      DISCORD_BOT_TOKEN: ${{ secrets.DISCORD_BOT_TOKEN }}
      # ... variables de entorno adicionales según sea necesario

Para el archivo de configuración completo, consulta vm0-skills/.vm0/vm0.yaml. Algunas variables de entorno se omiten en este ejemplo por brevedad.

Esta configuración del agente incluye tres habilidades esenciales:

Crear la imagen Docker

También necesitarás configurar una imagen Docker que instale las dependencias necesarias, particularmente el GitHub CLI (gh) que el agente usa para operaciones de repositorio.

Crea un Dockerfile:

FROM node:20-slim

RUN apt-get update && apt-get install -y \\
    git \\
    curl \\
    python3 \\
    python3-pip \\
    python3-venv \\
    jq \\
    && rm -rf /var/lib/apt/lists/*

RUN curl -fsSL <https://cli.github.com/packages/githubcli-archive-keyring.gpg> | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \\
    && chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \\
    && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] <https://cli.github.com/packages> stable main" | tee /etc/apt/sources.list.d/github-cli.list > /dev/null \\
    && apt-get update \\
    && apt-get install -y gh \\
    && rm -rf /var/lib/apt/lists/*

RUN npm install -g @anthropic-ai/claude-code

Este Dockerfile crea un contenedor ligero con:

Armando el sistema de pruebas de habilidades IA

¡Eso es todo lo que necesitas! Con estos tres archivos en su lugar: AGENTS.md, Dockerfile y vm0.yaml, tienes un sistema completo de pruebas automatizadas. Puedes ver la implementación completa en vm0-skills/.vm0.

Ejecuta los siguientes comandos en tu directorio de proyecto para construir y desplegar el agente:

$ vm0 image build -f Dockerfile --name skills-tester
$ vm0 compose vm0.yaml

El primer comando construye la imagen Docker con todas las dependencias necesarias. El segundo comando registra la configuración del agente con la plataforma de VM0.

Ejecutar el flujo de trabajo

Ahora puedes ejecutar todo el flujo de trabajo de pruebas con un solo comando:

$ vm0 run skills-tester "do the job"

El agente de forma autónoma:

  1. Clonará el repositorio vm0-skills
  2. Generará una lista de verificación de pruebas para todas las habilidades
  3. Ejecutará pruebas para cada habilidad sistemáticamente
  4. Compilará resultados exhaustivos
  5. Actualizará el README del repositorio
  6. Creará issues de GitHub para fallos
  7. Enviará notificaciones a Slack y Discord

Depuración paso a paso

Si quieres depurar el flujo de trabajo incrementalmente o probar primero una sola habilidad, puedes usar prompts específicos:

$ vm0 run skills-tester "Only do the first step, using a single skill."

Después de que el agente complete el primer paso, puedes continuar la sesión basándote en el ID de sesión proporcionado en la salida:

$ vm0 run continue SESSION_ID "Do the next step."

Este enfoque interactivo te permite:

Resultados y notificaciones

Después de que el flujo de trabajo se complete, recibirás notificaciones en múltiples canales confirmando los resultados de las pruebas.

discord-test-notification.png Notificación comunitaria de Discord mostrando resumen de finalización de pruebas

slack-test-notification.png Notificación de equipo de Slack con resultados detallados de pruebas

Para cualquier habilidad que falle las pruebas, el agente crea automáticamente un issue de GitHub con detalles exhaustivos del fallo. Consulta Skill Test Failures - Issue #2 para un ejemplo del formato de issue generado.

Lecciones clave de automatizar las pruebas de habilidades de agentes IA

Implementar pruebas automatizadas de habilidades con agentes VM0 proporciona varios beneficios críticos:

Al aprovechar la infraestructura en la nube de VM0 y las capacidades de agentes de Claude, puedes mantener integraciones confiables con servicios externos mientras minimizas la carga de mantenimiento continuo. Este enfoque transforma las pruebas de habilidades de un proceso manual propenso a errores en un sistema completamente automatizado de aseguramiento de calidad.

Comienza con VM0 hoy

¿Listo para automatizar tus propios flujos de trabajo con agentes IA? VM0 hace fácil desplegar agentes listos para producción en minutos, no semanas.

Lo que puedes construir con VM0

Visita vm0.ai para crear tu cuenta gratuita y desplegar tu primer agente hoy. Únete a nuestra comunidad de Discord para conectar con otros constructores, compartir tus flujos de trabajo y obtener ayuda del equipo.

Comienza a construir el futuro de los flujos de trabajo automatizados.

Related Articles

Stay in the loop

// Get the latest insights on agent-native development.

SubscribeJoin Discord