Claude Code สามารถแบ่งงานบางส่วนไปให้ Subagent ทำใน Context แยก แล้วส่งเฉพาะผลลัพธ์กลับมายังบทสนทนาหลัก
ผู้ใช้ไม่จำเป็นต้องสร้าง Subagent เองตั้งแต่วันแรก เพราะ Claude Code มี Built-in Subagents เตรียมไว้แล้ว ได้แก่
- Explore
- Plan
- general-purpose
Claude สามารถเลือกใช้ Agent เหล่านี้โดยอัตโนมัติตามลักษณะงาน หรือผู้ใช้จะระบุชื่อ Agent ที่ต้องการในคำสั่งก็ได้
Explore Subagent
Explore เป็น Subagent สำหรับค้นหาและทำความเข้าใจ Codebase โดยเฉพาะ
จุดเด่นคือทำงานเร็ว ใช้ Model ระดับ Haiku และเป็น Agent แบบอ่านอย่างเดียว ไม่สามารถใช้เครื่องมือ Write หรือ Edit เพื่อแก้ไขไฟล์ได้
Explore เหมาะกับงาน เช่น
- ค้นหาว่า Feature ถูกเขียนไว้ที่ไหน
- หาไฟล์ที่เกี่ยวข้องกับ Bug
- ติดตามการเรียกใช้ Function
- สำรวจโครงสร้างของ Module
- ค้นหา Pattern ที่ใช้ซ้ำในโปรเจกต์
- ทำความเข้าใจ Data Flow
- ตรวจสอบ Dependency ระหว่างไฟล์
- ค้นหาว่า Config หนึ่งถูกนำไปใช้ที่ใดบ้าง
ตัวอย่างการสั่งงานคือ
ใช้ Explore Subagent ค้นหาว่า ระบบ Authentication เริ่มทำงานจากไฟล์ใด มี Middleware ใดเกี่ยวข้องบ้าง และ Session ถูกบันทึกไว้ที่ไหน ยังไม่ต้องแก้ไฟล์ ส่งกลับมาเฉพาะข้อสรุปพร้อมชื่อไฟล์
หรือสั่งแบบเจาะจงว่า
ใช้ Explore Agent ค้นหาทุกจุดที่เรียกใช้ calculateDiscount แล้วสรุปว่าการเปลี่ยน Function นี้จะกระทบส่วนใดบ้าง
Explore มีระดับความละเอียด
เวลาที่ Claude เรียก Explore จะสามารถกำหนดระดับการค้นหาได้สามระดับ
Quick
เหมาะกับการค้นหาตรงจุด เช่น
ค้นหาว่า UserService อยู่ไฟล์ไหน
Medium
เหมาะกับการสำรวจที่ต้องอ่านหลายไฟล์และเชื่อมโยงข้อมูลบางส่วน เช่น
สำรวจ Login Flow ตั้งแต่ Controller ไปถึง Database
Very thorough
เหมาะกับการวิเคราะห์ Codebase อย่างครอบคลุม เช่น
สำรวจระบบ Permission ทั้งหมด รวม Role, Policy, Middleware, Database Schema และ Test
ยิ่งละเอียดก็ยิ่งอ่านไฟล์มากขึ้น ใช้เวลามากขึ้น และใช้ Token มากขึ้น
เมื่อไรควรเลือก Explore
ควรใช้ Explore เมื่อโจทย์หลักคือ
ค้นหา สำรวจ ทำความเข้าใจ ติดตามการทำงาน ระบุไฟล์ที่เกี่ยวข้อง
และยังไม่ต้องการให้ Claude แก้ไขอะไร
ข้อจำกัดของ Explore
Explore เป็น Agent แบบอ่านอย่างเดียว จึงไม่สามารถ Implement หรือแก้ Bug ให้เสร็จได้
นอกจากนี้ Explore ไม่โหลด CLAUDE.md และ Git Status ของ Session หลัก เพื่อให้ทำงานได้เร็วและประหยัด Context
หากมีกฎสำคัญที่ Explore ต้องรู้ ควรใส่ไว้ในคำสั่งโดยตรง เช่น
ใช้ Explore Agent สำรวจระบบ Order เงื่อนไขสำคัญ: - ไม่ต้องอ่านโฟลเดอร์ legacy/ - ระบบปัจจุบันอยู่ใน apps/api-v2/ - ให้ใช้เฉพาะโค้ดที่ยังถูกเรียกจาก Production Entry Point
อย่าคาดหวังว่า Explore จะเห็นกติกาเฉพาะโปรเจกต์ทั้งหมดจาก CLAUDE.md
Plan Subagent
Plan เป็น Subagent แบบอ่านอย่างเดียวที่ใช้ช่วย Claude ค้นคว้า Codebase ขณะอยู่ใน Plan Mode
หน้าที่ของมันไม่ใช่เขียนแผนแทน Claude หลักทั้งหมด แต่คือออกไปเก็บข้อมูลที่จำเป็น เพื่อให้ Claude หลักสามารถสร้างแผนที่ถูกต้องขึ้น
ตัวอย่างเช่น เมื่อผู้ใช้สั่งว่า
เข้า Plan Mode วิเคราะห์ว่าจะเพิ่มระบบ Two-Factor Authentication อย่างไร สำรวจโครงสร้างเดิมและเสนอแผนก่อนแก้ไข
Claude หลักอาจใช้ Plan Subagent เพื่อค้นหา
- Login Flow ปัจจุบัน
- User Model
- Session Storage
- Email Service
- Security Middleware
- Test ที่เกี่ยวข้อง
จากนั้น Plan Subagent จะส่งข้อมูลกลับมาให้ Claude หลักสร้าง Implementation Plan
จุดเด่นของ Plan
Plan ใช้ Model เดียวกับบทสนทนาหลัก และมีเครื่องมือแบบอ่านอย่างเดียว
เหมาะกับงาน เช่น
- วางแผน Feature ใหม่
- วางแผน Refactoring
- ประเมินผลกระทบก่อนเปลี่ยน Architecture
- เตรียม Database Migration
- วางแผนแยก Monolith
- วิเคราะห์ไฟล์ที่ต้องแก้ก่อน Implement
- ตรวจ Dependency ก่อนเปลี่ยน Library
ตัวอย่างคำสั่งคือ
เข้า Plan Mode ใช้ Plan Subagent สำรวจวิธีแยก Payment Module ออกจาก Monolith ต้องการทราบ: - Module ที่เกี่ยวข้อง - Database Table ที่ใช้ร่วมกัน - API ที่จะได้รับผลกระทบ - Shared Service ที่ต้องแยก - Test ที่ต้องปรับ ยังไม่ต้องแก้ไฟล์
เมื่อไรควรเลือก Plan
ควรใช้ Plan เมื่อ
- งานกระทบหลายไฟล์
- ยังไม่แน่ใจขอบเขต
- ต้องประเมินผลกระทบก่อนแก้
- ต้องการ Review แผนก่อนอนุญาตให้ Claude ลงมือ
- งานเกี่ยวข้องกับ Architecture หรือ Database
- ความผิดพลาดอาจทำให้ต้องย้อนงานจำนวนมาก
สำหรับการแก้ข้อความหนึ่งบรรทัดหรือ Bug ที่รู้ตำแหน่งแน่นอนแล้ว ไม่จำเป็นต้องใช้ Plan Subagent
ข้อจำกัดของ Plan
Plan ไม่สามารถแก้ไขไฟล์ เพราะเป็น Agent แบบอ่านอย่างเดียว
เช่นเดียวกับ Explore ตัว Plan จะไม่โหลด CLAUDE.md และ Git Status ของ Session หลัก
หากมีกฎสำคัญ เช่น ห้ามเปลี่ยน Public API ห้ามสร้าง Migration หรือห้ามเพิ่ม Dependency ใหม่ ต้องระบุไว้ในคำสั่งที่มอบหมายอย่างชัดเจน
general-purpose Subagent
general-purpose เป็น Built-in Subagent ที่มีความสามารถกว้างที่สุด
ต่างจาก Explore และ Plan ตรงที่สามารถใช้เครื่องมือทั้งหมดที่ได้รับอนุญาตจาก Session หลัก จึงสามารถทั้งสำรวจ วิเคราะห์ รันคำสั่ง และแก้ไขโค้ดได้
เหมาะกับงานหลายขั้นตอน เช่น
- หา Root Cause ของ Bug
- แก้โค้ด
- เพิ่ม Test
- รัน Test
- วิเคราะห์ผลลัพธ์
- ปรับการแก้ไขรอบถัดไป
- สรุปสิ่งที่เปลี่ยนแปลง
ตัวอย่างคำสั่งคือ
ใช้ general-purpose Subagent วิเคราะห์สาเหตุที่ Integration Test ของ Payment ล้มเหลว ให้ดำเนินการดังนี้: 1. รัน Test เพื่อเก็บ Error 2. หา Root Cause 3. แก้เฉพาะส่วนที่จำเป็น 4. เพิ่ม Regression Test 5. รัน Test ยืนยัน 6. สรุปไฟล์ที่แก้และความเสี่ยงที่เหลือ
งานที่เหมาะกับ general-purpose
general-purpose เหมาะเมื่อภารกิจต้องใช้หลายขั้นตอนต่อเนื่อง เช่น
ค้นหา → วิเคราะห์ → แก้ไข → ทดสอบ → สรุป
ตัวอย่างเพิ่มเติมคือ
ใช้ general-purpose Subagent เพิ่ม Validation ให้ API สำหรับสร้าง Order ให้สำรวจ Convention จาก Endpoint เดิมก่อน จากนั้นแก้โค้ด เพิ่ม Test และรัน Typecheck ห้าม Refactor ส่วนที่ไม่เกี่ยวข้อง
หรือ
ใช้ general-purpose Subagent ตรวจสอบสาเหตุที่หน้า Dashboard โหลดช้า วัดจุดที่ช้า แก้ปัญหา และยืนยันผลด้วย Test
เมื่อไรควรเลือก general-purpose
ควรใช้เมื่อ
- งานต้องอ่านและแก้ไฟล์
- มีหลายขั้นตอนที่ขึ้นต่อกัน
- ต้องรันคำสั่งและวิเคราะห์ผล
- ต้องการให้ Agent ทำงานจนได้ Deliverable
- งานมีขอบเขตชัดและสามารถมอบหมายออกไปได้
ข้อควรระวัง
เพราะ general-purpose สามารถใช้เครื่องมือได้กว้างกว่า จึงควรกำหนดขอบเขตในคำสั่งให้ชัด
แทนที่จะสั่งว่า
แก้ระบบ Payment ให้ดีขึ้น
ควรสั่งว่า
ใช้ general-purpose Subagent แก้ปัญหา การคำนวณส่วนลดซ้ำใน Payment Service ขอบเขต: - แก้เฉพาะ Payment และ Discount Module - ห้ามแก้ Database Schema - ห้ามติดตั้ง Dependency ใหม่ - ต้องเพิ่ม Regression Test - ห้าม Commit หรือ Push
general-purpose รับ Permission ต่อจาก Session หลัก การที่มันมี Tool ครบไม่ได้หมายความว่าทุกคำสั่งจะได้รับอนุญาตโดยอัตโนมัติ
Helper Agents ที่ Claude Code มีให้
นอกจากสามตัวหลัก Claude Code ยังมี Helper Agents สำหรับงานภายในระบบบางประเภท
โดยทั่วไป Claude จะเรียกใช้เอง ผู้ใช้ไม่จำเป็นต้องเลือกใช้โดยตรง
statusline-setup
Agent นี้ถูกใช้เมื่อรันคำสั่ง
/statusline
หน้าที่คือช่วยตั้งค่า Status Line ของ Claude Code เช่น แสดง Model, Directory, Git Branch หรือสถานะ Context
ไม่ได้ถูกออกแบบให้ใช้ค้นหา Codebase หรือพัฒนาฟีเจอร์ทั่วไป
claude-code-guide
Agent นี้ใช้ช่วยตอบคำถามเกี่ยวกับความสามารถและการใช้งาน Claude Code
ตัวอย่างคำถามคือ
Claude Code ตั้งค่า Permission อย่างไร Worktree กับ Subagent ต่างกันอย่างไร จะสร้าง Skill ระดับ Project ได้อย่างไร
Claude สามารถใช้ claude-code-guide เพื่อค้นหาคำตอบเกี่ยวกับตัวผลิตภัณฑ์
Agent นี้ไม่ได้มีไว้สำหรับ Review หรือแก้ Source Code ของโปรเจกต์
วิธีดู Built-in Subagents ที่มีในเครื่อง
ภายใน Claude Code ให้ใช้
/agents
หน้าจอ Library จะแสดง Agent หลายประเภท เช่น
- Built-in Agents
- Personal Agents
- Project Agents
- Plugin Agents
- Managed Agents ขององค์กร
รายการจริงอาจแตกต่างกันตามเวอร์ชัน Plugin และการตั้งค่าขององค์กร
การดูจาก /agents ในเครื่องจึงแม่นยำกว่าการจำรายชื่อจากบทความเพียงอย่างเดียว
วิธีสั่งใช้ Built-in Subagent
ปล่อยให้ Claude เลือกเอง
วิธีปกติคืออธิบายงานตามธรรมชาติ
ค้นหาว่าระบบ Refresh Token อยู่ที่ไหน และสรุปเส้นทางการทำงาน ยังไม่ต้องแก้ไฟล์
Claude อาจเลือก Explore โดยอัตโนมัติ
หรือ
วิเคราะห์สาเหตุที่ Test ล้มเหลว แก้ไขและรัน Test ยืนยัน
Claude อาจเลือก general-purpose เพราะงานต้องทั้งสำรวจและลงมือ
ระบุชื่อ Agent ในคำสั่ง
หากต้องการบอกแนวทางให้ชัด สามารถเขียนว่า
ใช้ Explore Subagent สำรวจระบบ Authentication ใช้ Plan Subagent รวบรวมข้อมูลสำหรับวางแผน Migration ใช้ general-purpose Subagent แก้ Bug และเพิ่ม Test
Claude จะพิจารณามอบหมายงานให้ Agent ที่ระบุ
ใช้ @-mention
สามารถพิมพ์ @ แล้วเลือก Agent จากรายการ
ตัวอย่างรูปแบบคือ
@"Explore (agent)" ค้นหาไฟล์ที่เกี่ยวข้องกับระบบ Coupon
การเลือกด้วย @-mention ช่วยยืนยันว่าต้องการให้ Agent ตัวนั้นรันกับงานนี้จริง
ชื่อที่ปรากฏอาจแตกต่างเล็กน้อยตาม Interface และเวอร์ชันที่ใช้งาน
ใช้ Agent เป็นตัวหลักของ Session
Claude Code รองรับการเปิด Session ด้วย Agent ที่กำหนด
claude --agent general-purpose
อย่างไรก็ตาม Built-in Agents บางตัวถูกออกแบบให้ Claude เรียกเฉพาะตามสถานการณ์ การใช้เป็น Main Agent ตลอด Session อาจไม่เหมาะเสมอไป
โดยเฉพาะ Explore และ Plan ซึ่งเป็น Agent แบบอ่านอย่างเดียว
ควรเลือก Agent ตัวไหน
หากโจทย์คือ “ช่วยหาให้หน่อย” ให้เริ่มจาก Explore
ตัวอย่างเช่น
หาไฟล์ ค้นหาการเรียกใช้ สำรวจโครงสร้าง ติดตาม Data Flow ทำความเข้าใจระบบ
หากโจทย์คือ “ช่วยศึกษาก่อนแล้วเสนอแผน” ให้ใช้ Plan
ตัวอย่างเช่น
ประเมินผลกระทบ ออกแบบแนวทาง วางแผน Refactor เตรียม Migration กำหนดไฟล์ที่ต้องแก้
หากโจทย์คือ “ช่วยทำงานนี้ให้เสร็จ” และต้องทั้งค้นหา แก้ไข และทดสอบ ให้ใช้ general-purpose
ตัวอย่างเช่น
แก้ Bug เพิ่ม Feature เพิ่ม Test ปรับ Performance แก้ Test ที่ล้มเหลว
หลักจำง่าย ๆ คือ
Explore = ค้นหาและทำความเข้าใจ Plan = ศึกษาเพื่อเตรียมแผน general-purpose = ลงมือทำงานหลายขั้นตอน
Workflow ที่แนะนำ
สำหรับงานขนาดกลางถึงใหญ่ สามารถใช้ Built-in Subagents ตามลำดับได้
เริ่มด้วย Explore
ใช้ Explore สำรวจระบบ Checkout ค้นหาไฟล์สำคัญ Dependency และ Test ที่เกี่ยวข้อง
ต่อด้วย Plan
เข้า Plan Mode ใช้ข้อมูลที่สำรวจได้วางแผนเพิ่มระบบ Coupon ประเมินผลกระทบและเสนอขั้นตอนก่อนแก้
ลงมือด้วย general-purpose
ใช้ general-purpose Implement แผนที่อนุมัติแล้ว เพิ่ม Test และรันการตรวจสอบที่เกี่ยวข้อง
กลับมาตรวจใน Session หลัก
หลัง Agent ส่งงานกลับมา ควรตรวจ
/diff
และสั่ง Code Review เพิ่มก่อน Commit
การใช้ Agent ไม่ได้แทนการ Review ของมนุษย์หรือระบบ CI
สิ่งที่ควรรู้เกี่ยวกับ Context
Subagent แต่ละตัวเริ่มต้นด้วย Context Window แยกจากบทสนทนาหลัก
มันไม่เห็นประวัติการสนทนาทั้งหมดโดยอัตโนมัติ Claude หลักจะสร้างข้อความมอบหมายงานเพื่อส่งข้อมูลที่จำเป็นไปให้
ดังนั้นคำสั่งที่ดีควรประกอบด้วย
- เป้าหมาย
- ขอบเขต
- ไฟล์หรือ Module ที่เกี่ยวข้อง
- สิ่งที่ห้ามทำ
- รูปแบบผลลัพธ์
- เกณฑ์ว่างานเสร็จเมื่อไร
ตัวอย่างคือ
ใช้ Explore Subagent ตรวจระบบ Permission ขอบเขต: - apps/api/src/auth/ - packages/permissions/ ไม่ต้องอ่าน: - legacy/ - vendor/ ผลลัพธ์ที่ต้องการ: - Entry Point - Data Flow - จุดตรวจ Authorization - Test ที่เกี่ยวข้อง - ความเสี่ยงที่พบ ห้ามแก้ไฟล์
Prompt ลักษณะนี้ทำให้ Subagent ทำงานตรงเป้ากว่าคำสั่งว่า
ช่วยดู Permission ให้หน่อย
Built-in Agents ยังไม่พอเมื่อไร
Built-in Agents เหมาะกับงานทั่วไป แต่เมื่อทีมมี Workflow เฉพาะและใช้ซ้ำบ่อย ควรสร้าง Custom Subagent เพิ่ม
ตัวอย่างเช่น
- security-reviewer
- database-reviewer
- test-runner
- api-developer
- frontend-accessibility-reviewer
- release-validator
สัญญาณว่าควรสร้าง Custom Agent คือทุกครั้งที่เรียก general-purpose เราต้องอธิบายบทบาท Checklist และข้อจำกัดชุดเดิมซ้ำ ๆ
ในกรณีนั้นควรนำคำแนะนำเหล่านั้นไปเก็บใน
.claude/agents/
หรือ
~/.claude/agents/
บทสรุป
Claude Code มี Built-in Subagents หลักที่พร้อมใช้สามตัว
Explore เหมาะกับการค้นหาและสำรวจ Codebase แบบอ่านอย่างเดียว ทำงานเร็วและใช้ Haiku
Plan เหมาะกับการค้นคว้า Codebase ระหว่าง Plan Mode เพื่อช่วยให้ Claude หลักสร้างแผนก่อนแก้ไข
general-purpose เหมาะกับงานซับซ้อนหลายขั้นตอน ซึ่งต้องทั้งสำรวจ วิเคราะห์ แก้โค้ด และรันคำสั่ง
นอกจากนี้ยังมี Helper Agents เช่น statusline-setup และ claude-code-guide ซึ่ง Claude Code เรียกใช้กับงานเฉพาะของระบบโดยอัตโนมัติ
ผู้ใช้ไม่จำเป็นต้องเรียก Subagent ในทุกงาน ควรใช้เมื่อภารกิจสามารถแยกออกไปทำได้ มีข้อมูลระหว่างทางจำนวนมาก หรือต้องการให้ Context หลักรับเฉพาะบทสรุป
เริ่มต้นจากหลักง่าย ๆ คือ
ต้องการค้นหา ใช้ Explore ต้องการวางแผน ใช้ Plan ต้องการลงมือทำหลายขั้นตอน ใช้ general-purpose
เมื่อใช้ Built-in Agents จนเห็น Workflow ที่ทำซ้ำบ่อยแล้ว จึงค่อยสร้าง Custom Subagents เพื่อให้เหมาะกับมาตรฐานและกระบวนการของทีมมากขึ้น