← Context Engineering Handbook
LEVEL 1 · ใช้ทุกวัน
คำสั่งถาวร vs เรื่องเฉพาะหน้า — เลเยอร์ที่ห้ามปนกัน
อาการที่บอกว่าพี่กำลังมีปัญหาข้อนี้: AI เอากติกาของงานเมื่อวานมาใช้กับงานวันนี้ หรือกลับกัน — บอกกติกาสำคัญไปแล้วเมื่อวาน วันนี้ต้องบอกใหม่ทั้งชุด
สองอาการนี้มาจากสาเหตุเดียวกัน: เอาของคนละอายุไปไว้ที่เดียวกัน
5.1 สามอายุของสิ่งที่เราบอก AI
| เลเยอร์ | ตัวอย่าง | ควรอยู่ที่ไหน |
|---|---|---|
| จริงตลอดไป | เรียกฉันว่าอะไร · ห้ามแต่งข้อมูล · ตอบไทย | คำสั่งประจำตัว / หน้าตั้งค่า |
| จริงเฉพาะโปรเจกต์นี้ | โปรเจกต์ใช้เครื่องมืออะไร · กติกาของทีม · กับดักที่เคยเจอ | ไฟล์คำสั่งของโปรเจกต์ |
| จริงเฉพาะครั้งนี้ | ช่วยแก้ย่อหน้านี้ · เอาไฟล์นี้ไปดู | ข้อความที่พิมพ์ |
กติกาเดียวที่ต้องจำ: ของที่จะเป็นจริงอีกร้อยครั้ง ไม่ควรต้องพิมพ์ซ้ำร้อยครั้ง · ของที่จริงครั้งเดียว ไม่ควรไปนั่งอยู่ในที่ถาวร
5.2 คำสั่งถาวรที่ดีที่สุด มักไม่ใช่ "ทำยังไง"
ตรงนี้คือจุดที่คนส่วนใหญ่เขียนไฟล์คำสั่งผิด — เขียนแต่ว่าทำอะไรได้บ้าง ทั้งที่ของมีค่าที่สุดคือ "อย่าไปคิดใหม่"
ขอยกของจริงจากเว็บนี้เองมาให้ดู · นี่คือบรรทัดหนึ่งใน CLAUDE.md ของ tayakorn.dev ซึ่งเป็นไฟล์คำสั่งถาวรที่ AI ทุกตัวที่มาแตะโปรเจกต์นี้จะอ่านก่อนลงมือ:
- **audit gate = production scope เท่านั้น**
(`npm run audit:prod` ต้อง 0)
**ทดสอบจนสุดทางแล้ว 31 ก.ค. 2026 — ห้ามลองซ้ำ:**
· eslint 10 พัง lint สองจุด (eslint-plugin-react เรียก
context API ที่ถูกถอด · `scopeManager.addGlobals` หาย
แม้อัป typescript-eslint 8.65 ที่ประกาศ peer `eslint ^10`)
และปิด audit ได้แค่ 3/9
· `overrides.brace-expansion` ทำ audit เป็น 0 จริง
แต่ `minimatch@3` พังทันที
ปลดล็อกเมื่อ upstream ขยับเท่านั้นอ่านดี ๆ ครับว่าบรรทัดนี้ทำอะไร — มันไม่ได้สอนวิธีทำอะไรเลยสักอย่าง มันบอกว่า มีสามทางที่ดูน่าลอง เราลองมาหมดแล้ว ทั้งสามพัง อย่าไปเสียเวลาอีก
ถ้าไม่มีบรรทัดนี้ AI ที่เก่งและขยันจะมองเห็นปัญหา คิดวิธีแก้ที่สมเหตุสมผลที่สุด แล้วเดินไปเจอกำแพงเดิม — ทุกครั้งที่เปิดแชตใหม่ เพราะมันไม่มีความจำ (บทที่ 1)
คำสั่งถาวรที่แพงที่สุด คือคำสั่งที่กันไม่ให้ใครจ่ายราคาเดิมซ้ำสอง
5.3 เคล็ดลับตรวจไฟล์คำสั่งของตัวเอง
ไล่ทีละบรรทัดแล้วถามคำถามเดียว: "บรรทัดนี้กันความผิดพลาดอะไร"
- ตอบได้ → เก็บไว้
- ตอบว่า "มันก็รู้อยู่แล้วแหละ แต่เขียนไว้ให้ชัวร์" → ตัดทิ้ง มันจ่ายค่าเช่าทุกรอบโดยไม่ให้อะไรกลับมา
- ตอบว่า "เขียนไว้ตอนงานนั้น" แล้วงานนั้นจบไปแล้ว → ตัดทิ้ง