ช่วงที่ 1: การจัดการความปลอดภัยและกฎเหล็กควบคุมคุณภาพ AI (09:00 - 10:30)
"AI ช่วยให้เราเขียนโค้ดเร็วขึ้น 10 เท่า แต่ก็สามารถสร้างช่องโหว่ได้เร็วขึ้น 10 เท่าเช่นกัน"
สถิติพบว่า 89.1% ของโค้ด AI มี Code Smells ที่อาจนำไปสู่ช่องโหว่
ประมาณ 5.1% ของโค้ด AI แฝงปัญหาด้านความปลอดภัยที่รุนแรง
AI มักเขียน Query แบบ String Concatenation หากไม่ระบุให้ใช้ ORM
การเรียกใช้คำสั่งระบบ (Shell) ที่รับค่าจาก User โดยตรง
การใช้ try-except แบบกว้างเกินไป ทำให้ช่องโหว่ถูกซ่อนไว้
จาก SRS.md ระบบของเรามีจุดที่ต้องระวังเป็นพิเศษดังนี้:
- ข้อมูลลูกค้าคือทรัพย์สิน
- หากถูก SQLi ข้อมูลเบอร์โทร/ค่าไฟจะหลุดทั้งหมด
- หาก AI ลืมเก็บ Consent
- บริษัทจะมีความเสี่ยงทางกฎหมายทันที
คือการกำหนด "กรอบพฤติกรรม" และ "กฎเหล็ก" เพื่อให้ AI Agent ทำงานอยู่ภายใต้มาตรฐานความปลอดภัยที่ทีมกำหนด
ไฟล์ที่บรรจุกฎเฉพาะของโปรเจกต์ ซึ่ง Antigravity จะอ่านทุกครั้งก่อนเริ่มงาน
# System Context Rules
- สถาปัตยกรรม: Django + React เท่านั้น
- มาตรฐาน: ต้องมี Type Hints และ Docstrings เสมอ
- ความปลอดภัย: ห้ามใช้ SQL ธรรมดา ต้องใช้ Django ORM
เขียนกฎลงใน .clinerules
AI ทำงานตามกฎ
ตรวจสอบด้วย /verify
กฎที่ต้องใส่ใน .clinerules:
"ห้ามใช้ฟังก์ชัน execute() กับ String Formatting ในการดึงข้อมูล Lead ให้ใช้ Django Filter หรือ Get เสมอ"
"การบังคับใช้กฎในระดับ Governance จะช่วยลดการ Review ซ้ำซ้อนได้ถึง 40%"
เราจะสอนให้ AI "เข้าใจกฎหมาย" ผ่านกฎเทคนิค
"ทุก Lead Model ต้องมีฟิลด์ pdpa_accepted (Boolean) และประทับเวลาที่กดยอมรับ"
"หน้าลงทะเบียน SolarCorp ต้องมี Link นโยบายความเป็นส่วนตัวและ Checkbox ที่บังคับติ๊ก"
เรียกใช้ Security Subagent ใน Antigravity เพื่อสแกนโค้ดทั้งโปรเจกต์
"อย่ากด Accept ถ้ายังไม่ได้อ่านโค้ดความปลอดภัย"
Antigravity มีระบบ Sandbox เพื่อแยกส่วนการรันโค้ดที่อันตราย
จำกัดสิทธิ์การเข้าถึงไฟล์ระบบเมื่อ AI รันคำสั่ง
บังคับให้ Agent ต้องขออนุญาตก่อนรันโค้ดที่แก้ไขระบบสำคัญ
❌ ห้าม:
SECRET_KEY = "solar-corp-super-secret" (ใน settings.py)
✅ ถูกต้อง:
SECRET_KEY = os.environ.get("DJANGO_SECRET_KEY")
"เราจะใช้ .env และ .gitignore เพื่อป้องกันความลับรั่วไหลสู่ GitHub"
ลงมือปฏิบัติการทำ Team Governance
1. เปิดไฟล์ .clinerules ในโปรเจกต์ของคุณ
2. เพิ่มกฎ **Security Rule** เพื่อป้องกัน SQL Injection
3. เพิ่มกฎ **Compliance Rule** สำหรับ PDPA Consent (FR-1.4)
4. สั่ง AI: "ช่วยสแกนโค้ดปัจจุบันว่าขัดต่อกฎใหม่ที่เราเพิ่งเขียนไหม?"
โค้ดที่ "รันผ่าน" แต่แฝงความไร้ระเบียบที่จะเป็นภาระในอนาคต
"Governance ไม่ใช่แค่เรื่อง Security แต่คือเรื่อง Maintainability ด้วย"
ใช้ AI ช่วยวิเคราะห์ว่าเราสั่งงานพลาดตรงไหน
"สรุปความผิดพลาดที่เกิดขึ้นในการพัฒนาเมื่อวาน และเสนอวิธีปรับปรุงกฎใน .clinerules เพื่อไม่ให้เกิดซ้ำ"
"การเรียนรู้จากความผิดพลาดคือหัวใจของ Orchestrator"
เมื่อมีคนทำงานร่วมกันมากขึ้น กฎต้องชัดเจนขึ้น
🎯 **Shared Rules:** ทุกคนในทีมใช้ไฟล์ .clinerules ชุดเดียวกัน
🎯 **Automated PR Review:** ใช้ AI สแกน Pull Request ตามกฎที่ตั้งไว้
🎯 **Continuous Audit:** ตรวจสอบประวัติการอนุมัติโค้ด (Audit Trail)
"ข้อมูลลูกค้าต้องถูกเก็บเป็นความลับและเข้าถึงได้เฉพาะทีมขายระดับ Admin เท่านั้น"
"Only classes inheriting from IsAuthenticatedAdmin can access lead-detail API"
เราใช้ 3 ชั้นการป้องกันเพื่อความปลอดภัยสูงสุด:
Prevent: ตั้งกฎใน .clinerules
Scan: ใช้คำสั่ง /security-scan
Review: มนุษย์รีวิวโค้ดก่อน Accept
เคส: AI เขียนโค้ดเรียกใช้ subprocess โดยไม่มีการทำ Sanitization ทำให้ระบบถูกรีโมทสั่งการได้
วิธีแก้ไขผ่าน Governance:
"เพิ่มกฎใน .clinerules ว่า 'ห้ามใช้ shell=True ใน subprocess.run() โดยเด็ดขาด'"
"มีข้อสงสัยเรื่องการเขียนกฎควบคุม AI หรือประเด็น PDPA ไหมครับ?"
ซอฟต์แวร์ที่ดีต้องไม่เพียงแต่รันได้ แต่ต้องไม่สร้างอคติหรือละเมิดสิทธิผู้ใช้
กฎพื้นฐานขององค์กร
กฎเฉพาะของโครงการ SolarCorp
กฎชั่วคราวสำหรับงานชิ้นปัจจุบัน
"ลองจงใจเขียนกฎที่ขัดแย้งกันใน .clinerules และรัน Agent ดูว่า Antigravity จะมีปฏิกิริยาอย่างไร?"
"นี่คือการฝึกฝน Conflict Detection เพื่อเข้าใจขีดจำกัดของระบบ"
เมื่อมีกฎเหล็กแล้ว ช่วงถัดไปเราจะใช้ AI สร้างเกราะป้องกันด้วย
**Defensive Coding & Automated Testing**
"พักสายตาให้พร้อม สำหรับการสร้างระบบทดสอบอัตโนมัติ"