Agent Dev Thai Academyprinciples · patterns · architecture

เขียนกฎเพิ่มทุกครั้งที่ AI ทำพลาด สุดท้ายมันไม่ทำตามสักข้อ

AI ไม่ทำตามเพราะกฎใน CLAUDE.md ขัดกันเอง แต่ละข้อถูกตอนเขียนแต่เขียนคนละเดือน ยิ่งโมเดลทำตามเป๊ะ กฎที่ขัดกันยิ่งมีราคา ให้มันไล่หาคู่ที่ขัดกันก่อนเขียนกฎเพิ่ม

วันพุธผมสั่งให้มันช่วย finalize ข้อความที่เขียนไว้แล้ว มันเขียนข้อความใหม่ขึ้นมาให้ทั้งอัน

บอกไปว่าไม่ใช่ อีกชั่วโมงครึ่งต่อมา สั่งงานคล้ายๆ กัน มันทำแบบเดิมอีกรอบ คนละหน้าตา แต่พลาดแบบเดียวกัน

ตอนแรกคิดว่าโมเดลมันแย่ลง ไปไล่ดูจริงๆ ปัญหาอยู่ในไฟล์ของผมเอง

CLAUDE.md มีข้อนึงเขียนว่า "สั่งอะไรให้ทำเลย ไม่ต้องขออนุญาต" อีกข้อเขียนว่า "ห้ามเดา ถ้าข้อมูลไม่ครบให้บอกสมมติฐานออกมาก่อน"

สองข้อนี้อยู่ห่างกันสามสิบบรรทัด เขียนคนละเดือน แต่ละข้อถูกทั้งคู่

พอเจอคำว่า "ช่วย finalize อันนี้ที" มันชี้คนละทาง ข้อแรกบอกให้ลงมือ ข้อสองบอกให้ถามก่อน แล้วข้อแรกชนะ

ที่เจ็บคือ ทุกครั้งที่มันพลาด ผมก็ไปเขียนกฎเพิ่มอีกข้อ ไฟล์ยาวขึ้นเรื่อยๆ แล้วก็ขัดกันเองมากขึ้นเรื่อยๆ

ยิ่งโมเดลทำตามเก่งขึ้น กฎที่ขัดกันยิ่งมีราคา

อาทิตย์นี้ OpenAI ปล่อย GPT-6 Astra แล้วในคู่มือทางการมี prompt อยู่อันนึง หน้าที่ของมันคือให้โมเดลบอกออกมาว่ากฎข้อไหนทำให้มันหยุดหรือเปลี่ยนทาง

เขาเขียนไว้ตรงๆ ว่า คำสั่งที่กำกวมหรือขัดกันในไฟล์ skill ทำให้โมเดลหยุดงานกลางคัน

เมื่อก่อนเขียนกฎขัดกันไว้ก็ไม่ค่อยเป็นไร เพราะโมเดลมันไม่ได้ทำตามเป๊ะอยู่แล้ว ตอนนี้มันทำตามเป๊ะขึ้น แล้วมันก็ทำตามข้อที่ผิด

คอขวดเลยย้ายที่ จากตัวโมเดล มาอยู่ที่ไฟล์กฎของเราเอง

เอาไปรันกับไฟล์ตัวเองได้เลย

ไม่ต้องลงอะไรเพิ่ม ใช้ได้กับ Claude Code, Codex, ตัวไหนก็ได้ที่อ่านไฟล์กฎของคุณอยู่

อ่าน CLAUDE.md (หรือ AGENTS.md) ของผมทั้งไฟล์ แล้วหาสามอย่าง

1. กฎสองข้อที่สั่งคนละทางในสถานการณ์เดียวกัน
   ยกคำสั่งจริงที่จะทำให้สองข้อนี้ชนกันมาให้ดูด้วย

2. กฎที่เขียนไว้แต่ไม่มีทางรู้ว่าทำตามแล้วหรือยัง
   ถ้าวัดไม่ได้ว่าทำตามไหม ให้บอกออกมา

3. กฎที่พูดเรื่องเดียวกับข้ออื่น แค่คนละคำ

กติกา: ห้ามเดา ถ้าจะบอกว่าสองข้อขัดกัน ต้องยกเลขบรรทัดกับ
ข้อความจริงจากไฟล์มาทั้งสองฝั่ง ลากให้เห็นไม่ได้ก็ตัดทิ้ง

ปิดท้ายด้วยข้อเดียว: ถ้าตัดได้ข้อเดียวเพื่อลดการขัดกันมากที่สุด ตัดข้อไหน

ของผมรันแล้วเจอสามคู่ที่ขัดกัน ทั้งสามคู่เขียนไว้คนละเดือน ตอนเขียนแต่ละข้อไม่มีข้อไหนผิดเลย

สิ่งที่ผมเปลี่ยนหลังจากนั้น

เมื่อก่อนเวลามันพลาด ผมเขียนกฎเพิ่ม

ตอนนี้ก่อนเขียนเพิ่ม ต้องตอบให้ได้ก่อนว่ามันไปทับข้อไหนที่มีอยู่แล้ว ถ้าตอบไม่ได้แปลว่ายังไม่รู้จักไฟล์ตัวเองดีพอ

ไฟล์กฎไม่ได้ทำงานเหมือนเอกสาร มันทำงานเหมือนโค้ด เขียนเพิ่มโดยไม่ดูของเดิม เดี๋ยวมันก็พังตรงที่เราไม่ได้มอง