Claude Code Subagent คืออะไร? วิธีสร้างและใช้งาน Subagent อย่างมีประสิทธิภาพ

Claude Code subagent

Claude Code เป็น AI coding assistant ที่ทำงานกับไฟล์บนเครื่องของเราได้โดยตรง ช่วยลดเวลาในการเปลี่ยนหน้าจอในการทำงาน และทุ่นแรงในการเขียนและรีวิว code ได้

ความโดดเด่นหนึ่งของ Claude คือ subagent ซึ่งช่วยให้ Claude ทำงานที่หลากหลายและซับซ้อนได้ดีขึ้น

ในบทความนี้ ผมจะพาทุกคนไปรู้จักกับ subagent ตั้งแต่ subagent คืออะไร ใช้ยังไง การใช้งานที่ควรและไม่ควรใช้ subagent

ถ้าพร้อมแล้ว ไปเริ่มกันเลย



🤖 Subagent มีไว้ทำไม?

Subagent คือ AI agent ที่จะทำงานเฉพาะอย่างที่ Claude สั่ง

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

เช่น:

เราสั่งให้ Claude อธิบาย code
Claude สั่งให้ subagent อ่านไฟล์
Subagent อ่านและทำความเข้าใจไฟล์
Subagent สรุปข้อมูลและส่งให้ Claude
Claude ประมวลผลและตอบคำถามเรา

ข้อดี คือ ประหยัด context ในการทำงาน เพราะ Claude ไม่ต้องเก็บข้อมูลที่ใช้ในการทำงานทั้งหมด (เช่น ไฟล์ที่ถูกอ่าน) แต่จะเก็บเฉพาะผลลัพธ์ที่ subagent ส่งกลับมา

แต่ข้อเสีย คือ เราจะไม่รู้ว่า ผลลัพธ์ที่ได้มาเกิดขึ้นยังไงบ้าง เพราะ Claude จะไม่เห็นการทำงานหรือข้อมูลที่ subagent เห็น


🦾 วิธีสร้าง Subagent

เราสร้าง subagent ได้ 2 วิธี:

  1. ให้ Claude สร้างให้ (แนะนำ)
  2. สร้างเอง

ตัวอย่างคำสั่งสร้าง subagent ด้วย Claude:

สร้าง agent ที่รีวิว code และแนะนำวิธีแก้ให้หน่อย

📑 โครงสร้างไฟล์ MD ของ Subagent

ข้อมูลของ subagent จะถูกเก็บไว้ในไฟล์ markdown (MD) เช่น code-reviewer.md และประกอบด้วย 6 ส่วน:

  1. name
  2. description
  3. tools (optional)
  4. model (optional)
  5. color (optional)
  6. Main body

ตัวอย่างไฟล์ MD:

---
name: code-reviewer
description: Reviews code for quality, security, and maintainability issues. Use proactively after writing or modifying code, before committing.
tools: Read, Grep, Glob
model: sonnet
color: green
---
You are a senior code reviewer focused on correctness, security, and readability.
When invoked:
1. Run `git diff` to see recent changes (or review the specified files).
2. Focus only on the changed code, not the whole codebase.
3. Check for: security vulnerabilities, unhandled errors, unclear naming, missing tests, and duplicated logic.
For each issue found, report:
- File path and line number
- Description of the problem
- Suggested fix (code snippet if applicable)
- Severity: low / medium / high
Be direct and specific. Skip praise — focus on what needs to change.

.

👉 ส่วนที่ 1. name

ตัวอย่าง:

name: code-reviewer

ใช้ระบุตัว subagent

.

👉 ส่วนที่ 2. description

ตัวอย่าง:

description: Reviews code for quality, security, and maintainability issues. Use proactively after writing or modifying code, before committing.

บอก Claude 2 อย่างเกี่ยวกับ subagent:

  1. What: subagent นี้ทำอะไร
  2. When: เมื่อไรถึงจะเรียกใช้ subagent นี้

เคล็ดลับ:

  1. ใช้คำว่า proactively เพื่อทำให้ Claude เรียกใช้ subagent นี้บ่อยขึ้น (อย่างในตัวอย่าง เราบอกว่า ให้ใช้ proactively ทุกครั้งที่เขียนหรือแก้ไข code เสร็จ)

.

👉 ส่วนที่ 3. tools

ตัวอย่าง:

tools: Read, Grep, Glob

ระบุ action ที่ subagent สามารถทำได้

อย่างในตัวอย่าง เราเลือก:

  • Read: อ่านไฟล์
  • Grep: ค้นหาเนื้อหาในไฟล์
  • Glob: ค้นหาไฟล์

Note:

  • ดูตัวเลือก action ทั้งหมดได้ที่ Tools reference
  • เราสามารถเลือกไม่ระบุได้ โดย Claude จะเลือกใช้ค่า default ของระบบ

.

👉 ส่วนที่ 4. model

ตัวอย่าง:

model: sonnet

ระบุ model ที่จะใช้งาน ซึ่งมี 4 ตัวเลือก:

  1. Haiku: เหมาะกับงานที่เน้นความเร็ว
  2. Opus: เหมาะกับงานที่เน้นการคิดวิเคราะห์
  3. Sonnet: งานที่เน้นความสมดุลระหว่างความเร็วและการวิเคราะห์
  4. Inherit: ใช้ model เดียวกับ Claude (เช่น Claude ใช้ Haiku อยู่ subagent ก็จะใช้ Haiku ด้วย)

ถ้าเราไม่กำหนด model, Claude จะใช้ model เดียวกับที่ใน session นั้น ๆ

.

👉 ส่วนที่ 5. color

ตัวอย่าง:

color: green

เลือกสีของ subagent เพื่อให้รู้ว่า การทำงานไหนเป็นของ subagent ไหน

รูปจาก Introduction to Subagents

.

👉 ส่วนที่ 6. Main Body

ตัวอย่าง:

You are a senior code reviewer focused on correctness, security, and readability.
When invoked:
1. Run `git diff` to see recent changes (or review the specified files).
2. Focus only on the changed code, not the whole codebase.
3. Check for: security vulnerabilities, unhandled errors, unclear naming, missing tests, and duplicated logic.
For each issue found, report:
- File path and line number
- Description of the problem
- Suggested fix (code snippet if applicable)
- Severity: low / medium / high
Be direct and specific. Skip praise — focus on what needs to change.

ใช้กำหนดพฤติกรรมการทำงานของ subagent

เคล็ดลับ:

  1. ควรกำหนด output format หรือหน้าตางานที่ subagent จะต้องส่งกลับไปให้ Claude
  2. ควรบอกให้ subagent ส่งรายละเอียดการทำงานบางส่วนให้กับ Claude เพื่อช่วยให้ Claude เข้าใจผลลัพธ์ที่ subagent ส่งกลับมามากขึ้น

🤔 เมื่อไรที่ควรและไม่ควรใช้ Subagent?

✅ งานที่ subagent ทำได้ดี:

ข้อ 1. วิจัยและสืบค้น (research and investigation) เช่น อ่านและอธิบาย code ที่มีคนเขียนแล้ว

ข้อ 2. งานเฉพาะทางที่ต้องการความแม่นยำ เช่น งาน copywriting และการจัด style การเขียน code

ข้อ 3. การตรวจทาน code

❌ สิ่งที่ไม่ควรใช้กับ subagent:

ข้อ 1. Prompt ให้ subagent มีความรู้เฉพาะทาง

เช่น “คุณเป็น software tester ที่มีความละเอียด”

Subagent มีความรู้เหล่านี้อยู่แล้ว และการ prompt เพิ่มจะไม่ช่วยให้ subagent ทำงานได้ดีขึ้น

ข้อ 2. ใช้ subagent ทำงานต่อ ๆ กัน

เช่น subagent 1 ตรวจหา error ใน code และส่งให้ subagent 2 แก้ code

Subagent จะเห็นแต่ผลลัพธ์ แต่ไม่เห็นการทำงานของกันและกัน (เช่น subagent 2 จะเห็นแต่ผลลัพธ์ว่ามี error แต่ไม่รู้ว่า error ที่จุดไหน) ซึ่งทำให้งานที่ได้มีโอกาสผิดพลาดสูง

ข้อ 3. ใช้ subagent ทดสอบ code

Subagent มักจะรายงานผลการทดสอบ แต่ไม่บอกรายละเอียดที่ทำให้เกิด error ทำให้เราต้องลงไปค้นหาสาเหตุของ error เอง


🫵 Your Turn

หลังอ่านบทความนี้แล้ว ลองใช้มา Claude Code กันดูนะครับ:


📃 References

Comments

Leave a Reply

Discover more from Shi no Shigoto

Subscribe now to keep reading and get access to the full archive.

Continue reading