ในรีโพซิทอรี vm0-ai/vm0-skills เราได้พัฒนาทักษะมากมายสำหรับการเชื่อมต่อกับแพลตฟอร์ม SaaS ของบุคคลที่สาม ทักษะเหล่านี้ช่วยให้ Claude Code และ Codex agent สามารถโต้ตอบกับบริการต่าง ๆ เช่น GitHub, Slack, Discord และอีกมากมายได้อย่างไร้รอยต่อ
แม้การเชื่อมต่อเหล่านี้จะมีคุณค่าอย่างยิ่ง แต่ก็สร้างความท้าทายด้านการทดสอบอย่างมาก หากไม่มีโครงสร้างพื้นฐานการทดสอบที่เหมาะสม เราไม่สามารถตรวจสอบได้อย่างน่าเชื่อถือว่าทักษะทำงานถูกต้องหรือไม่ หรือจะตรวจจับการเปลี่ยนแปลงที่ทำให้เกิดปัญหาเมื่อ API ของบุคคลที่สามเปลี่ยนแปลง
ทำไมการทดสอบทักษะ AI agent กับบริการภายนอกจึงยาก
การทดสอบการเชื่อมต่อกับบริการภายนอกเป็นเรื่องที่ท้าทายโดยธรรมชาติ ทักษะแต่ละอย่างขึ้นอยู่กับ API ภายนอกที่อาจเปลี่ยนแปลงโดยไม่แจ้งล่วงหน้า จำเป็นต้องเฝ้าระวังอย่างต่อเนื่องเพื่อรักษาความน่าเชื่อถือ การทดสอบแบบยูนิตทั่วไปมักไม่เพียงพอ เพราะไม่สามารถจำลองพฤติกรรม API จริง กระบวนการยืนยันตัวตน และกรณีขอบที่เกิดขึ้นเฉพาะในสภาพแวดล้อมจริงได้
หากไม่มีการทดสอบที่ครอบคลุม ปัญหาสำคัญหลายอย่างจะไม่ได้รับการแก้ไข:
- การตรวจสอบการทำงาน: เราไม่สามารถยืนยันได้ว่าทักษะทำงานตามที่ตั้งใจไว้ในสถานการณ์ใช้งานจริง
- การตรวจจับการเปลี่ยนแปลงที่ทำให้เกิดปัญหา: เมื่อ API ของ SaaS ภายนอกเปลี่ยนแปลง เราไม่มีวิธีอัตโนมัติในการระบุปัญหาความเข้ากันได้
- การตรวจสอบการยืนยันตัวตน: กระบวนการ OAuth, การรีเฟรชโทเคน และขอบเขตสิทธิ์ต้องได้รับการตรวจสอบอย่างต่อเนื่อง
- การจัดการข้อผิดพลาด: ต้องมั่นใจว่าระบบจะลดระดับการทำงานอย่างเหมาะสมเมื่อบริการภายนอกไม่พร้อมใช้งาน
สิ่งนี้สร้างภาระในการดูแลรักษาและความเสี่ยงด้านความน่าเชื่อถือที่อาจส่งผลต่อ workflow ในการผลิต
ใช้ AI agent ทดสอบทักษะ AI agent ในสภาพแวดล้อมจริง
เนื่องจากทักษะเหล่านี้ออกแบบมาโดยเฉพาะสำหรับ Claude Code และ Codex agent วิธีที่เป็นธรรมชาติและมีประสิทธิภาพที่สุดคือใช้ agent เหล่านี้ทดสอบทักษะด้วยตนเอง สร้างระบบที่ตรวจสอบตัวเองในสภาพแวดล้อมที่ตั้งใจใช้งาน
VM0 ให้โครงสร้างพื้นฐานคลาวด์ที่จำเป็นสำหรับการรัน Claude Code และ Codex agent อย่างน่าเชื่อถือ จึงเหมาะอย่างยิ่งสำหรับกลยุทธ์การทดสอบนี้
workflow อัตโนมัติแบบ end-to-end สำหรับทดสอบทักษะ AI agent
workflow การทดสอบทักษะอัตโนมัติแบบสมบูรณ์อธิบายไว้ด้านล่าง agent นี้จะทดสอบทักษะทุกตัวในรีโพซิทอรีอย่างเป็นระบบ สร้างรายงานที่ครอบคลุม และแจ้งทีมผ่านหลายช่องทาง
# 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
การตั้งค่า agent ด้วย vm0.yaml
ถัดไป เพียงแค่ตั้งเวลาให้ VM0 รัน workflow นี้ สร้างไฟล์ vm0.yaml เพื่ออธิบายการตั้งค่า container ของ agent ไฟล์นี้ระบุว่าต้องใช้ทักษะใด ตัวแปรสภาพแวดล้อมอะไรที่ต้องใส่ และจะรัน 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
สำหรับไฟล์ตั้งค่าฉบับสมบูรณ์ ดูที่ vm0-skills/.vm0/vm0.yaml ตัวแปรสภาพแวดล้อมบางตัวถูกละไว้เพื่อความกระชับ
การตั้งค่า agent นี้ประกอบด้วยทักษะสำคัญสามอย่าง:
- GitHub skill: สำหรับการจัดการรีโพซิทอรี การสร้าง issue และอัปเดต README
- Slack skill: สำหรับโพสต์ผลการทดสอบไปยังช่องทีม
- Discord skill: สำหรับแจ้งชุมชนเกี่ยวกับการเสร็จสิ้นการทดสอบ
การสร้าง Docker image
คุณต้องตั้งค่า Docker image ที่ติดตั้ง dependency ที่จำเป็น โดยเฉพาะ GitHub CLI (gh) ที่ agent ใช้สำหรับจัดการรีโพซิทอรี
สร้าง 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 นี้จะสร้าง container ขนาดเล็กที่มี:
- Node.js 20: สภาพแวดล้อมรันไทม์สำหรับ Claude Code
- Git: สำหรับการจัดการเวอร์ชัน
- GitHub CLI: สำหรับโต้ตอบกับ GitHub API อย่างมีประสิทธิภาพ
- Python 3: สำหรับรันสคริปต์ทดสอบทักษะ
- jq: สำหรับแปลง JSON ในคำสั่ง shell
รวมระบบทดสอบทักษะ AI agent เข้าด้วยกัน
เพียงเท่านี้! เมื่อมีไฟล์ทั้งสาม: AGENTS.md, Dockerfile และ vm0.yaml คุณก็จะได้ระบบทดสอบอัตโนมัติที่สมบูรณ์ ดูตัวอย่างการใช้งานเต็มที่ได้ที่ vm0-skills/.vm0
รันคำสั่งต่อไปนี้ในไดเรกทอรีโปรเจกต์ของคุณเพื่อ build และ deploy agent:
$ vm0 image build -f Dockerfile --name skills-tester
$ vm0 compose vm0.yaml
คำสั่งแรกจะ build Docker image พร้อม dependency ที่จำเป็นทั้งหมด คำสั่งที่สองจะลงทะเบียนการตั้งค่า agent กับแพลตฟอร์มของ VM0
การรัน workflow
ตอนนี้คุณสามารถรัน workflow การทดสอบทั้งหมดได้ด้วยคำสั่งเดียว:
$ vm0 run skills-tester "do the job"
agent จะดำเนินการโดยอัตโนมัติ:
- โคลนรีโพซิทอรี vm0-skills
- สร้าง checklist การทดสอบสำหรับทุกทักษะ
- รันทดสอบแต่ละทักษะอย่างเป็นระบบ
- สรุปผลลัพธ์อย่างครบถ้วน
- อัปเดต README ของรีโพซิทอรี
- สร้าง GitHub issue สำหรับทักษะที่ล้มเหลว
- ส่งการแจ้งเตือนไปยัง Slack และ Discord
การดีบักทีละขั้นตอน
หากต้องการดีบัก workflow ทีละขั้นหรือทดสอบทักษะเดียวก่อน สามารถใช้ prompt เฉพาะทางได้:
$ vm0 run skills-tester "Only do the first step, using a single skill."
หลัง agent ทำขั้นตอนแรกเสร็จ คุณสามารถดำเนินการต่อใน session เดิมโดยใช้ session ID ที่แสดงในผลลัพธ์:
$ vm0 run continue SESSION_ID "Do the next step."
วิธีแบบโต้ตอบนี้ช่วยให้คุณ:
- ตรวจสอบแต่ละขั้นก่อนดำเนินการต่อ
- ดูผลลัพธ์ระหว่างทาง
- ปรับ workflow ได้ตามต้องการ
- ดีบักปัญหาได้มีประสิทธิภาพยิ่งขึ้น
ผลลัพธ์และการแจ้งเตือน
เมื่อ workflow เสร็จสิ้น คุณจะได้รับการแจ้งเตือนผ่านหลายช่องทางเพื่อยืนยันผลการทดสอบ
การแจ้งเตือน Discord แสดงสรุปผลการทดสอบเสร็จสิ้น
การแจ้งเตือน Slack พร้อมรายละเอียดผลการทดสอบ
สำหรับทักษะที่ทดสอบไม่ผ่าน agent จะสร้าง GitHub issue พร้อมรายละเอียดข้อผิดพลาดโดยอัตโนมัติ ดูตัวอย่างรูปแบบ issue ที่สร้างได้ที่ Skill Test Failures - Issue #2
บทเรียนสำคัญจากการทดสอบทักษะ AI agent แบบอัตโนมัติ
การทดสอบทักษะอัตโนมัติด้วย VM0 agent ให้ประโยชน์สำคัญหลายประการ:
- การตรวจสอบอย่างต่อเนื่อง: ตรวจจับการเปลี่ยนแปลงที่ทำให้เกิดปัญหาจาก API ภายนอกได้ทันที ก่อนกระทบ production
- สภาพแวดล้อมทดสอบสมจริง: agent ทดสอบทักษะในบริบทเดียวกับที่ใช้งานจริง ลดช่องว่างระหว่างการทดสอบกับ production
- ไม่ต้องใช้แรงงานคน: เมื่อกำหนดค่าแล้ว workflow การทดสอบจะรันอัตโนมัติตามกำหนดเวลา ไม่ต้องมีคนดูแล
- ครอบคลุมทุกทักษะ: ทุกทักษะจะถูกทดสอบอย่างเป็นระบบ ไม่มีตกหล่น
- ทีมรับรู้ร่วมกัน: การแจ้งเตือนหลายช่องทางช่วยให้ทุกคนทราบผลการทดสอบและปัญหาต่าง ๆ
ด้วยการใช้โครงสร้างพื้นฐานคลาวด์ของ VM0 และความสามารถของ agent Claude คุณสามารถรักษาการเชื่อมต่อกับบริการภายนอกได้อย่างน่าเชื่อถือ พร้อมลดภาระดูแลรักษา วิธีนี้เปลี่ยนการทดสอบทักษะจากงานที่ต้องทำด้วยมือและเสี่ยงต่อข้อผิดพลาด เป็นระบบประกันคุณภาพอัตโนมัติเต็มรูปแบบ
เริ่มต้นใช้งาน VM0 ได้เลยวันนี้
พร้อมจะทำ workflow ของคุณให้เป็นอัตโนมัติด้วย AI agent แล้วหรือยัง? VM0 ช่วยให้คุณ deploy agent พร้อมใช้งานจริงได้ในไม่กี่นาที
สิ่งที่คุณสร้างได้ด้วย VM0
-
pipeline การทดสอบอัตโนมัติ
รันทดสอบตามกำหนดเวลา เช่นตัวทดสอบทักษะนี้ เพื่อจับการเปลี่ยนแปลงที่ทำให้เกิดปัญหาใน API ภายนอกแต่เนิ่น ๆ
-
workflow สร้างเนื้อหา
เปลี่ยนงานวิจัย โน้ต หรือข้อมูลดิบเป็นบล็อก โพสต์ เอกสาร หรือ release note โดยไม่ต้องคัดลอกวางเอง
-
agent ประมวลผลข้อมูล
ดึงข้อมูลจากหลายแหล่ง ทำความสะอาด และส่งต่อ พร้อมจัดการความล้มเหลวและการลองใหม่อย่างชัดเจน
-
ระบบอัตโนมัติสำหรับซัพพอร์ตลูกค้า
คัดแยกคำขอที่เข้ามา ร่างคำตอบ และส่งต่อกรณีซับซ้อนให้มนุษย์เมื่อจำเป็น
-
รีวิวและวิเคราะห์โค้ด
ตรวจสอบ pull request แจ้งเตือนปัญหาที่อาจเกิดขึ้น และบังคับใช้กฎพื้นฐานก่อนมนุษย์จะตรวจโค้ด
เยี่ยมชม vm0.ai เพื่อสร้างบัญชีของคุณฟรีและ deploy agent ตัวแรกของคุณได้เลย
เริ่มสร้างอนาคตของ workflow อัตโนมัติวันนี้





