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%

Subagent คืออะไร ใช้ตอนไหน

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

ในบทนี้

  1. 1.Subagent คืออะไร
  2. 2.Subagent ที่มากับ Claude Code (built-in)
  3. 3.สร้าง custom subagent เอง
  4. 4.เมื่อไหร่ควรใช้ subagent

Subagent คืออะไร

Subagent คือ Claude instance ย่อยที่ session หลัก (main conversation) เรียกใช้ให้ไปทำงานเฉพาะทางแบบแยก context ของตัวเอง แต่ละ subagent จะมี context window ของตัวเอง มี system prompt เฉพาะ มีสิทธิ์เข้าถึง tool ที่กำหนดไว้ต่างหาก และมี permission เป็นอิสระจาก session หลัก

เวลา Claude เจองานที่ตรงกับคำอธิบาย (description) ของ subagent ตัวใดตัวหนึ่ง มันจะ delegate งานนั้นไปให้ subagent ทำงานแบบอิสระ แล้วส่งกลับมาแค่ "สรุปผลลัพธ์" เท่านั้น ไม่ใช่ log หรือรายละเอียดทั้งหมดที่เกิดขึ้นระหว่างทาง

ทำไมต้องมี subagent

ถ้าให้ session หลักทำทุกอย่างเอง เช่น ค้นโค้ดทั้ง repo, อ่านไฟล์ log ยาวๆ, หรือรัน test ที่ output เยอะมาก บทสนทนาหลักจะเต็มไปด้วยข้อมูลที่ไม่ได้ใช้ต่อ ทำให้ context หมดเร็วและ Claude เริ่ม "ลืม" สิ่งที่คุยกันไว้ก่อนหน้า การแยกงานเหล่านี้ไปให้ subagent ทำ ช่วยให้ session หลักยังคง context สะอาดและประหยัด token

Subagent ที่มากับ Claude Code (built-in)

Claude Code มี subagent สำเร็จรูปให้ใช้อัตโนมัติโดยไม่ต้องตั้งค่าเอง ที่สำคัญคือ:

  • Explore — agent สำหรับค้นหาและวิเคราะห์โค้ดแบบ read-only (ไม่มีสิทธิ์ Write/Edit) เหมาะกับงานเช่น "ไฟล์นี้อยู่ไหน" หรือ "ฟังก์ชันนี้ถูกเรียกจากที่ไหนบ้าง"
  • Plan — agent สำหรับค้นข้อมูลประกอบการวางแผนตอนอยู่ใน plan mode เป็น read-only เช่นกัน

บทถัดไป

Skill กับ Slash Command ต่างกันยังไง

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

บทก่อนหน้า: .env และการเก็บ API key อย่างปลอดภัย
.env และการเก็บ API key อย่างปลอดภัย
15 นาที
Hook คืออะไร ใช้ทำอะไรได้บ้าง
16 นาที
  • Permission Mode คืออะไร ควบคุมอะไรบ้าง15 นาที
  • Plan Mode คืออะไร ช่วยอะไรก่อนลงมือทำงานจริง14 นาที
  • general-purpose — agent อเนกประสงค์ที่มีสิทธิ์เข้าถึง tool ครบ ใช้กับงานที่ต้องทั้งค้นและแก้ไขโค้ดในขั้นตอนเดียว
  • Subagent พวกนี้จะสืบทอด permission ของ session หลัก แต่ถูกจำกัด tool เพิ่มเติมตามหน้าที่ของตัวเอง เช่น Explore และ Plan จะไม่มีสิทธิ์แก้ไขไฟล์เลย

    สร้าง custom subagent เอง

    Subagent เป็นไฟล์ Markdown ที่มี YAML frontmatter เก็บไว้ที่:

    • .claude/agents/ — ใช้ได้เฉพาะ project นี้ เหมาะกับ commit เข้า version control ให้ทีมใช้ร่วมกัน
    • ~/.claude/agents/ — ใช้ได้ทุก project บนเครื่องเรา (personal)

    ตัวอย่างไฟล์ ~/.claude/agents/code-improver.md:

    ---
    name: code-improver
    description: สแกนไฟล์และเสนอแนะการปรับปรุงด้าน readability, performance, best practices ใช้หลังเขียนหรือแก้โค้ดเสร็จ
    tools: Read, Grep, Glob
    model: sonnet
    ---
    
    You are a code improvement specialist. For each issue you find, explain
    the problem, show the current code, and provide an improved version.
    

    ฟิลด์สำคัญที่ควบคุมพฤติกรรม subagent ได้แก่ description (ใช้ตัดสินใจว่าจะ delegate งานให้เมื่อไหร่), tools (จำกัดว่าใช้ tool ไหนได้บ้าง), และ model (จะสั่งให้ subagent รันบนโมเดลที่ถูกกว่า เช่น Haiku สำหรับงานง่ายๆ ก็ได้ เพื่อคุมค่าใช้จ่าย)

    Subagent ทำงาน "ภายใน session เดียวกัน" — ต่างจาก background agent ที่รันเป็น session แยกขนานกันหลายตัว และต่างจาก agent team ที่หลาย session สื่อสารกันเอง subagent เหมาะกับงานย่อยที่ต้องการผลลัพธ์กลับมาใช้ต่อในบทสนทนาเดียวกันทันที

    เมื่อไหร่ควรใช้ subagent

    สั่ง Claude ว่า "หา pattern การ error handling ที่ใช้อยู่ทั้ง repo แล้วสรุปให้ฟัง" — งานนี้ต้องอ่านไฟล์หลายสิบไฟล์ ถ้าให้ session หลักอ่านเองทั้งหมด context จะเต็มไปด้วยเนื้อโค้ดที่ไม่ได้ใช้ต่อ Claude จึงมักจะ delegate ให้ Explore subagent ไปค้นแทน แล้วส่งกลับมาแค่สรุป pattern ที่เจอ

    สรุปคือ ใช้ subagent เมื่องานย่อยนั้นจะสร้าง output จำนวนมากที่ไม่จำเป็นต้องเก็บไว้ใน context หลัก หรือเมื่อต้องการรัน task ที่ทำซ้ำบ่อยๆ ด้วย instruction เดิมทุกครั้ง (เช่น code review, debug) การมี custom subagent ไว้ล่วงหน้าจะช่วยให้เรียกใช้งานได้สม่ำเสมอและประหยัดเวลากว่าพิมพ์ prompt ยาวๆ ซ้ำทุกครั้ง