บทความ › AI

EP2 Skill, Memory และ Hook แยกความรู้ ขั้นตอน และกฎ ให้ AI ทำงานแบบเดิมทุกครั้ง

พอ CLAUDE.md เริ่มบวม ให้แยกของออกเป็นสามแบบ ความรู้ไว้ใน memory ขั้นตอนไว้ใน skill และกฎที่ต้องบังคับจริงไว้ใน hook พร้อมตัวอย่างไฟล์และวิธีเลือกใช้

เริ่มต้น อ่าน 5 นาที 15 ตุลาคม 2569 จาก Claude Code สู่ระบบ AI หลายเจ้า · บทที่ 2/8

อ่านจบแล้วจะรู้
  • ของสามแบบใช้ที่เก็บต่างกัน: ความรู้ → memory, ขั้นตอนที่ทำซ้ำ → skill, กฎที่ห้ามพลาด → hook
  • Skill โหลดเฉพาะตอนต้องใช้ จึงมีได้หลายสิบตัวโดยไม่เปลือง
  • คำสั่งในไฟล์ AI อาจลืมได้ แต่ hook เป็นโปรแกรมที่รันทุกครั้งแน่นอน

EP1 เราเขียนคู่มือโปรเจกต์ไว้ใน CLAUDE.md แล้ว ใช้ไปสักพักจะเจอปัญหาเดียวกันหมด คือทุกอย่างถูกยัดลงไฟล์เดียว ทั้งเรื่องที่ต้องรู้ วิธีทำงานแต่ละแบบ และกฎที่ห้ามพลาด ไฟล์ยาวขึ้นเรื่อย ๆ จนเรื่องสำคัญจมหาย ตอนนี้จะแยกของสามแบบนี้ออกจากกัน

ของสามแบบ ที่เก็บสามที่

กลับไปที่ภาพเพื่อนร่วมงานที่มาวันแรกทุกวัน ในบริษัทจริงเราให้ของเขาสามอย่าง:

ของในบริษัทใน Claude Codeอ่านเมื่อไหร่
ความรู้บันทึกว่าเคยตกลงอะไรไว้memoryทุกครั้งที่เริ่มงาน
ขั้นตอนคู่มือทำงานแต่ละเรื่องskillเฉพาะตอนจะทำเรื่องนั้น
กฎบังคับระบบที่ไม่ยอมให้ข้าม เช่น ประตูต้องแตะบัตรhookรันเองทุกครั้ง ไม่ต้องจำ

หลักการ: แยกสิ่งที่ต้อง รู้ สิ่งที่ต้อง ทำเป็นขั้นตอน และสิ่งที่ต้อง บังคับ ออกจากกัน

Memory: ความรู้ที่สะสม

memory คือบันทึกที่ AI เขียนเพิ่มเองระหว่างทำงาน เช่น “ผู้ใช้ไม่อยากให้ push จนกว่าจะสั่ง” หรือ “การทดลองแบบนี้เคยลองแล้ว ไม่ได้ผล” ครั้งหน้าที่เปิด session ใหม่ ไฟล์สารบัญของ memory จะถูกโหลดมาด้วย มันเลยไม่ถามซ้ำ

บทเรียนจากของจริง: โปรเจกต์หนึ่งใช้ memory จนไฟล์สารบัญยาว 203 บรรทัด ขนาด 41KB พอเปิด session ใหม่ ระบบโหลดได้แค่ราว 110 บรรทัดแรก อีก 90 กว่าบรรทัดถูกตัดทิ้ง ความรู้ที่จดไว้ท้ายไฟล์เลยเหมือนไม่เคยมี

ทางแก้คือให้สารบัญเป็น บรรทัดละหนึ่งเรื่อง สั้น ๆ แล้วเก็บรายละเอียดไว้ในไฟล์แยก และหมั่นลบเรื่องที่เก่าหรือผิดแล้ว memory ก็เหมือนสมุดจด ถ้าไม่เคยจัด สุดท้ายจะหาอะไรไม่เจอ

Skill: ขั้นตอนที่ทำซ้ำ

skill คือคู่มือทำงานเรื่องเดียว เก็บไว้ที่ .claude/skills/<ชื่อ>/SKILL.md หัวไฟล์มีแค่ชื่อกับคำอธิบาย

---
name: write-article
description: เขียนบทความลงเว็บ ใช้เมื่อผู้ใช้ขอบทความใหม่ หรือแก้บทความเดิม
---

1. อ่าน docs/ARTICLE_GUIDE.md ก่อน
2. เขียนทั้งไทยและอังกฤษ ชื่อไฟล์เดียวกัน
3. รัน npm run build ต้องผ่าน
4. เปิดดูที่จอกว้าง 375px ทั้งสองภาษา

จุดสำคัญคือ AI เห็นแค่คำอธิบายจนกว่าจะต้องใช้ พอเราสั่งงานที่ตรงกับคำอธิบาย มันจึงค่อยอ่านเนื้อหาเต็ม หรือเราเรียกเองด้วยการพิมพ์ /write-article ก็ได้ ข้อดีคือมี skill ได้หลายสิบตัวโดยไม่ทำให้ทุกงานช้าหรือเปลือง เครื่องที่ใช้เขียนบทความนี้มี skill อยู่ 35 ตัว ตั้งแต่เขียนเทสต์ก่อนโค้ด ไปจนถึงรีวิวหาโค้ดที่ซับซ้อนเกินจำเป็น

คำอธิบายจึงสำคัญที่สุดในไฟล์ ให้บอกว่า ใช้เมื่อไหร่ ไม่ใช่แค่ว่าทำอะไร ถ้าคำอธิบายกว้างไป มันจะหยิบมาใช้ผิดงาน ถ้าแคบไป มันจะไม่หยิบเลย

Hook: กฎที่ห้ามพลาด

ปัญหาของคำสั่งในไฟล์คือ AI อาจลืม โดยเฉพาะเมื่องานยาว ถ้ากฎข้อไหนพลาดไม่ได้จริง ๆ อย่าฝากไว้กับความจำของมัน ให้ใช้ hook

hook คือคำสั่ง shell ที่ Claude Code รันเองเมื่อเกิดเหตุการณ์ที่กำหนด เช่น หลังแก้ไฟล์ทุกครั้ง หรือก่อนรันคำสั่ง ตั้งไว้ใน .claude/settings.json

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [{ "type": "command", "command": "npm run lint" }]
      }
    ]
  }
}

ตัวอย่างนี้สั่งให้รัน lint ทุกครั้งที่ AI แก้หรือสร้างไฟล์ ไม่ว่ามันจะจำได้หรือไม่ก็ตาม hook ยังใช้กันคำสั่งอันตรายได้ด้วย เช่น ถ้า hook ที่รันก่อนคำสั่งตอบกลับว่าไม่ผ่าน คำสั่งนั้นจะไม่ถูกรัน

ตัวอย่างจริงตอนเขียนเว็บนี้: ทุกครั้งที่ AI แก้ไฟล์หน้าเว็บ จะมี hook เตือนว่า “ยังไม่ได้เปิด preview ถ้าการแก้นี้ดูได้ในเบราว์เซอร์ ให้เปิดดูก่อนจบงาน” ทำให้การตรวจบนจอจริงไม่ต้องพึ่งความจำของใครเลย

เริ่ม sessionCLAUDE.md + สารบัญ memoryทุกครั้งสั่ง: เขียนบทความใหม่skill: write-articleเมื่องานตรงAI แก้ไฟล์hook: npm run lintอัตโนมัติAI แก้อีกไฟล์hook: npm run lintอัตโนมัติ
session เดียว ของสามแบบโหลดคนละเวลา

เลือกยังไงว่าอะไรควรอยู่ไหน

ถามตัวเองทีละข้อ:

  1. ต้องรู้ทุกครั้งไหม ใช่ → CLAUDE.md (ถ้าเป็นกติกา) หรือ memory (ถ้าเป็นสิ่งที่เรียนรู้มา)
  2. เป็นวิธีทำงานเฉพาะเรื่องไหม ใช่ → skill
  3. ถ้าพลาดแล้วเสียหายจริงไหม ใช่ → hook ไม่ใช่แค่ประโยคในไฟล์

ลองเองใน 10 นาที

  1. เลือกงานหนึ่งที่สั่ง AI บ่อยที่สุด แล้วเขียนเป็น skill ตามแบบข้างบน ไม่เกิน 10 บรรทัด
  2. เปิด session ใหม่ สั่งงานนั้นด้วยคำพูดปกติ ดูว่ามันหยิบ skill มาใช้ไหม ถ้าไม่หยิบ แก้คำอธิบายให้ชัดขึ้นว่าใช้เมื่อไหร่
  3. เลือกกฎหนึ่งข้อที่ AI เคยลืม แล้วเปลี่ยนเป็น hook

ตรงไหนที่คนต้องทำ

AI จด memory และร่าง skill ให้ได้ แต่ คนต้องเป็นคนจัด อะไรควรจำต่อ อะไรเก่าแล้วควรลบ กฎข้อไหนสำคัญพอจะบังคับด้วย hook การตัดสินใจพวกนี้ ถ้าปล่อยให้ AI จัดเองทั้งหมด memory จะบวมแบบตัวอย่างข้างบน

ตอนหน้า

ตอนนี้ AI ของเรารู้กติกา มีคู่มือ และมีกฎบังคับแล้ว แต่ยังทำงานทีละอย่างในหัวเดียว EP3 จะให้มันแบ่งงานให้ subagent ผู้ช่วยที่มีห้องทำงานของตัวเอง ทำงานคู่ขนานกันได้ และไม่ทำให้หัวหลักรก

คำถามที่พบบ่อย

skill ต่างจาก CLAUDE.md ยังไง

CLAUDE.md ถูกอ่านทุกครั้งที่เริ่มงาน ส่วน skill ถูกอ่านเฉพาะตอนที่งานตรงกับคำอธิบายของมัน CLAUDE.md จึงควรมีแค่สิ่งที่ต้องรู้ตลอด ส่วนวิธีทำงานเฉพาะเรื่องย้ายไปเป็น skill

hook อันตรายไหม

hook คือคำสั่ง shell ที่รันอัตโนมัติด้วยสิทธิ์ของเรา จึงควรใช้เฉพาะคำสั่งที่เราเขียนเองหรืออ่านเข้าใจแล้ว เหมือนกับ git hook ทั่วไป

คำสั่งและค่าตั้งในบทความทดสอบบนระบบตัวอย่าง ลองบนเครื่องทดสอบก่อนใช้กับระบบจริงเสมอ

อ่านต่อ

#AIกลาง

เปิด AI หลาย session พร้อมกัน แล้วส่งงานข้ามกันด้วย ไฟล์ ไม่ใช่แชท

วันเดียวเปิด Claude Code สามหน้าต่าง ทำเว็บ ออกแบบเกม และทำวิดีโอ AI พร้อมกัน ส่งงานข้าม session ด้วย CLAUDE.md, memory และ git พร้อมกับดักเรื่อง worktree ที่เจอจริง

อ่าน 9 นาที
#AIเริ่มต้น

EP3 Subagent ส่งงานให้ผู้ช่วยที่มีห้องของตัวเอง หัวหลักไม่รก ทำขนานได้

subagent คือผู้ช่วยที่ AI หลักส่งงานไปให้ ทำในห้องของตัวเองแล้วส่งแค่ผลกลับมา เมื่อไหร่ควรใช้ เขียนไฟล์ agent ยังไง จำกัดสิทธิ์ยังไง และข้อเสียที่ต้องรู้

อ่าน 4 นาที
#AIเริ่มต้น

EP4 Workflow ต่องานเป็นสายพาน มีด่านตรวจ ไม่ให้ข้ามขั้น

งานหลายขั้นต้องมีลำดับที่เดิมทุกครั้ง ขั้นที่ตายตัวให้สคริปต์ทำ ขั้นที่ต้องคิดให้ AI ทำ และวางด่านตรวจไว้ก่อนสิ่งที่ย้อนกลับไม่ได้ พร้อมตัวอย่างสายพานจริงของเว็บนี้

อ่าน 5 นาที