SE บทที่ 4 — สั่งงาน AI Coding ให้เป๊ะและปลอดภัย · สั่งชัด อ่านออก คุมได้
ใช้ปุ่ม ← → เปลี่ยนสไลด์ได้SE TRACK — MODULE 4 · สั่งงาน AI CODING
สั่งงาน AI Coding ให้เป๊ะและปลอดภัย
เคยไหม — สั่ง AI แก้จุดเดียว แต่มันตอบกลับมาว่า "Done! I'm confident this works — I've updated 12 files." แล้วเราก็ได้แต่นั่งลุ้นว่า 12 ไฟล์นั้นมีไฟล์ที่ไม่ควรแตะปนอยู่ไหม บทนี้สอนวิธีสั่งให้ชัดตั้งแต่แรก และอ่านคำตอบของ AI ให้ออกว่าประโยคไหนปลอดภัย ประโยคไหนต้องยกมือหยุดก่อน
ไม่ต้องเขียนโค้ดเป็นแม้แต่บรรทัดเดียว — บทนี้สอน "ภาษาหัวหน้างาน": สั่งเป็น อ่านรายงานเป็น และรู้จังหวะที่ต้องเบรก
ทำไมต้องรู้
AI คือเด็กฝึกงานที่เก่งที่สุดที่เคยมี — แต่ยังเป็นเด็กฝึกงาน
01สั่งชัด — ทำดีเกินคาด
- บอกเป้าหมาย ขอบเขต และข้อห้ามครบ → ได้งานระดับมืออาชีพในไม่กี่นาที
- เหมือนเด็กฝึกงานเก่ง ๆ ที่ได้ brief ดี
02สั่งคลุมเครือ — เดาแล้วมั่ว
- "ช่วยปรับหน้าร้าน Shopee ให้ดีขึ้นหน่อย" → AI เดาเองว่า "ดีขึ้น" แปลว่าอะไร แล้วแก้ในจุดที่เราไม่ได้ตั้งใจ
- งานเสียไม่ใช่เพราะ AI ไม่เก่ง แต่เพราะคำสั่งเปิดช่องให้เดา
03บางทีมั่วอย่างมั่นใจ
- AI ตอบผิดด้วยน้ำเสียงมั่นใจเต็มร้อยได้ — อาการนี้มีชื่อเรียก เดี๋ยวเจอในบทนี้
- หัวหน้าที่ดีจึงไม่เชื่อคำพูด แต่เชื่อหลักฐาน
MENTAL MODEL ประจำบท
"อ่านก่อนแก้ · แผนก่อนลงมือ · หลักฐานก่อนเชื่อ" — เด็กฝึกงานเก่งแค่ไหน งานทุกชิ้นก็ต้องมีหัวหน้าตรวจ และหัวหน้าคนนั้นคือเรา
ศัพท์ชุดที่ 1 · 6 คำ
ภาษาที่ใช้ "สั่งงาน" AI
PROMPTใบสั่งงาน
- ข้อความคำสั่งที่เราส่งให้ AI — คุณภาพงานขึ้นกับคุณภาพใบสั่งนี้โดยตรง
CONTEXTข้อมูลประกอบ
- สิ่งที่ AI ใช้ทำความเข้าใจงาน: ไฟล์โค้ด ข้อมูลธุรกิจ ข้อความ error
- เหมือน brief เด็กฝึกงาน — ยิ่งให้บริบทครบ ยิ่งเดาน้อย
CONSTRAINTข้อห้าม
- สิ่งที่ห้ามทำ เช่น "ห้ามแตะระบบจ่ายเงิน" "ห้ามเพิ่มเครื่องมือใหม่โดยไม่บอก"
- AI: "given the constraints…"
TOKENหน่วยนับข้อความ
- AI อ่าน-เขียนเป็นชิ้นคำเล็ก ๆ เรียกว่า token — ใช้นับปริมาณงานและค่าใช้จ่าย
CONTEXT WINDOWความจุสมองต่อรอบ
- ปริมาณข้อมูลสูงสุด (นับเป็น token) ที่ AI พิจารณาได้ในครั้งเดียว
- งานใหญ่มากจึงควรหั่นเป็นงานย่อย — ยัดทีเดียวหมดไม่ได้
SCOPE CONTROLล้อมคอกพื้นที่งาน
- กำหนดชัดว่าแก้ไฟล์ไหนได้ ไฟล์ไหนห้ามแตะ
- ยาแก้อาการ "แก้จุดเดียวแต่ลาม 12 ไฟล์" ตรงที่สุด
ตัวอย่างจริง: "แก้เฉพาะข้อความในหน้าโปรโมชัน ห้ามแตะระบบตะกร้าสินค้าและไฟล์อื่นทั้งหมด" — หนึ่งประโยคนี้คือ Constraint + Scope Control พร้อมกัน
Workflow มาตรฐาน · หัวใจของการคุมงาน
4 จังหวะทำงานกับ AI แบบไม่มีเซอร์ไพรส์
สั่งให้ AI สำรวจและอธิบายระบบ โดยยังห้ามแก้ไฟล์ใด ๆ ทั้งสิ้น
ให้ AI เสนอแผนเป็นขั้น ๆ ว่าจะแก้อะไร ไฟล์ไหน — แล้วรอเราอนุมัติ
ทำตามแผนเป็นชิ้นเล็ก ๆ ไม่ใช่รวดเดียว 12 ไฟล์ — หลุดแผนเมื่อไหร่เบรกได้ทัน
ให้ AI รันการทดสอบและโชว์ผลจริง — ไม่ใช่รับคำว่า "มั่นใจว่าเวิร์ก" เฉย ๆ
สังเกต: จังหวะ 1–2 คือการ "ยังไม่ให้จับของจริง" เหมือนให้เด็กฝึกงานเดินดูหน้าร้าน + เสนอแผนก่อน แล้วเราค่อยปล่อยมือ — ความปลอดภัยเกือบทั้งหมดของบทนี้อยู่ที่การไม่ข้าม 2 จังหวะแรก
ศัพท์ชุดที่ 2 · 6 คำ
ภาษาฝั่ง "กันพลาด" — เมื่อ AI อาจมั่วหรือเกินขอบเขต
HALLUCINATIONมั่วอย่างมั่นใจ
- AI แต่งข้อมูล ชื่อฟังก์ชัน หรือข้อเท็จจริงที่ดูน่าเชื่อแต่ไม่มีจริง
- ไม่ใช่ความผิดปกติที่แก้ขาดได้ — เป็นธรรมชาติของ AI ที่ต้องมีระบบตรวจรองรับ
GROUNDINGผูกกับของจริง
- ให้คำตอบอ้างอิงแหล่งที่ตรวจสอบได้ เช่น โค้ดจริง เอกสารจริง ผลทดสอบจริง
- ยากันมั่ว: "ตอบโดยอ้างจากไฟล์ในโปรเจกต์เท่านั้น"
VERIFICATIONตรวจด้วยหลักฐาน
- พิสูจน์ว่างานถูกจริง ด้วยการรันทดสอบ/รันระบบจริง — ไม่ใช่ฟังคำยืนยัน
- AI: "all tests pass" พร้อมผลลัพธ์ = หลักฐาน · "I'm confident" เฉย ๆ = ยังไม่ใช่
GUARDRAIL · APPROVAL GATEรั้วกั้น + ด่านขออนุมัติ
- Guardrail = กฎจำกัดสิ่งที่ AI ทำได้ · Approval Gate = จุดที่ AI ต้องหยุดถามเราก่อนทำเรื่องสำคัญ
- เด้งถามบ่อย = ระบบทำงานปกติ ไม่ใช่ระบบพัง
HITL · SANDBOXคนอยู่ในวงจร + สนามซ้อม
- Human-in-the-loop = มีคนตรวจ/อนุมัติก่อนขั้นสำคัญเสมอ — คนนั้นคือเรา
- Sandbox = พื้นที่แยกไว้รันทดลอง พังก็ไม่กระทบร้านจริง
PROMPT INJECTIONคำสั่งแฝงหลอก AI
- ข้อความแฝงในไฟล์/เว็บที่ AI ไปอ่าน พยายามหลอกให้มันทำนอกคำสั่งเรา
- เหตุผลที่ "AI ขออนุมัติก่อนทำ" สำคัญ — ให้คนเห็นก่อนเสมอ
ศัพท์ที่จะเริ่มได้ยินบ่อยขึ้น (รู้ไว้พออ่านออก ยังไม่ต้องลงลึก): Agent = AI ที่รับเป้าหมายแล้ววางแผน-ลงมือ-ตรวจผลเองเป็นรอบ ๆ · Tool Calling = AI ขอเรียกใช้เครื่องมือภายนอก · MCP = มาตรฐานกลางสำหรับเสียบ AI เข้ากับไฟล์และระบบต่าง ๆ
เครื่องมือประจำตัว
ใบสั่งงาน 8 ช่อง — โครงสร้าง Prompt สำหรับงานโค้ด
# ตัวอย่างจริง: สั่งทำระบบแจ้งเตือนสต๊อกใกล้หมดผ่าน LINE OA Goal: เพิ่มระบบแจ้งเตือน "สต๊อกใกล้หมด" ส่งเข้า LINE OA ของร้าน Context: ระบบสต๊อกปัจจุบันอยู่ในไฟล์ stock.js · สินค้า ~500 รายการ Requirements: แจ้งเตือนเมื่อสินค้าเหลือต่ำกว่า 10 ชิ้น · สรุปวันละ 1 ครั้ง Constraints: ห้ามแก้โครงสร้างฐานข้อมูล · ห้ามเพิ่มเครื่องมือภายนอก (dependency) ใหม่ · ห้ามแตะไฟล์นอก scope Acceptance Criteria: สินค้าเหลือ 9 ชิ้น → มีข้อความแจ้งเข้า LINE ภายใน 1 นาที Tasks: อ่านโค้ดแบบ read-only ก่อน → เสนอแผน → รอผมอนุมัติ → ค่อยลงมือ Verification: รันชุดทดสอบทั้งหมด แล้วแสดงผลลัพธ์ให้ดู Output Format: สรุปรายการไฟล์ที่แก้ + สิ่งที่เปลี่ยนในแต่ละไฟล์
ไม่ต้องครบ 8 ช่องทุกครั้ง — งานเล็กใช้แค่ Goal + Constraints ก็ได้ แต่ช่องที่ห้ามหายบ่อยที่สุดคือ Constraints เพราะมันคือรั้วกันเดา · สังเกตว่า Tasks ฝัง workflow 4 จังหวะจากสไลด์ก่อนไว้ในตัว
ศัพท์ชุดที่ 3 · 8 คำ
คำกริยาสั่งงาน — พูดคำเดียว AI รู้เลยว่าต้องทำแค่ไหน
| คำกริยา | แปลว่า | ใช้ตอนไหน |
|---|---|---|
| Inspect | อ่านและสำรวจระบบ — ยังไม่แก้อะไร | เริ่มงานใหม่ทุกครั้ง (จังหวะ read-only) |
| Explain | อธิบายว่าโค้ด/ระบบส่วนนี้ทำอะไร | อยากเข้าใจของที่ AI หรือคนเก่าทำไว้ |
| Refactor | จัดระเบียบโค้ดใหม่ โดยพฤติกรรมเดิมต้องไม่เปลี่ยน | โค้ดเริ่มรก แต่ระบบยังต้องทำงานเหมือนเดิมเป๊ะ |
| Review | ตรวจคุณภาพและความเสี่ยงของงาน | ก่อนอนุมัติงานชิ้นใหญ่ — ให้ AI อีกรอบช่วยตรวจงานตัวเอง |
| Verify | พิสูจน์ด้วยหลักฐานว่าผลลัพธ์ถูกจริง | ทุกครั้งที่ AI บอกว่า "เสร็จแล้ว" |
| Do Not Modify | ห้ามแตะส่วนนี้เด็ดขาด | ล้อมคอกไฟล์สำคัญ เช่น ระบบจ่ายเงิน |
| Preserve Behavior | แก้ข้างในได้ แต่พฤติกรรมที่ผู้ใช้เห็นต้องเหมือนเดิม | คู่กับ Refactor — กันเผลอเปลี่ยนของที่ลูกค้าใช้อยู่ |
| Propose Alternatives | เสนอหลายทางเลือกพร้อมข้อดี-ข้อเสีย | งานที่มีหลายวิธีทำ — เราอยากเป็นคนเคาะเอง |
สูตรผสมที่ใช้บ่อยจริง: "Inspect first, then propose alternatives. Do not modify anything yet." — ประโยคเดียว ล็อกทั้งลำดับงานและความปลอดภัย
⭐ หัวใจของบท
ตารางแปลภาษา AI — ได้ยินแบบนี้ ต้องทำยังไง
| AI พูดว่า | กำลังจะเกิดอะไร | เราควรทำอะไร |
|---|---|---|
| "Let me explore the codebase first" | ขออ่านสำรวจก่อน ยังไม่แตะไฟล์ใด ๆ | ✅ ปล่อยเลย — read-only คือโหมดปลอดภัยที่สุด |
| "Here's my plan — approve before I edit" | เสนอแผนและหยุดรอเราอนุมัติก่อนแก้จริง | ✅ ดีที่สุด — อ่านแผนทีละข้อ ตัดข้อที่เกิน scope ออกก่อนอนุมัติ |
| "I'll need permission to run this command" | ถึงด่านขออนุมัติ (Approval Gate) — คำสั่งนี้มีผลจริงต่อระบบ | 🟡 อ่านคำสั่งก่อนกดอนุมัติ — ไม่เข้าใจให้ถามว่า "คำสั่งนี้ทำอะไร เสี่ยงตรงไหน" |
| "This file is outside my allowed scope" | AI ชนรั้วที่เราตั้งไว้ แล้วหยุดตามกติกา | ✅ ข่าวดี — guardrail ทำงาน · ถ้าจำเป็นจริงค่อยขยาย scope ให้เป็นครั้ง ๆ |
| "I'm confident this works" | รายงานความมั่นใจ — แต่ยังไม่มีหลักฐานแนบ | 🟡 ความมั่นใจไม่ใช่หลักฐาน — สั่งต่อ: "Verify — run the tests and show me the results" |
| "The library has a built-in function for that" | อ้างถึงของที่อาจมีจริง…หรืออาจ hallucinate ก็ได้ | 🟡 ให้ชี้แหล่งอ้างอิง: "โชว์เอกสารหรือโค้ดจริงที่ยืนยันว่ามีฟังก์ชันนี้" |
| "While I'm here, I'll also clean up these other files" | งานกำลังลามเกินขอบเขตที่สั่ง (scope creep) | ⚠️ หยุดก่อน — "ทำเฉพาะที่สั่ง ที่เหลือเสนอเป็นแผนแยกมาให้ดูก่อน" |
สูตรจำเร็ว: ประโยคที่มี explore / plan / approve = ทิศทางปลอดภัย · ประโยคที่มี confident / also / while I'm here = ขอหลักฐานหรือเบรกก่อนเสมอ
กันหลงทาง
6 คู่ที่จำสลับกันบ่อยที่สุด
| คู่ศัพท์ | ต่างกันตรงไหน |
|---|---|
| Requirement vs Constraint | Requirement = สิ่งที่ต้องมี (แจ้งเตือนเมื่อสต๊อกต่ำ) · Constraint = สิ่งที่ห้ามทำ (ห้ามแตะฐานข้อมูล) — ใบสั่งงานที่ดีต้องมีทั้งคู่ |
| Context vs Context Window | Context = ข้อมูลประกอบที่เราให้ · Context Window = ความจุสูงสุดที่ AI รับได้ต่อรอบ — อันแรกคือของที่ใส่ อันหลังคือขนาดภาชนะ |
| Read-only vs Plan-first | Read-only = อ่านสำรวจ ยังไม่แตะอะไร · Plan-first = เสนอแผนรออนุมัติก่อนแก้ — เป็นจังหวะ 1 กับจังหวะ 2 ของ workflow ไม่ใช่สิ่งเดียวกัน |
| Confidence vs Verification | Confidence = ความมั่นใจที่ AI รายงานเอง · Verification = การพิสูจน์ด้วยหลักฐานจริง — hallucination มาพร้อม confidence สูงได้เสมอ |
| Hallucination vs Bug | Hallucination = AI แต่งข้อมูลที่ไม่มีจริงตอนตอบ · Bug = โค้ดที่ทำงานผิดจากที่ตั้งใจ (เจอเต็ม ๆ บท SE8) — อันแรกคือคำพูดผิด อันหลังคือของผิด |
| Coding Assistant vs Agent | Coding Assistant = ผู้ช่วยที่ทำตามคำสั่งทีละเรื่อง · Agent = ระบบที่รับเป้าหมายแล้ววางแผน-ลงมือ-ตรวจผลเองหลายขั้น — ยิ่งอิสระมาก ยิ่งต้องมี guardrail แน่น |
QUICK-CHECK · กดดูเฉลย
จริงหรือไม่? — เช็คก่อนปิดบท
1 · "AI ตอบว่า 'I'm confident this works' แปลว่างานเสร็จ เชื่อได้เลย"
ไม่จริง — ความมั่นใจไม่ใช่หลักฐาน AI มั่วอย่างมั่นใจได้ (hallucination) · สิ่งที่เชื่อได้คือผลการทดสอบจริง — สั่งต่อว่า "Verify แล้วโชว์ผลให้ดู"
2 · "สั่ง Refactor พร้อม Preserve Behavior = แก้ข้างในได้ แต่พฤติกรรมที่ผู้ใช้เห็นต้องเหมือนเดิม"
จริง — นี่คือคู่คำสั่งมาตรฐานตอนให้ AI จัดระเบียบโค้ด: โครงข้างในเปลี่ยนได้ แต่หน้าร้านที่ลูกค้าใช้ต้องทำงานเหมือนเดิมเป๊ะ
3 · "AI เด้งขออนุมัติบ่อย ๆ แปลว่าระบบมีปัญหา ควรปิดด่านถามให้หมดจะได้ทำงานเร็ว"
ไม่จริง — Approval Gate เด้งถาม = guardrail ทำงานปกติ · ปิดหมดคือถอดเบรกออกจากรถ — เร็วขึ้นจริง จนถึงวันที่ AI ทำเรื่องใหญ่โดยเราไม่เห็นก่อน
KEY TAKEAWAY
Prompt = ใบสั่งงาน 8 ช่อง · Constraint + Scope Control = รั้วกันเดา · Approval Gate = ด่านที่เราเป็นคนเคาะ
กฎเหล็กประจำบท: "อ่านก่อนแก้ — แผนก่อนลงมือ — หลักฐานก่อนเชื่อ"
บทถัดไป: เวลา AI ลงมือทำจริง มันจะรายงานกลับเป็นภาษา Git — "I'll commit and push to main" อ่านให้ออกทุกคำใน SE5