Back to all posts

Wie Sie KI-Agenten-Skills automatisch gegen sich schnell ändernde APIs testen

Im Repository vm0-ai/vm0-skills haben wir Dutzende von Skills für die Integration mit verschiedenen SaaS-Plattformen von Drittanbietern entwickelt. Diese Skills ermöglichen es Claude Code- und Codex-Agenten, nahtlos mit Diensten wie GitHub, Slack, Discord und vielen anderen zu interagieren.

Obwohl diese Integrationen äußerst wertvoll sind, stellen sie eine erhebliche Test-Herausforderung dar. Ohne angemessene Test-Infrastruktur können wir nicht zuverlässig überprüfen, ob Skills wie erwartet funktionieren, oder Breaking Changes erkennen, wenn sich Drittanbieter-APIs weiterentwickeln.

Warum das Testen von KI-Agenten-Skills von Drittanbietern schwierig ist

Das Testen von Drittanbieter-Integrationen ist von Natur aus schwierig. Jeder Skill hängt von externen APIs ab, die sich ohne Vorwarnung ändern können, was ständige Wachsamkeit erfordert, um die Zuverlässigkeit aufrechtzuerhalten. Traditionelle Unit-Tests greifen oft zu kurz, weil sie das API-Verhalten, Authentifizierungs-Flows und Edge Cases aus der realen Welt nicht replizieren können, die nur in Produktionsumgebungen auftreten.

Ohne umfassende Tests bleiben mehrere kritische Probleme ungelöst:

Dies führt zu einer erheblichen Wartungsbelastung und potenziellen Zuverlässigkeitsproblemen, die Produktions-Workflows beeinträchtigen könnten.

Verwendung von KI-Agenten zum Testen von KI-Agenten-Skills in realen Umgebungen

Da diese Skills speziell für Claude Code- und Codex-Agenten entwickelt wurden, ist der natürlichste und effektivste Ansatz, diese Agenten selbst zum Testen zu verwenden. Dies schafft ein selbstvalidierendes Ökosystem, in dem die Tools sich selbst in ihrer vorgesehenen Umgebung testen.

VM0 bietet die Cloud-Infrastruktur, die erforderlich ist, um Claude Code- und Codex-Agenten zuverlässig auszuführen, was es zu einer idealen Plattform für die Implementierung dieser Test-Strategie macht.

Ein durchgängiger automatisierter Workflow zum Testen von KI-Agenten-Skills

Der vollständige Workflow für automatisierte Skill-Tests wird im Folgenden beschrieben. Dieser Agent testet systematisch jeden Skill im Repository, generiert umfassende Berichte und benachrichtigt das Team über mehrere Kanäle.

# Skills-Tester-Agent

## Übersicht

Dieser Agent führt automatisierte Tests aller Skills im vm0-skills-Repository durch.

## Kritische Anforderungen

**OBLIGATORISCH: Alle Tests ohne Ausnahme abschließen**

- Egal wie lange die Aufgabe dauert, sie MUSS vollständig abgeschlossen werden
- Fortfahren, bis ALLE Elemente in `TODO.md` getestet sind - keine vorzeitige Beendigung
- **KEINE übersprungenen Aufgaben** - jeder Skill muss getestet werden
- **KEINE selektiven Tests** - nicht auswählen, welche Skills getestet werden
- **Jedes Beispiel MUSS ein Ergebnis haben** - jeder Beispielbefehl in der SKILL.md jedes Skills muss ausgeführt und aufgezeichnet werden
- Wenn ein Test fehlschlägt, den Fehler aufzeichnen und mit dem nächsten Test fortfahren
- Nicht stoppen oder pausieren, bis die gesamte Test-Suite abgeschlossen ist

## Anweisungen

1. **Klonen und Initialisieren**
   - Das Repository `vm0-ai/vm0-skills` klonen
   - Eine `TODO.md`-Datei erstellen, um den Testfortschritt zu verfolgen

2. **Todo-Liste generieren**
   - Für jeden Skill-Ordner im Repository ein Todo-Element zu `TODO.md` hinzufügen

3. **Jeden Skill testen**
   - Einen Sub-Agenten für jeden zu testenden Skill erstellen
   - Jeder Sub-Agent sollte:
     - Überprüfen, dass alle erforderlichen Umgebungsvariablen vorhanden sind
     - Jeden Beispielbefehl in der SKILL.md des Skills testen
     - Eine temporäre Testergebnis-Markdown-Datei schreiben
     - Aufzeichnen, ob der Test bestanden wurde, und speziell Shell-Befehlsfehler oder jq-Parsing-Fehler notieren

4. **Ergebnisse zusammenfassen**
   - Alle Testergebnisse in `result.md` aggregieren

5. **README aktualisieren**
   - Basierend auf `result.md` die `README.md` aktualisieren
   - Einen Skill-Listen-Abschnitt aktualisieren oder einfügen mit:
     - Kurzbeschreibung der Fähigkeiten jedes Skills
     - Teststatus (bestanden/fehlgeschlagen)

6. **Commit und Push**
   - Nur `README.md` committen
   - Mit `GITHUB_TOKEN` für die Authentifizierung zum Repository pushen

7. **Probleme melden**
   - Für Skills mit Testfehlern ein GitHub-Issue erstellen, das alle Probleme zusammenfasst

8. **Slack benachrichtigen**
   - Eine Nachricht im Slack-Kanal `#dev` posten mit:
     - Gesamtanzahl der Skills
     - Anzahl bestandener Tests
     - Anzahl fehlgeschlagener Tests
     - Kurze Zusammenfassung der Probleme
     - Link zum GitHub-Issue (falls erstellt)

9. **Discord benachrichtigen**
   - Eine Nachricht im Discord-Kanal `skills` posten mit:
     - Bestätigung, dass Routine-Tests abgeschlossen sind
     - Anzahl der Skills, die bestanden haben
     - Gesamtanzahl der getesteten Skills

Konfiguration des Agenten mit vm0.yaml

Als Nächstes müssen Sie VM0 nur so planen, dass dieser Workflow ausgeführt wird. Erstellen Sie eine vm0.yaml-Datei, um die Konfiguration des Agenten-Containers zu beschreiben. Diese Datei gibt an, welche Skills der Agent benötigt, welche Umgebungsvariablen einzufügen sind und wie der Test-Workflow ausgeführt werden soll.

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 }}
      # ... zusätzliche Umgebungsvariablen nach Bedarf

Für die vollständige Konfigurationsdatei siehe vm0-skills/.vm0/vm0.yaml. Einige Umgebungsvariablen sind in diesem Beispiel aus Gründen der Kürze weggelassen.

Diese Agentenkonfiguration umfasst drei wesentliche Skills:

Erstellen des Docker-Images

Sie müssen auch ein Docker-Image konfigurieren, das die erforderlichen Abhängigkeiten installiert, insbesondere die GitHub CLI (gh), die der Agent für Repository-Operationen verwendet.

Erstellen Sie ein 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

Dieses Dockerfile erstellt einen leichtgewichtigen Container mit:

Zusammenstellung des KI-Skill-Test-Systems

Das ist alles, was Sie brauchen! Mit diesen drei Dateien: AGENTS.md, Dockerfile und vm0.yaml haben Sie ein vollständiges automatisiertes Test-System. Sie können die vollständige Implementierung unter vm0-skills/.vm0 einsehen.

Führen Sie die folgenden Befehle in Ihrem Projektverzeichnis aus, um den Agenten zu erstellen und bereitzustellen:

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

Der erste Befehl erstellt das Docker-Image mit allen erforderlichen Abhängigkeiten. Der zweite Befehl registriert die Agentenkonfiguration bei der VM0-Plattform.

Ausführen des Workflows

Jetzt können Sie den gesamten Test-Workflow mit einem einzigen Befehl ausführen:

$ vm0 run skills-tester "do the job"

Der Agent wird autonom:

  1. Das vm0-skills-Repository klonen
  2. Eine Test-Checkliste für alle Skills generieren
  3. Tests für jeden Skill systematisch ausführen
  4. Umfassende Ergebnisse zusammenstellen
  5. Die Repository-README aktualisieren
  6. GitHub-Issues für Fehler erstellen
  7. Benachrichtigungen an Slack und Discord senden

Schrittweises Debuggen

Wenn Sie den Workflow schrittweise debuggen oder zuerst einen einzelnen Skill testen möchten, können Sie gezielte Prompts verwenden:

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

Nachdem der Agent den ersten Schritt abgeschlossen hat, können Sie die Sitzung basierend auf der in der Ausgabe angegebenen Sitzungs-ID fortsetzen:

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

Dieser interaktive Ansatz ermöglicht es Ihnen:

Ergebnisse und Benachrichtigungen

Nach Abschluss des Workflows erhalten Sie Benachrichtigungen über mehrere Kanäle, die die Testergebnisse bestätigen.

discord-test-notification.png Discord-Community-Benachrichtigung mit Test-Abschluss-Zusammenfassung

slack-test-notification.png Slack-Team-Benachrichtigung mit detaillierten Testergebnissen

Für alle Skills, die Tests nicht bestehen, erstellt der Agent automatisch ein GitHub-Issue mit umfassenden Fehlerdetails. Siehe Skill Test Failures - Issue #2 für ein Beispiel des generierten Issue-Formats.

Wichtige Erkenntnisse aus der Automatisierung des Testens von KI-Agenten-Skills

Die Implementierung automatisierter Skill-Tests mit VM0-Agenten bietet mehrere kritische Vorteile:

Durch die Nutzung der Cloud-Infrastruktur von VM0 und der Agenten-Funktionen von Claude können Sie zuverlässige Integrationen mit externen Diensten aufrechterhalten und gleichzeitig die laufende Wartungsbelastung minimieren. Dieser Ansatz verwandelt Skill-Tests von einem manuellen, fehleranfälligen Prozess in ein vollständig automatisiertes Qualitätssicherungssystem.

Beginnen Sie noch heute mit VM0

Bereit, Ihre eigenen Workflows mit KI-Agenten zu automatisieren? VM0 macht es einfach, produktionsbereite Agenten in Minuten, nicht Wochen, bereitzustellen.

Was Sie mit VM0 bauen können

Besuchen Sie vm0.ai, um Ihr kostenloses Konto zu erstellen und Ihren ersten Agenten noch heute bereitzustellen. Treten Sie unserer Discord-Community bei, um sich mit anderen Entwicklern zu vernetzen, Ihre Workflows zu teilen und Hilfe vom Team zu erhalten.

Beginnen Sie jetzt, die Zukunft automatisierter Workflows zu gestalten.

Related Articles

Stay in the loop

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

SubscribeJoin Discord