นี่คือ Checklist ถามตัวเองก่อนให้ AI Agent เขียน Code ระบบ
🧱 หมวดที่ 1: ภาพรวมระบบ (Big Picture)
- เป้าหมายหลักของระบบนี้คืออะไร? (ตอบให้จบใน 1 ประโยค)
- ผู้ใช้งานหลักคือใคร? (End-user, Admin, API Client, ฯลฯ)
- ระบบนี้จะแทนที่หรือต่อยอดจากระบบเดิมหรือไม่? (ถ้าใช่ มีอะไรที่ต้องรักษาไว้บ้าง?)
- มีข้อจำกัดด้านเวลา/ทรัพยากรไหม? (Deadline, RAM, CPU, Storage)
🧩 หมวดที่ 2: Functional Requirements (ระบบต้องทำอะไรได้บ้าง)
- List User Story หรือ Use Case ทั้งหมด (เช่น "ผู้ใช้สามารถสมัครสมาชิกได้")
- เรียงลำดับความสำคัญของฟีเจอร์ (Must-have / Should-have / Nice-to-have)
- แต่ละฟีเจอร์มี Input / Process / Output อะไรบ้าง?
- มี workflow หรือลำดับขั้นตอนที่ชัดเจนหรือไม่? (ถ้ามี ให้ว่าง่ายๆ ไว้)
📦 หมวดที่ 3: ข้อมูลและโครงสร้างข้อมูล (Data)
- ต้องใช้ข้อมูลอะไรบ้าง? (ประเภท, แหล่งที่มา, รูปแบบ)
- มี Entity / Object หลักอะไรบ้าง? (เช่น User, Order, Product)
- ความสัมพันธ์ระหว่าง Entity เป็นอย่างไร? (One-to-Many, Many-to-Many)
- ต้องการ Database หรือไม่? (ถ้าใช่: RDBMS หรือ NoSQL, Schema เบื้องต้น)
- มีข้อมูลตัวอย่าง (Sample Data) หรือ Mockup ไหม?
🔐 หมวดที่ 4: ความปลอดภัยและการควบคุมสิทธิ์ (Security & Auth)
- ต้องมีระบบ Login หรือไม่? (ถ้าใช่: OAuth, JWT, Session?)
- มีบทบาทผู้ใช้หรือไม่? (Admin, User, Guest, Manager)
- ข้อมูลใดบ้างที่ต้องเข้ารหัส? (รหัสผ่าน, เลขบัตร, PII)
- ต้องมี Rate Limiting / Throttling หรือไม่?
- ต้องมีการ Validate Input อะไรบ้าง? (เช่น อีเมล, เบอร์โทร)
🌐 หมวดที่ 5: สถาปัตยกรรมและเทคโนโลยี (Tech Stack)
- ใช้ภาษาและ Framework อะไร? (เช่น Python + FastAPI, JavaScript + React)
- รูปแบบระบบเป็นแบบไหน? (Monolith, Microservices, Serverless)
- ต้องมี API หรือไม่? (REST, GraphQL, gRPC)
- Frontend กับ Backend แยกกันหรือรวม?
- ต้องเชื่อมต่อกับระบบภายนอกหรือไม่? (Payment Gateway, Email Service, ฯลฯ)
🧪 หมวดที่ 6: การจัดการข้อผิดพลาดและ Logging
- ต้องมี Error Handling แบบใด? (แสดงผล user-friendly, Log ไว้ดู)
- ต้องมีระบบ Log หรือไม่? (ระดับไหน: Info, Warning, Error)
- กรณีเกิด error ต้องแจ้งใครหรือไม่? (เช่น ส่งไป Slack, Email)
- มีกรณี Edge Cases ที่ต้องเตรียมรับมือหรือไม่? (เช่น อัปโหลดไฟล์ใหญ่, คิวเต็ม)
⚙️ หมวดที่ 7: Performance และ Scalability
- จำนวนผู้ใช้งานสูงสุดโดยประมาณ? (Concurrent Users)
- ต้องรองรับปริมาณข้อมูลเท่าไหร่? (เช่น 10,000 records, 1 TB)
- ต้องมี Caching หรือไม่? (Redis, CDN)
- ต้องทำ Asynchronous / Background Job หรือไม่? (Celery, BullMQ)
🧹 หมวดที่ 8: Code Quality และมาตรฐาน
- ต้องมี Code Convention หรือ Style Guide อะไรไหม? (PEP8, ESLint)
- ต้องมี Unit Test / Integration Test หรือไม่? (ครอบคลุมเท่าไหร่)
- ต้องมี Documentation ใน Code หรือไม่? (Docstring, JSDoc)
- ต้องมี API Documentation หรือไม่? (Swagger, Postman)
🚀 หมวดที่ 9: Deployment และ Environment
- ระบบจะ Deploy ที่ไหน? (Cloud, On-prem, Docker)
- มี Environment กี่ระดับ? (Dev, Staging, Prod)
- ต้องมี Environment Variables อะไรบ้าง? (Database URL, Secret Key)
- ต้องมี CI/CD หรือไม่?
- ต้องมี Migration / Seed Data ครั้งแรกหรือไม่?
📝 หมวดที่ 10: สิ่งที่ควรมีก่อนสั่ง AI (Input สำหรับ Prompt)
- มีตัวอย่าง Input/Output ที่ชัดเจนแล้วหรือยัง?
- มี Wireframe / Mockup UI หรือยัง? (ถ้ามี Frontend)
- มี API Spec หรือ OpenAPI File หรือยัง? (ถ้ามี API)
- มี Database Schema หรือ ER Diagram หรือยัง?
- มี Code Base เดิมที่ต้องใช้งานร่วมด้วยหรือไม่? (ถ้าใช่ แนบไฟล์หรือบอกโครงสร้าง)
- ระบุแล้วว่า AI ควรเขียนอะไรบ้าง และอะไรที่เราจะเขียนเอง
✅ สุดท้าย: ก่อนส่ง Prompt
- เราแบ่งงานเป็น Sprint / Phase ได้หรือยัง? (ให้ AI ทำทีละส่วนดีกว่าทำทั้งหมด)
- เราเขียน Prompt เป็นภาษาไทยหรืออังกฤษ? (เลือกให้ชัดเจน)
- เราได้กำหนด "รูปแบบคำตอบ" ที่ต้องการจาก AI หรือยัง? (เช่น ให้อธิบายก่อน, ให้แค่ Code, ให้มี Test ด้วย)
ถ้าตอบครบทุกข้อนี้ได้ >80% แสดงว่าคุณพร้อมที่จะให้ AI Agent เขียน Code อย่างมีประสิทธิภาพแล้วครับ 🚀
ภาพประกอบ: https://www.pexels.com/photo/digital-checklist-on-tablet-with-stylus-33349191/