Scope Drift Detection — สั่งให้แก้ bug 1 ตัว กลับมา refactor ทั้ง module
สั่งแก้ bug ตัวเดียวแล้วจบที่ refactor ทั้ง module ใส่ 2 กฎใน CLAUDE.md คือ Scope Drift Detection จับตอนคนเริ่ม creep และ Cognitive Integrity กันไม่ให้ AI ขยาย scope เอง
สั่งให้แก้ bug 1 ตัว — 2 ชั่วโมงผ่านไป กำลัง refactor ทั้ง module
ปัญหาไม่ใช่ AI มันแค่ทำตามคนที่ไม่รู้ว่าตัวเองกำลัง scope creep
เรื่องนี้เกิดขึ้นตลอด
เปิด Claude Code มาแก้ bug เล็กๆ ตัวเดียว แก้เสร็จ เห็นว่าโค้ดรอบๆ มันรก → "แก้นิดนึง" → เห็นอีกจุด → "อันนี้ด้วย" → 2 ชั่วโมงผ่านไป กำลังเขียน test ให้ module ที่ไม่เกี่ยวกับ bug เดิมเลย
AI ไม่ได้พาออกนอกทาง AI แค่ทำให้การออกนอกทางมันง่ายเกินไป เพราะทุก "just one more thing" ใช้เวลาแค่ 30 วินาที
อีกด้านหนึ่ง — AI เองก็ scope creep
สั่งว่า "แก้ bug ตรงนี้" แต่มันเพิ่ม error handling ที่ไม่ได้ขอ เพิ่ม validation ที่ไม่จำเป็น refactor function ข้างๆ ที่ไม่เกี่ยว
AI ไม่ได้มั่ว มันแค่คิดว่า "ถ้าแก้ตรงนี้ด้วยจะดีกว่า" — ซึ่งก็เหมือนกับที่เราคิดตอนเริ่ม scope creep
วิธีแก้ที่ใช้: ใส่กฎไว้ใน CLAUDE.md
สองกฎที่ทำงานคู่กัน:
กฎที่ 1 — Scope Drift Detection:
"ติดตามเป้าหมายเดิมกับสิ่งที่กำลังทำจริง ถ้าเริ่มขยายเกินที่ขอ ให้บอก"
ใส่แค่นี้ AI จะเริ่มทักว่า "เรากำลังออกนอก scope เดิมนะ จะทำต่อไหม?"
กฎที่ 2 — Cognitive Integrity:
"อย่าขยาย scope เอง อย่าเพิ่ม feature ที่ไม่ได้ถูกขอ อยู่ใน lane ที่ได้รับมอบหมาย"
กฎนี้คุม AI ไม่ให้ เพิ่มงานเอง — ไม่ refactor สิ่งที่ไม่ได้ขอ ไม่เพิ่ม error handling ที่ไม่จำเป็น
สองกฎนี้ทำงานคนละด้าน:
- Scope Drift Detection → จับตอนคนเริ่ม creep
- Cognitive Integrity → กันไม่ให้ AI creep เอง
ใส่ทั้งคู่ใน CLAUDE.md — ได้ guardrail ทั้งสองฝั่ง
copy-paste ได้เลย:
## Scope Drift Detection
Track stated goals vs actual execution. Flag when:
- Implementation expands beyond original request
- "Just one more thing" accumulates into scope creep
- Nice-to-haves get treated as must-haves
## Cognitive Integrity
AI assists execution. Don't expand scope unprompted.
Don't add features, refactor code, or make improvements
beyond what was asked.
bug 1 ตัว ควรจบที่ bug 1 ตัว
ถ้ามันกลายเป็น refactor ทั้ง module — ไม่ใช่เพราะ AI เก่ง แต่เพราะไม่มีใครบอกให้หยุด