Back to all posts

Cách tự động kiểm tra kỹ năng của AI agent với các API thay đổi nhanh chóng

Cách tự động kiểm tra kỹ năng của AI agent với các API thay đổi nhanh chóng

Trong kho vm0-ai/vm0-skills, chúng tôi đã phát triển hàng chục kỹ năng tích hợp với nhiều nền tảng SaaS bên thứ ba khác nhau. Những kỹ năng này cho phép các agent Claude Code và Codex tương tác liền mạch với các dịch vụ như GitHub, Slack, Discord và nhiều dịch vụ khác.

Mặc dù các tích hợp này rất giá trị, chúng lại đặt ra thách thức lớn về kiểm thử. Nếu không có hạ tầng kiểm thử phù hợp, chúng tôi không thể xác minh đáng tin cậy liệu các kỹ năng có hoạt động đúng như mong đợi hay phát hiện các thay đổi gây lỗi khi API bên thứ ba thay đổi.

Vì sao kiểm thử kỹ năng AI agent bên thứ ba lại khó

Kiểm thử tích hợp bên thứ ba vốn đã khó. Mỗi kỹ năng phụ thuộc vào API ngoài có thể thay đổi bất cứ lúc nào, đòi hỏi phải liên tục theo dõi để duy trì độ tin cậy. Kiểm thử đơn vị truyền thống thường không đủ vì không thể mô phỏng hành vi thực tế của API, luồng xác thực và các trường hợp ngoại lệ chỉ xuất hiện trong môi trường sản xuất.

Nếu không kiểm thử toàn diện, nhiều vấn đề nghiêm trọng sẽ không được giải quyết:

  • Xác minh chức năng: Không thể chắc chắn kỹ năng hoạt động đúng trong các tình huống sử dụng thực tế
  • Phát hiện thay đổi gây lỗi: Khi API SaaS bên thứ ba thay đổi, không có cách tự động phát hiện vấn đề tương thích
  • Xác thực xác thực: Luồng OAuth, cơ chế làm mới token và phạm vi quyền cần được kiểm tra liên tục
  • Xử lý lỗi: Cần đảm bảo hệ thống suy giảm hợp lý khi dịch vụ ngoài không khả dụng

Điều này tạo ra gánh nặng bảo trì lớn và nguy cơ giảm độ tin cậy, có thể ảnh hưởng đến quy trình sản xuất.

Dùng AI agent để kiểm thử kỹ năng AI agent trong môi trường thực tế

Vì các kỹ năng này được thiết kế riêng cho agent Claude Code và Codex, cách tiếp cận tự nhiên và hiệu quả nhất là dùng chính các agent này để kiểm thử. Điều này tạo ra một hệ sinh thái tự xác thực, nơi công cụ tự kiểm tra trong môi trường dự kiến.

VM0 cung cấp hạ tầng đám mây cần thiết để chạy các agent Claude Code và Codex ổn định, là nền tảng lý tưởng để triển khai chiến lược kiểm thử này.

Quy trình tự động kiểm thử kỹ năng AI agent từ đầu đến cuối

Quy trình kiểm thử kỹ năng tự động hoàn chỉnh được mô tả dưới đây. Agent này kiểm thử có hệ thống từng kỹ năng trong kho, tạo báo cáo toàn diện và thông báo cho nhóm qua nhiều kênh.

# 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

Cấu hình agent với vm0.yaml

Tiếp theo, bạn chỉ cần lên lịch cho VM0 chạy quy trình này. Tạo một tệp vm0.yaml để mô tả cấu hình container của agent. Tệp này chỉ định các kỹ năng agent cần, biến môi trường cần chèn và cách chạy quy trình kiểm thử.

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

Để xem tệp cấu hình đầy đủ, tham khảo vm0-skills/.vm0/vm0.yaml. Một số biến môi trường được lược bỏ trong ví dụ này cho ngắn gọn.

Cấu hình agent này bao gồm ba kỹ năng thiết yếu:

  • Kỹ năng GitHub: Thực hiện thao tác với kho, tạo issue và cập nhật README
  • Kỹ năng Slack: Đăng kết quả kiểm thử lên các kênh nhóm
  • Kỹ năng Discord: Thông báo cho cộng đồng về việc hoàn thành kiểm thử

Tạo Docker image

Bạn cũng cần cấu hình một Docker image cài đặt các phụ thuộc cần thiết, đặc biệt là GitHub CLI (gh) mà agent dùng để thao tác với kho.

Tạo một 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 này tạo một container nhẹ với:

  • Node.js 20: Môi trường chạy cho Claude Code
  • Git: Thực hiện thao tác quản lý mã nguồn
  • GitHub CLI: Tương tác API GitHub hiệu quả
  • Python 3: Chạy script kiểm thử kỹ năng
  • jq: Phân tích cú pháp JSON trong lệnh shell

Kết hợp hệ thống kiểm thử kỹ năng AI

Chỉ cần ba tệp: AGENTS.md, Dockerfile và vm0.yaml, bạn đã có hệ thống kiểm thử tự động hoàn chỉnh. Xem triển khai đầy đủ tại vm0-skills/.vm0.

Chạy các lệnh sau trong thư mục dự án để build và triển khai agent:

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

Lệnh đầu tiên build Docker image với đầy đủ phụ thuộc. Lệnh thứ hai đăng ký cấu hình agent với nền tảng VM0.

Chạy quy trình kiểm thử

Giờ bạn có thể chạy toàn bộ quy trình kiểm thử chỉ với một lệnh:

$ vm0 run skills-tester "do the job"

Agent sẽ tự động:

  1. Clone kho vm0-skills
  2. Tạo checklist kiểm thử cho tất cả kỹ năng
  3. Thực thi kiểm thử từng kỹ năng có hệ thống
  4. Tổng hợp kết quả toàn diện
  5. Cập nhật README của kho
  6. Tạo issue GitHub cho các lỗi
  7. Gửi thông báo lên Slack và Discord

Gỡ lỗi từng bước

Nếu muốn gỡ lỗi quy trình từng bước hoặc kiểm thử một kỹ năng trước, bạn có thể dùng prompt mục tiêu:

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

Sau khi agent hoàn thành bước đầu, bạn có thể tiếp tục phiên dựa trên session ID xuất ra:

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

Cách tiếp cận tương tác này cho phép bạn:

  • Xác minh từng bước trước khi tiếp tục
  • Kiểm tra kết quả trung gian
  • Điều chỉnh quy trình nếu cần
  • Gỡ lỗi hiệu quả hơn

Kết quả và thông báo

Sau khi quy trình hoàn tất, bạn sẽ nhận thông báo qua nhiều kênh xác nhận kết quả kiểm thử.

Thông báo cộng đồng Discord hiển thị tóm tắt hoàn thành kiểm thử

Thông báo nhóm Slack với kết quả kiểm thử chi tiết

Với bất kỳ kỹ năng nào kiểm thử thất bại, agent sẽ tự động tạo issue GitHub với chi tiết lỗi đầy đủ. Xem Skill Test Failures - Issue #2 để tham khảo định dạng issue được tạo.

Bài học chính từ tự động hóa kiểm thử kỹ năng AI agent

Triển khai kiểm thử kỹ năng tự động với agent VM0 mang lại nhiều lợi ích quan trọng:

  • Xác thực liên tục: Phát hiện thay đổi gây lỗi từ API bên thứ ba ngay lập tức, trước khi ảnh hưởng đến sản xuất
  • Môi trường kiểm thử thực tế: Agent kiểm thử kỹ năng đúng trong ngữ cảnh sử dụng, loại bỏ khoảng cách giữa kiểm thử và sản xuất
  • Không cần thao tác thủ công: Khi đã cấu hình, quy trình kiểm thử tự động chạy theo lịch, không cần can thiệp thủ công
  • Bao phủ toàn diện: Mọi kỹ năng đều được kiểm thử có hệ thống, đảm bảo không bỏ sót
  • Nhóm luôn được cập nhật: Thông báo đa kênh giúp mọi người nắm rõ kết quả kiểm thử và sự cố

Tận dụng hạ tầng đám mây của VM0 và khả năng của agent Claude, bạn có thể duy trì tích hợp ổn định với dịch vụ ngoài mà giảm thiểu gánh nặng bảo trì. Cách tiếp cận này biến kiểm thử kỹ năng từ quy trình thủ công, dễ lỗi thành hệ thống đảm bảo chất lượng hoàn toàn tự động.

Bắt đầu với VM0 ngay hôm nay

Sẵn sàng tự động hóa quy trình với AI agent? VM0 giúp bạn triển khai agent sẵn sàng sản xuất chỉ trong vài phút.

Bạn có thể xây dựng gì với VM0

  • Pipeline kiểm thử tự động

    Chạy các job kiểm thử định kỳ như kiểm thử kỹ năng này để phát hiện sớm thay đổi gây lỗi từ API bên thứ ba.

  • Quy trình tạo nội dung

    Biến nghiên cứu, ghi chú hoặc dữ liệu thô thành bài blog, tài liệu hoặc ghi chú phát hành mà không cần sao chép thủ công.

  • Agent xử lý dữ liệu

    Lấy dữ liệu từ nhiều nguồn, làm sạch và chuyển tiếp, đồng thời xử lý lỗi và thử lại rõ ràng.

  • Tự động hóa hỗ trợ khách hàng

    Phân loại yêu cầu đến, soạn phản hồi và chuyển trường hợp phức tạp cho con người khi cần.

  • Kiểm tra và phân tích mã

    Xem xét pull request, phát hiện vấn đề tiềm ẩn và áp dụng quy tắc cơ bản trước khi con người kiểm tra mã.

Truy cập vm0.ai để tạo tài khoản miễn phí và triển khai agent đầu tiên ngay hôm nay.

Bắt đầu xây dựng tương lai của quy trình tự động hóa.

Stay in the loop

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