แนวทางปฏิบัติที่ดีที่สุดสำหรับ Claude Code
เคล็ดลับและรูปแบบสำหรับการใช้ Claude Code ให้ได้ประโยชน์สูงสุด ตั้งแต่การกำหนดค่าสภาพแวดล้อมไปจนถึงการขยายขนาดด้วย parallel sessions
ให้ Claude มีวิธีตรวจสอบงาน
ให้ Claude มีการตรวจสอบที่สามารถรันได้: test, build, screenshot เพื่อเปรียบเทียบ นี่คือความแตกต่างระหว่าง session ที่คุณดูและ session ที่คุณออกจากได้
Claude หยุดเมื่องานดูเสร็จ โดยไม่มีการตรวจสอบที่สามารถรันได้ "ดูเสร็จ" เป็นสัญญาณเดียวที่มี ให้ Claude มีบางอย่างที่ให้ผลผ่านหรือล้มเหลว และลูปจะปิดเองได้
| กลยุทธ์ | ก่อน | หลัง |
|---|---|---|
| ให้เกณฑ์การตรวจสอบ | "implement a function ที่ตรวจสอบ email addresses" | "เขียน validateEmail function ตัวอย่าง test cases: [email protected] เป็น true, invalid เป็น false รัน test หลังจาก implement" |
| ตรวจสอบการเปลี่ยนแปลง UI ด้วยภาพ | "ทำ dashboard ให้ดูดีขึ้น" | "[วาง screenshot] implement design นี้ ถ่าย screenshot ผลลัพธ์และเปรียบเทียบกับต้นฉบับ ระบุความแตกต่างและแก้ไข" |
| แก้ปัญหาต้นเหตุ ไม่ใช่อาการ | "build ล้มเหลว" | "build ล้มเหลวพร้อม error นี้: [วาง error] แก้และตรวจสอบว่า build สำเร็จ แก้ปัญหาต้นเหตุ อย่าซ่อน error" |
สำรวจก่อน วางแผน แล้วเขียนโค้ด
แยกการวิจัยและการวางแผนออกจากการดำเนินการเพื่อหลีกเลี่ยงการแก้ปัญหาผิด
การปล่อยให้ Claude เริ่มเขียนโค้ดทันทีอาจผลิตโค้ดที่แก้ปัญหาผิด ใช้ plan mode เพื่อแยกการสำรวจออกจากการดำเนินการ
Workflow ที่แนะนำ:
- สำรวจ: เข้า plan mode Claude อ่านไฟล์และตอบคำถามโดยไม่ทำการเปลี่ยนแปลง
- วางแผน: ขอให้ Claude สร้างแผนการดำเนินการโดยละเอียด กด
Ctrl+Gเพื่อเปิดแผนในโปรแกรมแก้ไขข้อความ - ดำเนินการ: ออกจาก plan mode และให้ Claude เขียนโค้ด
- Commit: ขอให้ Claude commit พร้อมข้อความอธิบายและสร้าง PR
ให้บริบทที่ชัดเจนใน Prompt
ยิ่ง instruction ของคุณชัดเจนมากเท่าไหร่ คุณต้องแก้ไขน้อยลงเท่านั้น
| กลยุทธ์ | ก่อน | หลัง |
|---|---|---|
| กำหนดขอบเขตงาน | "เพิ่ม test สำหรับ foo.py" | "เขียน test สำหรับ foo.py ครอบคลุม edge case ที่ user ออกจากระบบแล้ว หลีกเลี่ยง mocks" |
| ชี้แหล่งข้อมูล | "ทำไม ExecutionFactory ถึงมี API แปลกๆ?" | "ดู git history ของ ExecutionFactory และสรุปว่า API มาจากไหน" |
| อ้างอิงรูปแบบที่มีอยู่ | "เพิ่ม calendar widget" | "ดูวิธีที่ widget ถูก implement บนหน้า home เพื่อเข้าใจรูปแบบ HotDogWidget.php เป็นตัวอย่างที่ดี ทำตามรูปแบบเพื่อ implement calendar widget ใหม่" |
กำหนดค่าสภาพแวดล้อม
เขียน CLAUDE.md ที่มีประสิทธิภาพ
รัน /init เพื่อสร้างไฟล์ CLAUDE.md เบื้องต้นตาม project structure ปัจจุบัน แล้วปรับปรุงตามเวลา
CLAUDE.md คือไฟล์พิเศษที่ Claude อ่านเมื่อเริ่ม conversation ทุกครั้ง รวม Bash commands, code style และกฎ workflow
# Code style
- ใช้ ES modules (import/export) syntax ไม่ใช่ CommonJS (require)
- Destructure imports เมื่อเป็นไปได้ (เช่น import { foo } from 'bar')
# Workflow
- ตรวจสอบ typecheck เมื่อเสร็จการเปลี่ยนแปลงโค้ด
- ชอบรัน test เดียวมากกว่า test suite ทั้งหมด เพื่อประสิทธิภาพ
| รวม | ไม่รวม |
|---|---|
| Bash commands ที่ Claude เดาไม่ได้ | สิ่งที่ Claude สามารถหาได้จากการอ่านโค้ด |
| กฎ code style ที่แตกต่างจาก default | convention ภาษาที่ Claude รู้แล้ว |
| Testing instructions และ test runner ที่ต้องการ | API documentation โดยละเอียด (ลิงก์ไปที่ docs แทน) |
| Repository etiquette (ตั้งชื่อ branch, PR conventions) | ข้อมูลที่เปลี่ยนบ่อย |
กำหนดค่า Permissions
ใช้ auto mode ให้ classifier จัดการการอนุมัติ หรือใช้ /permissions เพื่อ allowlist commands เฉพาะ หรือ /sandbox สำหรับ OS-level isolation
โดยค่าเริ่มต้น Claude Code ขออนุญาตสำหรับ action ที่อาจแก้ไขระบบ มีสามวิธีลดการขัดจังหวะ:
- Auto mode: classifier แยก model ตรวจสอบ commands และบล็อกเฉพาะสิ่งที่ดูเสี่ยง
- Permission allowlists: อนุญาต tools เฉพาะที่คุณรู้ว่าปลอดภัย
- Sandboxing: เปิด OS-level isolation ที่จำกัดการเข้าถึงไฟล์และเครือข่าย
สื่อสารอย่างมีประสิทธิภาพ
ถาม Claude เกี่ยวกับ Codebase
ถาม Claude คำถามที่คุณจะถาม senior engineer
เมื่อเรียนรู้ codebase ใหม่ ใช้ Claude Code เพื่อการเรียนรู้และสำรวจ คุณสามารถถาม Claude ประเภทคำถามเดียวกับที่คุณถาม engineer อื่น:
- Logging ทำงานอย่างไร?
- ฉันสร้าง API endpoint ใหม่อย่างไร?
async move { ... }ทำอะไรในบรรทัดที่ 134 ของfoo.rs?CustomerOnboardingFlowImplจัดการ edge case อะไรบ้าง?
ให้ Claude สัมภาษณ์คุณ
สำหรับฟีเจอร์ขนาดใหญ่ ให้ Claude สัมภาษณ์คุณก่อน เริ่มด้วย prompt น้อยที่สุดและขอให้ Claude สัมภาษณ์โดยใช้ AskUserQuestion tool
ฉันต้องการสร้าง [description สั้น] สัมภาษณ์ฉันโดยละเอียดโดยใช้ AskUserQuestion tool
ถามเกี่ยวกับการดำเนินการเชิงเทคนิค, UI/UX, edge cases, ข้อกังวล และ tradeoffs
อย่าถามคำถามชัดเจน ขุดลึกเข้าไปส่วนที่ยากที่ฉันอาจยังไม่ได้พิจารณา
ยังคงสัมภาษณ์จนกว่าจะครอบคลุมทุกอย่าง แล้วเขียน spec ที่สมบูรณ์ไปที่ SPEC.md
จัดการ Session
แก้ไขเส้นทางแต่เนิ่นๆ และบ่อยครั้ง
แก้ไข Claude ทันทีที่คุณสังเกตว่าออกนอกเส้นทาง
Esc: หยุด Claude กลางทางด้วยปุ่มEscบริบทจะถูกเก็บรักษาเพื่อเปลี่ยนทิศทางEsc + Escหรือ/rewind: กดEscสองครั้งหรือรัน/rewindเพื่อเปิด rewind menu- "/clear": รีเซ็ตบริบทระหว่างงานที่ไม่เกี่ยวข้อง
ใช้ Subagent สำหรับการสืบสวน
มอบหมายการวิจัยด้วย "use subagents to investigate X" พวกเขาสำรวจในบริบทแยกต่างหาก ทำให้ conversation หลักสะอาดสำหรับการดำเนินการ
เนื่องจากบริบทเป็นข้อจำกัดพื้นฐาน subagent จึงเป็นหนึ่งในเครื่องมือที่ทรงพลังที่สุด:
ใช้ subagent เพื่อตรวจสอบว่าระบบ authentication ของเราจัดการ token refresh อย่างไร
และว่าเรามี OAuth utilities ที่มีอยู่ที่ฉันควรนำมาใช้ซ้ำหรือไม่
ทำงานอัตโนมัติและขยายขนาด
รันหลาย Claude Sessions
รัน Claude session หลายตัวแบบขนานเพื่อเร่งการพัฒนา รัน isolated experiments หรือเริ่ม workflow ที่ซับซ้อน
เลือกแนวทางการทำงานแบบขนานตามปริมาณการประสานงานที่คุณต้องการ:
- Worktree: รัน CLI sessions แยกใน isolated git checkouts
- Desktop app: จัดการ local sessions หลายตัวด้วยภาพ
- Claude Code บนเว็บ: รัน sessions บน cloud infrastructure ที่ Anthropic จัดการ
- ทีม Agent: การประสานงานอัตโนมัติของหลาย sessions พร้อม task ร่วมกัน
หลีกเลี่ยงรูปแบบที่ล้มเหลวบ่อย
- The kitchen sink session: เริ่มด้วยงานหนึ่ง แล้วถามสิ่งที่ไม่เกี่ยวข้อง แก้ไขด้วย
/clearระหว่างงานที่ไม่เกี่ยวข้อง - แก้ไขซ้ำๆ: แก้ไขหลังจากแก้ไขสองครั้งไม่สำเร็จ
/clearและเขียน prompt ที่ดีกว่า - CLAUDE.md ที่มีมากเกินไป: ถ้า CLAUDE.md ยาวเกินไป Claude จะเพิกเฉยครึ่งหนึ่ง ตัดออกอย่างไม่ปรานี
- ความเชื่อมั่น-แล้วตรวจสอบที่ช้า: ให้บริบทการตรวจสอบ (test, scripts, screenshots)
- การสำรวจไม่มีขอบเขต: กำหนดขอบเขตการสำรวจหรือใช้ subagent
แหล่งข้อมูลที่เกี่ยวข้อง
- Claude Code ทำงานอย่างไร: agentic loop, tools และการจัดการบริบท
- ขยาย Claude Code: skills, hooks, MCP, subagents และ plugins
- Workflow ทั่วไป: สูตร step-by-step สำหรับ debugging, testing, PRs
- CLAUDE.md: จัดเก็บ project conventions และบริบทถาวร