Back to all posts

Sådan tester du AI-agenters færdigheder automatisk mod hurtigt skiftende API'er

Sådan tester du AI-agenters færdigheder automatisk mod hurtigt skiftende API'er

I vm0-ai/vm0-skills-repoet har vi udviklet adskillige færdigheder til integration med forskellige tredjeparts SaaS-platforme. Disse færdigheder gør det muligt for Claude Code- og Codex-agenter at interagere problemfrit med tjenester som GitHub, Slack, Discord og mange andre.

Selvom disse integrationer er meget værdifulde, udgør de en betydelig testudfordring. Uden den rette testinfrastruktur kan vi ikke pålideligt verificere, om færdighederne fungerer som forventet eller opdage fejl, når tredjeparts-API'er ændrer sig.

Hvorfor det er svært at teste tredjeparts AI-agentfærdigheder

Test af tredjepartsintegrationer er i sagens natur vanskeligt. Hver færdighed afhænger af eksterne API'er, der kan ændre sig uden varsel, hvilket kræver konstant opmærksomhed for at opretholde pålidelighed. Traditionelle enhedstests er ofte utilstrækkelige, fordi de ikke kan efterligne API-adfærd i virkeligheden, autentificeringsflows og kanttilfælde, der kun opstår i produktionen.

Uden omfattende test forbliver flere kritiske problemer uadresserede:

  • Funktionsverificering: Vi kan ikke bekræfte, at færdighederne virker som tiltænkt i faktiske brugsscenarier
  • Opdagelse af brydende ændringer: Når tredjeparts SaaS-API'er ændres, har vi ingen automatiseret måde at identificere kompatibilitetsproblemer på
  • Validering af autentificering: OAuth-flows, tokenfornyelse og tilladelsesområder kræver løbende validering
  • Fejlhåndtering: Vi skal sikre, at systemet nedtrapper elegant, når eksterne tjenester ikke er tilgængelige

Dette skaber en betydelig vedligeholdelsesbyrde og potentielle pålidelighedsproblemer, der kan påvirke produktionsarbejdsgange.

Brug af AI-agenter til at teste AI-agentfærdigheder i virkelige miljøer

Da disse færdigheder er specifikt designet til Claude Code- og Codex-agenter, er den mest naturlige og effektive tilgang at bruge de samme agenter til at teste dem. Dette skaber et selvvaliderende økosystem, hvor værktøjerne tester sig selv i deres tiltænkte miljø.

VM0 leverer den nødvendige cloud-infrastruktur til at køre Claude Code- og Codex-agenter pålideligt, hvilket gør det til en ideel platform til denne teststrategi.

En fuldautomatisk workflow til test af AI-agentfærdigheder

Den komplette workflow for automatiseret færdighedstest er beskrevet nedenfor. Denne agent tester systematisk alle færdigheder i repoet, genererer omfattende rapporter og giver teamet besked via flere kanaler.

# Skills Tester Agent

## Overview

This agent performs automated testing of all skills in the vm0-skills repository.

## Critical Requirements

**MANDATORY: Complete All Tests Without Exception**

- No matter how long the task takes, it MUST be completed in full
- Continue until ALL items in `TODO.md` are tested - no early termination
- **NO skipping tasks** - every skill must be tested
- **NO selective testing** - do not cherry-pick which skills to test
- **Every example MUST have a result** - each example command in every skill's SKILL.md must be executed and recorded
- If a test fails, record the failure and continue to the next test
- Do not stop or pause until the entire test suite is complete

## Instructions

1. **Clone and Initialize**
   - Clone the repo `vm0-ai/vm0-skills`
   - Create a `TODO.md` file to track testing progress

2. **Generate Todo List**
   - For each skill folder in the repo, add a todo item to `TODO.md`

3. **Test Each Skill**
   - Create a sub-agent for each skill to test
   - Each sub-agent should:
     - Verify all required environment variables exist
     - Test each example command in the skill's SKILL.md
     - Write a temporary test result markdown file
     - Record whether the test passed, and specifically note any shell command failures or jq parsing errors

4. **Summarize Results**
   - Aggregate all test results into `result.md`

5. **Update README**
   - Based on `result.md`, update the `README.md`
   - Update or insert a skill list section with:
     - Brief description of each skill's capabilities
     - Test status (passed/failed)

6. **Commit and Push**
   - Only commit `README.md`
   - Push to the repository using `GITHUB_TOKEN` for authentication

7. **Report Issues**
   - For skills with test failures, create a GitHub issue summarizing all problems

8. **Notify Slack**
   - Post a message to Slack channel `#dev` with:
     - Total number of skills
     - Number of passed tests
     - Number of failed tests
     - Brief summary of issues
     - Link to the GitHub issue (if created)

9. **Notify Discord**
   - Post a message to the Discord `skills` channel with:
     - Confirmation that routine testing is complete
     - Number of skills that passed
     - Total number of skills tested

Konfiguration af agenten med vm0.yaml

Dernæst skal du blot planlægge, at VM0 kører denne workflow. Opret en vm0.yaml-fil for at beskrive agentcontainerens konfiguration. Denne fil angiver, hvilke færdigheder agenten skal bruge, hvilke miljøvariabler der skal indsættes, og hvordan testworkflowen skal køres.

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 }}
      # ... additional environment variables as needed

For den komplette konfigurationsfil, se vm0-skills/.vm0/vm0.yaml. Nogle miljøvariabler er udeladt i dette eksempel for kortfattethedens skyld.

Denne agentkonfiguration inkluderer tre essentielle færdigheder:

  • GitHub-færdighed: Til repo-operationer, oprettelse af issues og opdatering af README
  • Slack-færdighed: Til at poste testresultater i teamkanaler
  • Discord-færdighed: Til fællesskabsnotifikationer om testafslutning

Oprettelse af Docker-image

Du skal også konfigurere et Docker-image, der installerer de nødvendige afhængigheder, især GitHub CLI (gh), som agenten bruger til repo-operationer.

Opret en 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

Denne Dockerfile opretter en let container med:

  • Node.js 20: Kørselmiljø for Claude Code
  • Git: Versionsstyringsoperationer
  • GitHub CLI: Effektiv interaktion med GitHub API
  • Python 3: Til at køre testskripter for færdigheder
  • jq: JSON-parsing i shell-kommandoer

Samling af AI-færdighedstestningssystemet

Det er alt, hvad du behøver! Med disse tre filer på plads: AGENTS.md, Dockerfile og vm0.yaml, har du et komplet automatiseret testsystem. Du kan se hele implementeringen på vm0-skills/.vm0.

Kør følgende kommandoer i din projektmappe for at bygge og udrulle agenten:

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

Den første kommando bygger Docker-imaget med alle nødvendige afhængigheder. Den anden kommando registrerer agentkonfigurationen på VM0-platformen.

Kørsel af workflowen

Nu kan du køre hele testworkflowen med én enkelt kommando:

$ vm0 run skills-tester "do the job"

Agenten vil autonomt:

  1. Klone vm0-skills-repoet
  2. Generere en test-tjekliste for alle færdigheder
  3. Udføre tests for hver færdighed systematisk
  4. Samle omfattende resultater
  5. Opdatere repoets README
  6. Oprette GitHub-issues ved fejl
  7. Sende notifikationer til Slack og Discord

Fejlfinding trin for trin

Hvis du ønsker at fejlfinde workflowen trinvis eller teste en enkelt færdighed først, kan du bruge målrettede prompts:

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

Når agenten har gennemført det første trin, kan du fortsætte sessionen baseret på det session-ID, der vises i outputtet:

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

Denne interaktive tilgang gør det muligt at:

  • Verificere hvert trin, før du fortsætter
  • Inspicere mellemliggende resultater
  • Justere workflowen efter behov
  • Fejlfinde problemer mere effektivt

Resultater og notifikationer

Når workflowen er færdig, modtager du notifikationer på flere kanaler, der bekræfter testresultaterne.

Discord-fællesskabsnotifikation, der viser opsummering af testafslutning

Slack-teamnotifikation med detaljerede testresultater

For alle færdigheder, der fejler testen, opretter agenten automatisk et GitHub-issue med udførlige fejloplysninger. Se Skill Test Failures - Issue #2 for et eksempel på det genererede issue-format.

Centrale erfaringer fra automatisering af AI-agentfærdighedstest

Automatiseret færdighedstest med VM0-agenter giver flere vigtige fordele:

  • Kontinuerlig validering: Opdag brydende ændringer fra tredjeparts-API'er med det samme, før de rammer produktionen
  • Realistisk testmiljø: Agenter tester færdigheder i præcis den kontekst, de bruges i, og eliminerer forskellen mellem test og produktion
  • Ingen manuel indsats: Når workflowen er konfigureret, kører testen automatisk efter en tidsplan uden menneskelig indgriben
  • Omfattende dækning: Alle færdigheder testes systematisk, så intet overses
  • Teamopmærksomhed: Notifikationer på flere kanaler holder alle informeret om testresultater og problemer

Ved at udnytte VM0's cloud-infrastruktur og Claudes agentfunktioner kan du opretholde pålidelige integrationer med eksterne tjenester og samtidig minimere den løbende vedligeholdelsesbyrde. Denne tilgang forvandler færdighedstest fra en manuel, fejlbehæftet proces til et fuldautomatisk kvalitetssikringssystem.

Kom i gang med VM0 i dag

Klar til at automatisere dine egne workflows med AI-agenter? VM0 gør det nemt at udrulle produktionsklare agenter på få minutter – ikke uger.

Dette kan du bygge med VM0

  • Automatiserede testpipelines

    Kør planlagte testjobs som denne færdighedstester for at opdage brydende ændringer i tredjeparts-API'er tidligt.

  • Indholdsgenererings-workflows

    Omdan research, noter eller rå input til blogindlæg, dokumentation eller release-noter uden manuel kopiering.

  • Databehandlingsagenter

    Hent data fra flere kilder, rens dem og send dem videre, mens fejl og genforsøg håndteres eksplicit.

  • Automatisering af kundesupport

    Sortér indkommende henvendelser, klargør svar og overdrag kanttilfælde til mennesker efter behov.

  • Kodegennemgang og analyse

    Gennemgå pull requests, marker potentielle problemer og håndhæv grundlæggende regler, før en person ser koden.

Besøg vm0.ai for at oprette din gratis konto og udrulle din første agent i dag.

Begynd at bygge fremtidens automatiserede workflows.

Stay in the loop

// Get the latest insights on AI teammates and collaboration.