คู่มือใช้งาน UAT Tester · ฝูงบอททดสอบ SML AI Account
UAT Tester คือเว็บที่ให้บอท 32 ตัวทดสอบโปรแกรมบัญชี SML AI Account (www.smlwork.com) ตามสคริปต์ทีละขั้น ทั้งหน้าจอ API และฐานข้อมูล Demo เจอปัญหาจะเปิด issue ใน IssueMate ให้เอง นักพัฒนาที่เป็น AI สั่งทดสอบซ้ำได้เองจนกว่าจะผ่าน ส่วนเพื่อนๆ เปิดดูผลได้ทุกหน้าโดยไม่ต้องล็อกอิน
ภาพที่ 1 · ภาพรวมระบบ

- ใครก็เปิดดูหน้าเว็บได้ แต่การสั่งรัน ตั้งค่า ถาม AI และส่ง issue ทำได้เฉพาะผู้ดูแลที่เข้าระบบด้วย Google
- AI นักพัฒนา (Claude Code / Antigravity) สั่งงานผ่านช่อง MCP ที่ /api/mcp โดยใช้ token
- ทุกคำสั่งรันเข้าคิวก่อน รันพร้อมกันได้สูงสุด 5 รอบ (ผู้ดูแลปรับได้ 1–10)
- ตัวรันทดสอบกับของจริงทั้งหมด: เว็บ www.smlwork.com (เข้าแบบ Demo) และฐาน PostgreSQL smldemo เท่านั้น
- รอบที่ไม่ผ่าน สมอง AI อ่านขั้นที่พังพร้อมภาพหน้าจอ แล้วระบบเปิด issue ในโปรเจกต์ SMLAIACC ของ IssueMate
ภาพที่ 2 · วงจร AI แก้ → ทดสอบ → แจ้ง → แก้ซ้ำ

- AI แก้โปรแกรมเสร็จ เรียกคำสั่ง run ผ่าน MCP แล้วรอผลได้ถึง 90 วินาที หรือติดตามด้วย events
- ผ่าน: ถ้าเคยมี issue ระบบคอมเมนต์ใน issue เดิมว่าตรวจซ้ำผ่านแล้ว หน้าเว็บขึ้นป้ายพร้อมพลุกระดาษ
- ไม่ผ่าน: สมอง AI เขียนสาเหตุที่น่าจะเป็น (เป็นการคาดเดา ต้องตรวจโค้ดจริงเสมอ) แล้วเปิด issue พร้อมขั้นตอนทำซ้ำ ภาพ และ run.json
- ระดับปัญหาแปลงเป็นความสำคัญของ issue: S1→critical, S2→high, S3→medium, S4→low · ปัญหาเดิมไม่เปิด issue ซ้ำ
- AI แก้ตาม issue แล้วสั่ง run แบบระบุเลข issue ระบบรันซ้ำเฉพาะสคริปต์ของ issue นั้น วนจนผ่าน
ภาพที่ 3 · ข้างในการรันสคริปต์ 1 รอบ

- สคริปต์ทดสอบเป็นไฟล์ JSON ในโฟลเดอร์ uat-scripts (ตอนนี้ 31 ชุด) AI เพิ่มเองได้ด้วยคำสั่ง save_script
- หน้าจอ (ui.*): Chrome ผ่าน Playwright เปิดเมนู กรอก กด แล้วตรวจข้อความ/ค่า และถ่ายภาพจอสดให้การ์ดบอท
- จอต้องสะอาด (ui.expectClean): ห้ามมี HTTP 4xx/5xx ห้ามมี error ใน JS/console และห้ามมีข้อความ error ฐานข้อมูลบนจอ
- API (api.request) ตรวจสถานะ HTTP และค่าใน JSON · ฐานข้อมูล (db.query / db.exec) ตรวจทีละแถว แตะได้เฉพาะ smldemo
- ขั้น cleanup รันเสมอแม้ขั้นหลักพัง ผลทุกรอบเก็บใน runs/<id>/run.json พร้อมภาพและไฟล์หลักฐาน
วิธีดูหน้าเว็บ (สำหรับเพื่อนๆ)
- การ์ดบอท
- หน้าแรกมีการ์ด 30 ใบ เรียงบอทที่กำลังรันก่อน แล้วตามเวลาทำงานล่าสุด จอบนการ์ดคือภาพหน้าจอล่าสุด แถบล่างบอกว่ากำลังทำขั้นไหน ป้ายแดง "สด" แปลว่ากำลังรันอยู่
- ดูทุกขั้นตอน
- กดที่จอบนการ์ด จะเปิดรอบการรันนั้น เห็นทุกขั้น ค่าที่คาดหวังเทียบค่าที่ได้จริง และภาพหลักฐาน
- ไฟสถานะด้านบน
- บอกว่าเว็บ ERP, ฐาน Demo, สมอง AI และ IssueMate พร้อมใช้งานหรือไม่
- ปุ่ม ▶ และ ✨
- ▶ รันสคริปต์ของบอทตัวนั้น · ✨ สั่งบอท AI ให้วางแผนหรือชี้จุดเสี่ยง ทั้งสองปุ่มใช้ได้เฉพาะผู้ดูแล คนอื่นจะได้ข้อความ "ดูได้อย่างเดียว"
- แอนิเมชัน
- มีคำสั่งจาก AI เข้ามาจะมีลำแสงพุ่งจากมุมขวาบน รอบจบขอบจอเรืองเขียว (ผ่าน) หรือกะพริบแดง (ไม่ผ่าน)
เชื่อม AI ผ่าน MCP (สำหรับนักพัฒนา)
ปลายทาง https://uat.smlwork.com/api/mcp (HTTP, JSON-RPC) ยืนยันตัวด้วยหัว Authorization: Bearer <token> ขอ token จากผู้ดูแล มีคำสั่ง 7 ตัว:
| status | สุขภาพระบบ ค่าตั้ง จำนวนสคริปต์ รอบที่กำลังรัน |
| scripts | รายการสคริปต์ หรืออ่านไฟล์สคริปต์ตาม id |
| save_script | เพิ่ม/แก้สคริปต์ (ตรวจรูปแบบก่อนบันทึก) |
| run | สั่งรันตามสคริปต์ / บอท / โมดูล / ทั้งหมด หรือตามเลข issue แล้วรอผล |
| runs | ดูรอบการรัน ผลละเอียด หยุด หรือส่งเข้า IssueMate |
| events | ฟีดเหตุการณ์แบบรอได้ (long-poll) |
| notify | ส่งข้อความขึ้นหน้าเว็บ |
คำถามที่พบบ่อย
ทำไมบอทมี 32 ตัว
10 โมดูล (ข้อมูลหลัก งานขาย งานซื้อ สต็อก บัญชี GL ภาษี รายงาน สิทธิ์ความปลอดภัย แอดมิน กระทบยอด) × 3 มุมตรวจ (หน้าจอ ฐานข้อมูล API) + เงินสด/ธนาคาร 2 มุม (หน้าจอ ฐานข้อมูล)
ทดสอบกับข้อมูลลูกค้าจริงไหม
ไม่ ตัวรันยอมให้แตะเฉพาะฐาน Demo ชื่อ smldemo และเข้าเว็บด้วยปุ่ม Demo
บทวิเคราะห์ของสมอง AI เชื่อได้แค่ไหน
เป็นการคาดเดาจากขั้นที่พังและภาพหน้าจอ ต้องตรวจโค้ดจริงก่อนแก้ทุกครั้ง
ทำไมกดรันไม่ได้
การสั่งงานต้องเข้าระบบด้วย Google บัญชีผู้ดูแล คนอื่นดูผลได้ทุกหน้าแต่สั่งงานไม่ได้
จะเปิด issue ซ้ำไหม
ไม่ ระบบจำสคริปต์และขั้นที่พังที่ส่งไปแล้ว เมื่อสคริปต์กลับมาผ่านจึงล้างรายการและคอมเมนต์ใน issue เดิม