Back to all posts

Jak automaticky testovat dovednosti AI agentů proti rychle se měnícím API

Jak automaticky testovat dovednosti AI agentů proti rychle se měnícím API

V repozitáři vm0-ai/vm0-skills jsme vyvinuli desítky dovedností pro integraci s různými SaaS platformami třetích stran. Tyto dovednosti umožňují agentům Claude Code a Codex bezproblémově komunikovat se službami jako GitHub, Slack, Discord a mnoha dalšími.

Ačkoliv jsou tyto integrace velmi cenné, představují významnou výzvu v testování. Bez odpovídající testovací infrastruktury nemůžeme spolehlivě ověřit, zda dovednosti fungují podle očekávání, ani detekovat nekompatibility při změnách API třetích stran.

Proč je testování dovedností AI agentů třetích stran obtížné

Testování integrací třetích stran je ze své podstaty složité. Každá dovednost závisí na externích API, která se mohou měnit bez upozornění, což vyžaduje neustálou pozornost pro zachování spolehlivosti. Tradiční jednotkové testy často nestačí, protože nedokážou napodobit reálné chování API, autentizační toky a okrajové případy, které se objeví až v produkčním prostředí.

Bez komplexního testování zůstává několik zásadních problémů nevyřešeno:

  • Ověření funkčnosti: Nemůžeme potvrdit, že dovednosti fungují podle očekávání v reálných scénářích použití
  • Detekce nekompatibilit: Když se API SaaS služeb změní, nemáme automatizovaný způsob, jak zjistit problémy s kompatibilitou
  • Ověření autentizace: OAuth toky, mechanismy obnovy tokenů a rozsahy oprávnění je třeba průběžně ověřovat
  • Zpracování chyb: Musíme zajistit, že při nedostupnosti externích služeb dojde k plynulému omezení funkčnosti

To vytváří značnou zátěž na údržbu a potenciální problémy se spolehlivostí, které mohou ovlivnit produkční workflow.

Jak využít AI agenty k testování dovedností AI agentů v reálném prostředí

Protože jsou tyto dovednosti určeny přímo pro agenty Claude Code a Codex, nejpřirozenějším a nejefektivnějším přístupem je použít právě tyto agenty k jejich testování. Vzniká tak samo-validující ekosystém, kde nástroje testují samy sebe ve svém cílovém prostředí.

VM0 poskytuje cloudovou infrastrukturu potřebnou pro spolehlivý běh agentů Claude Code a Codex, což z něj činí ideální platformu pro implementaci této testovací strategie.

Kompletní automatizovaný workflow pro testování dovedností AI agentů

Kompletní workflow pro automatizované testování dovedností je popsán níže. Tento agent systematicky testuje každou dovednost v repozitáři, generuje podrobné reporty a informuje tým prostřednictvím více kanálů.

# 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

Nastavení agenta pomocí vm0.yaml

Dále stačí naplánovat spuštění tohoto workflow ve VM0. Vytvořte soubor vm0.yaml, který popisuje konfiguraci kontejneru agenta. Tento soubor určuje, jaké dovednosti agent potřebuje, jaké proměnné prostředí má vložit a jak spustit testovací workflow.

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

Úplný konfigurační soubor najdete v vm0-skills/.vm0/vm0.yaml. Některé proměnné prostředí jsou v tomto příkladu vynechány pro stručnost.

Tato konfigurace agenta zahrnuje tři klíčové dovednosti:

  • GitHub dovednost: Pro operace s repozitářem, vytváření issues a aktualizace README
  • Slack dovednost: Pro zasílání výsledků testů do týmových kanálů
  • Discord dovednost: Pro komunitní oznámení o dokončení testů

Vytvoření Docker image

Je také potřeba nakonfigurovat Docker image, který nainstaluje potřebné závislosti, zejména GitHub CLI (gh), který agent používá pro operace s repozitářem.

Vytvořte 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

Tento Dockerfile vytvoří lehký kontejner s:

  • Node.js 20: Provozní prostředí pro Claude Code
  • Git: Pro operace se správou verzí
  • GitHub CLI: Pro efektivní práci s GitHub API
  • Python 3: Pro spouštění testovacích skriptů dovedností
  • jq: Pro zpracování JSON v shellových příkazech

Sestavení systému pro testování AI dovedností

To je vše! S těmito třemi soubory: AGENTS.md, Dockerfile a vm0.yaml máte kompletní automatizovaný testovací systém. Celou implementaci najdete na vm0-skills/.vm0.

V kořenovém adresáři projektu spusťte následující příkazy pro sestavení a nasazení agenta:

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

První příkaz sestaví Docker image se všemi potřebnými závislostmi. Druhý příkaz zaregistruje konfiguraci agenta na platformě VM0.

Spuštění workflow

Nyní můžete spustit celý testovací workflow jediným příkazem:

$ vm0 run skills-tester "do the job"

Agent automaticky provede:

  1. Klonování repozitáře vm0-skills
  2. Vygenerování kontrolního seznamu pro všechny dovednosti
  3. Systematické spuštění testů pro každou dovednost
  4. Sestavení podrobných výsledků
  5. Aktualizaci README v repozitáři
  6. Vytvoření GitHub issues pro neúspěšné testy
  7. Odeslání notifikací na Slack a Discord

Ladění krok za krokem

Pokud chcete workflow ladit postupně nebo nejprve otestovat jen jednu dovednost, můžete použít cílené prompty:

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

Po dokončení prvního kroku agentem můžete pokračovat v sezení podle session ID uvedeného ve výstupu:

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

Tento interaktivní přístup vám umožní:

  • Ověřit každý krok před pokračováním
  • Prohlédnout si mezivýsledky
  • Upravovat workflow podle potřeby
  • Efektivněji ladit problémy

Výsledky a notifikace

Po dokončení workflow obdržíte notifikace napříč několika kanály s potvrzením výsledků testování.

Komunitní oznámení na Discordu s přehledem dokončení testů

Týmová notifikace na Slacku s podrobnými výsledky testů

U všech dovedností, které v testu selžou, agent automaticky vytvoří GitHub issue s podrobnými informacemi o selhání. Viz Skill Test Failures - Issue #2 pro ukázku formátu vygenerovaného issue.

Klíčové poznatky z automatizace testování dovedností AI agentů

Zavedení automatizovaného testování dovedností pomocí agentů VM0 přináší několik zásadních výhod:

  • Průběžné ověřování: Okamžitě zachytíte nekompatibility v API třetích stran dříve, než ovlivní produkci
  • Realistické testovací prostředí: Agenti testují dovednosti přesně v tom kontextu, kde jsou používány, což eliminuje rozdíl mezi testem a produkcí
  • Žádná ruční práce: Po nastavení běží testovací workflow automaticky podle plánu, bez zásahu člověka
  • Komplexní pokrytí: Každá dovednost je systematicky testována, takže nic neunikne pozornosti
  • Informovanost týmu: Vícekanálové notifikace udrží všechny v obraze o výsledcích testů a problémech

Díky využití cloudové infrastruktury VM0 a schopností agentů Claude můžete udržovat spolehlivé integrace s externími službami a zároveň minimalizovat nároky na průběžnou údržbu. Tento přístup mění testování dovedností z ručního a náchylného k chybám na plně automatizovaný systém zajištění kvality.

Začněte s VM0 ještě dnes

Chcete automatizovat vlastní workflow pomocí AI agentů? VM0 vám umožní nasadit produkčně připravené agenty během několika minut.

Co můžete s VM0 vytvořit

  • Automatizované testovací pipeline

    Spouštějte plánované testovací úlohy, jako je tento tester dovedností, a včas zachyťte změny v API třetích stran.

  • Workflow pro generování obsahu

    Přeměňte výzkum, poznámky nebo surové vstupy na blogy, dokumentaci či poznámky k vydání bez ručního kopírování.

  • Agenty pro zpracování dat

    Stahujte data z více zdrojů, čistěte je a posouvejte dál, přičemž výslovně řešíte chyby a opakování.

  • Automatizace zákaznické podpory

    Třiďte příchozí požadavky, připravujte odpovědi a v případě potřeby předávejte složité případy lidem.

  • Kontrola a analýza kódu

    Kontrolujte pull requesty, označujte potenciální problémy a vynucujte základní pravidla před lidskou kontrolou kódu.

Navštivte vm0.ai, vytvořte si bezplatný účet a nasazujte své první agenty ještě dnes.

Začněte budovat budoucnost automatizovaných workflow.

Stay in the loop

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