PATIPHAN DEV
หน้าแรกคอร์สเรียนผลงานสินค้าบทความเกี่ยวกับผมติดต่อ
เข้าสู่ระบบ
ศัพท์และพื้นฐาน Claude สำหรับผู้เริ่มต้น
ความคืบหน้า0/15 บทเรียน (0%)

บทที่ 1 · รู้จัก Claude ก่อนเริ่มใช้งาน

  • Claude คืออะไร มีกี่แบบ ต่างกันตรงไหน15 นาที
  • รู้จักตระกูลโมเดล Claude: Opus, Sonnet, Haiku, Fable เลือกใช้ตัวไหนดี18 นาที
  • Prompt, Token และ Context Window คืออะไร15 นาที

บทที่ 2 · ไฟล์และโฟลเดอร์สำคัญที่ Claude Code ใช้

  • CLAUDE.md ทำหน้าที่อะไร ต่างจาก README ยังไง15 นาที
  • settings.json กับ settings.local.json ต่างกันตรงไหน18 นาที
  • ข้างในโฟลเดอร์ .claude/ มีอะไรบ้าง18 นาที

บทที่ 3 · ศัพท์เทคนิคที่เจอบ่อยตอนใช้งาน

  • Subagent คืออะไร ใช้ตอนไหน16 นาที
  • Skill กับ Slash Command ต่างกันยังไง16 นาที
  • MCP (Model Context Protocol) คืออะไร ทำไมสำคัญ18 นาที

บทที่ 4 · เตรียมพร้อมก่อนเริ่มใช้งานจริง

  • ศัพท์ที่เจอบ่อยแบบสรุปย่อ (Cheat Sheet)12 นาที
  • คำถามที่พบบ่อยสำหรับผู้เริ่มต้น (FAQ)15 นาที
100%

CLAUDE.md ทำหน้าที่อะไร ต่างจาก README ยังไง

ใช้เวลาประมาณ 15 นาที

ในบทนี้

  1. 1.CLAUDE.md คืออะไร
  2. 2.CLAUDE.md ต่างจาก README ยังไง
  3. 3.วางไฟล์ไว้ตรงไหนได้บ้าง
  4. 4.เขียนยังไงให้ได้ผล
  5. 5.สรุป

CLAUDE.md คืออะไร

CLAUDE.md คือไฟล์ Markdown ธรรมดาที่ Claude Code จะ "อ่านเข้า context" โดยอัตโนมัติทุกครั้งที่เริ่ม session ใหม่ในโปรเจกต์นั้น เนื้อหาข้างในคือคำแนะนำและบริบทที่คุณอยากให้ Claude รู้ก่อนเริ่มทำงาน เช่น คำสั่ง build/test ของโปรเจกต์, coding convention, สถาปัตยกรรมของโค้ด, กฎการทำงานที่ทีมตกลงกันไว้

พูดง่ายๆ CLAUDE.md คือ "สิ่งที่คุณจะอธิบายซ้ำๆ ให้เพื่อนร่วมทีมคนใหม่ฟังทุกครั้ง" — แทนที่จะพิมพ์อธิบายทุก session คุณเขียนไว้ในไฟล์นี้ครั้งเดียว แล้ว Claude จะอ่านเองอัตโนมัติ

จุดสำคัญที่สุด

CLAUDE.md ถูกส่งเข้าไปเป็น user message ต่อจาก system prompt ไม่ใช่ hard rule หรือ config ที่บังคับพฤติกรรม Claude จะพยายามทำตาม แต่ไม่ได้การันตี 100% โดยเฉพาะถ้าเขียนคลุมเครือหรือขัดแย้งกันเอง ถ้าอยากบังคับจริงๆ (เช่น ห้ามรัน command บางตัวเด็ดขาด) ต้องใช้ permissions หรือ hooks แทน ซึ่งเป็นกลไกระดับ client ที่บังคับใช้ไม่ว่า Claude จะ "ตัดสินใจ" อย่างไร

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

README.md เขียนให้ "คนอ่าน" เข้าใจว่าโปรเจกต์นี้คืออะไร ติดตั้งยังไง ใช้งานยังไง — เน้นการสื่อสารกับมนุษย์ทั่วไปรวมถึงคนนอกทีม

บทถัดไป

settings.json กับ settings.local.json ต่างกันตรงไหน

ใช้เวลาประมาณ 18 นาที

บทก่อนหน้า: Prompt, Token และ Context Window คืออะไร
.env และการเก็บ API key อย่างปลอดภัย
15 นาที
Hook คืออะไร ใช้ทำอะไรได้บ้าง
16 นาที
  • Permission Mode คืออะไร ควบคุมอะไรบ้าง15 นาที
  • Plan Mode คืออะไร ช่วยอะไรก่อนลงมือทำงานจริง14 นาที
  • CLAUDE.md เขียนให้ "Claude อ่าน" เพื่อทำงานได้ถูกต้องขึ้น เน้นข้อมูลเชิงปฏิบัติที่ AI agent ต้องรู้ก่อนแก้โค้ด เช่น "ไฟล์ API handler อยู่ที่ src/api/handlers/", "รัน npm test ก่อน commit เสมอ", "ห้ามแก้เนื้อหาบทเรียนใน ebook โดยตรง"

    ✗ README.md

    • อ่านโดยมนุษย์ (นักพัฒนาใหม่, ผู้ใช้, contributor)
    • อธิบายภาพรวมโปรเจกต์ วิธีติดตั้ง วิธีใช้งาน
    • ไม่ถูกโหลดเข้า context ของ Claude อัตโนมัติ

    ✗ CLAUDE.md

    • อ่านโดย Claude Code ทุก session
    • เก็บ instruction/context เชิงปฏิบัติสำหรับ AI
    • โหลดเข้า context อัตโนมัติตั้งแต่เริ่ม session

    ในทางปฏิบัติหลายโปรเจกต์มีทั้งสองไฟล์คู่กัน และบางทีมที่ใช้ AI coding agent หลายตัว (เช่นมีทั้ง CLAUDE.md และ AGENTS.md อยู่แล้ว) สามารถทำให้ CLAUDE.md import เนื้อหาจาก AGENTS.md ได้ด้วย syntax @AGENTS.md เพื่อไม่ต้องเขียนซ้ำสองที่

    วางไฟล์ไว้ตรงไหนได้บ้าง

    CLAUDE.md มีได้หลาย scope ตามลำดับที่ Claude Code จะโหลด (จากกว้างสุดไปเจาะจงสุด):

    1. Managed policy — IT/องค์กร deploy ให้ทุกเครื่อง (พบน้อยสำหรับนักพัฒนาทั่วไป)
    2. User-level: ~/.claude/CLAUDE.md — ใช้กับทุกโปรเจกต์บนเครื่องคุณ เหมาะกับ preference ส่วนตัว เช่น สไตล์การเขียนโค้ดที่คุณชอบ
    3. Project-level: ./CLAUDE.md หรือ ./.claude/CLAUDE.md — ใช้ร่วมกับทีมผ่าน git เก็บ convention/สถาปัตยกรรมของโปรเจกต์นั้น
    4. Local-level: ./CLAUDE.local.md — เฉพาะเครื่องคุณ ไม่ commit เข้า git (ใส่ไว้ใน .gitignore) เหมาะกับ URL sandbox ส่วนตัว หรือ test data เฉพาะเครื่อง

    Claude Code จะไล่โฟลเดอร์จาก root ขึ้นไปหา working directory และรวมไฟล์ทั้งหมดที่เจอเข้า context เดียวกัน (ไม่ใช่ override กันแต่เป็นการต่อกัน) โดยไฟล์ที่ใกล้ working directory ที่สุดจะถูกอ่านทีหลังสุด

    เขียนยังไงให้ได้ผล

    ยิ่งเขียนสั้น เจาะจง และตรวจสอบได้ ยิ่งได้ผลดี "ใช้ 2-space indentation" ดีกว่า "จัด format ให้สวยงาม" และควรเก็บให้อยู่ในขนาดกะทัดรัด (แนะนำไม่เกินราวๆ 200 บรรทัดต่อไฟล์) เพราะไฟล์ที่ยาวเกินไปกินพื้นที่ context และลดความแม่นยำในการทำตาม ถ้าเนื้อหาเยอะมาก ให้แยกเป็นไฟล์ scoped rules แทนการยัดทุกอย่างลง CLAUDE.md เดียว

    ตัวอย่างโครงสร้างไฟล์ CLAUDE.md ระดับโปรเจกต์ที่เขียนดี:

    # Project: Portfolio Website
    
    ## Build & Test
    - Dev server: `npm run dev`
    - Run tests before every commit: `npm test`
    
    ## Architecture
    - API routes อยู่ที่ `src/app/api/`
    - Database queries ต้องผ่าน `src/lib/db/` เท่านั้น ห้าม query ตรงจาก route
    
    ## Conventions
    - ใช้ TypeScript แบบ strict, ห้ามใช้ `any`
    - Component ใหม่ต้องมี unit test คู่กันเสมอ
    

    คุณสามารถรัน /init ใน Claude Code เพื่อให้ Claude สแกนโค้ดในโปรเจกต์แล้วช่วยร่าง CLAUDE.md เริ่มต้นให้อัตโนมัติ ถ้ามีไฟล์อยู่แล้ว /init จะแนะนำจุดที่ควรปรับปรุงแทนการเขียนทับ

    สรุป

    CLAUDE.md คือ "context เริ่มต้น" ที่ทำให้ Claude เข้าใจโปรเจกต์ของคุณเร็วขึ้นในทุก session ไม่ใช่ระบบบังคับพฤติกรรมแบบ hard rule — มันคือคำแนะนำที่ Claude พยายามทำตามอย่างดีที่สุด ถ้าต้องการบังคับจริงจัง (เช่น ห้าม Claude รันคำสั่งอันตราย) ต้องพึ่งกลไกอื่นที่บทถัดไปจะพูดถึง คือ permissions ใน settings.json และ hooks