Back to all posts

Cara menguji skill AI agent secara otomatis terhadap API yang cepat berubah

Di repositori vm0-ai/vm0-skills, kami telah mengembangkan puluhan skill untuk berintegrasi dengan berbagai platform SaaS pihak ketiga. Skill-skill ini memungkinkan agent Claude Code dan Codex berinteraksi secara mulus dengan layanan seperti GitHub, Slack, Discord, dan banyak lainnya.

Meski integrasi ini sangat berharga, mereka menghadirkan tantangan pengujian yang besar. Tanpa infrastruktur pengujian yang tepat, kami tidak bisa memverifikasi secara andal apakah skill berfungsi sesuai harapan atau mendeteksi perubahan yang merusak ketika API pihak ketiga berevolusi.

Mengapa menguji skill AI agent pihak ketiga itu sulit

Menguji integrasi pihak ketiga secara inheren sulit. Setiap skill bergantung pada API eksternal yang bisa berubah tanpa pemberitahuan, sehingga membutuhkan kewaspadaan terus-menerus untuk menjaga keandalan. Unit test tradisional sering kali tidak memadai karena tidak bisa mereplikasi perilaku API dunia nyata, alur autentikasi, dan kasus tepi yang hanya muncul di lingkungan produksi.

Tanpa pengujian yang menyeluruh, beberapa masalah kritis tetap tidak tertangani:

Ini menciptakan beban pemeliharaan yang besar dan potensi masalah keandalan yang bisa berdampak pada alur kerja produksi.

Menggunakan AI agent untuk menguji skill AI agent di lingkungan nyata

Karena skill-skill ini dirancang khusus untuk agent Claude Code dan Codex, pendekatan yang paling alami dan efektif adalah menggunakan agent yang sama itu untuk mengujinya. Ini menciptakan ekosistem yang memvalidasi dirinya sendiri di mana tool menguji dirinya sendiri di lingkungan yang dimaksudkan.

VM0 menyediakan infrastruktur cloud yang diperlukan untuk menjalankan agent Claude Code dan Codex secara andal, menjadikannya platform yang ideal untuk menerapkan strategi pengujian ini.

Alur kerja otomatis menyeluruh untuk menguji skill AI agent

Alur kerja lengkap untuk pengujian skill otomatis dijelaskan di bawah. Agent ini secara sistematis menguji setiap skill di repositori, menghasilkan laporan yang komprehensif, dan memberi tahu tim melalui beberapa kanal.

# 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

Mengonfigurasi agent dengan vm0.yaml

Berikutnya, Anda hanya perlu menjadwalkan VM0 untuk menjalankan alur kerja ini. Buat sebuah file vm0.yaml untuk mendeskripsikan konfigurasi container agent. File ini menentukan skill mana yang dibutuhkan agent, environment variable apa yang harus disuntikkan, dan bagaimana menjalankan alur kerja pengujian.

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

Untuk file konfigurasi lengkapnya, lihat vm0-skills/.vm0/vm0.yaml. Beberapa environment variable dihilangkan dalam contoh ini agar ringkas.

Konfigurasi agent ini mencakup tiga skill penting:

Membuat image Docker

Anda juga perlu mengonfigurasi sebuah image Docker yang menginstal dependensi yang diperlukan, khususnya GitHub CLI (gh) yang digunakan agent untuk operasi repositori.

Buat sebuah 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

Dockerfile ini membuat sebuah container ringan dengan:

Merangkai sistem pengujian skill AI

Itu saja yang Anda butuhkan! Dengan ketiga file ini di tempatnya: AGENTS.md, Dockerfile, dan vm0.yaml, Anda memiliki sistem pengujian otomatis yang lengkap. Anda bisa melihat implementasi lengkapnya di vm0-skills/.vm0.

Jalankan perintah berikut di direktori proyek Anda untuk membangun dan men-deploy agent:

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

Perintah pertama membangun image Docker dengan semua dependensi yang diperlukan. Perintah kedua mendaftarkan konfigurasi agent ke platform VM0.

Menjalankan alur kerja

Kini Anda bisa menjalankan seluruh alur kerja pengujian dengan satu perintah:

$ vm0 run skills-tester "do the job"

Agent akan secara otonom:

  1. Meng-clone repositori vm0-skills
  2. Menghasilkan checklist pengujian untuk semua skill
  3. Menjalankan pengujian untuk setiap skill secara sistematis
  4. Menyusun hasil yang komprehensif
  5. Memperbarui README repositori
  6. Membuat GitHub issue untuk kegagalan
  7. Mengirim notifikasi ke Slack dan Discord

Debugging langkah demi langkah

Jika Anda ingin men-debug alur kerja secara bertahap atau menguji satu skill terlebih dahulu, Anda bisa menggunakan prompt yang ditargetkan:

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

Setelah agent menyelesaikan langkah pertama, Anda bisa melanjutkan sesi berdasarkan session ID yang diberikan dalam output:

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

Pendekatan interaktif ini memungkinkan Anda:

Hasil dan notifikasi

Setelah alur kerja selesai, Anda akan menerima notifikasi di berbagai kanal yang mengonfirmasi hasil pengujian.

discord-test-notification.png Notifikasi komunitas Discord yang menampilkan ringkasan penyelesaian pengujian

slack-test-notification.png Notifikasi tim Slack dengan hasil pengujian yang detail

Untuk skill mana pun yang gagal pengujian, agent secara otomatis membuat sebuah GitHub issue dengan detail kegagalan yang komprehensif. Lihat Skill Test Failures - Issue #2 untuk contoh format issue yang dihasilkan.

Pelajaran utama dari mengotomasi pengujian skill AI agent

Menerapkan pengujian skill otomatis dengan agent VM0 memberikan beberapa manfaat penting:

Dengan memanfaatkan infrastruktur cloud VM0 dan kemampuan agent Claude, Anda bisa menjaga integrasi yang andal dengan layanan eksternal sembari meminimalkan beban pemeliharaan yang terus berjalan. Pendekatan ini mengubah pengujian skill dari proses manual yang rawan kesalahan menjadi sistem jaminan kualitas yang sepenuhnya otomatis.

Mulai dengan VM0 hari ini

Siap mengotomasi alur kerja Anda sendiri dengan AI agent? VM0 memudahkan Anda men-deploy agent siap-produksi dalam hitungan menit, bukan minggu.

Apa yang bisa Anda bangun dengan VM0

Kunjungi vm0.ai untuk membuat akun gratis Anda dan men-deploy agent pertama Anda hari ini. Bergabunglah dengan komunitas Discord kami untuk terhubung dengan builder lain, berbagi alur kerja Anda, dan mendapat bantuan dari tim.

Mulai bangun masa depan alur kerja otomatis.

Related Articles

Stay in the loop

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

SubscribeJoin Discord