Hooks คือสคริปต์ที่รันอัตโนมัติตาม event ของ Claude Code (ก่อน/หลังเรียก tool, เริ่ม/จบ session)
ตั้งค่าใน .claude/settings.json:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [{ "type": "command", "command": "scripts/block-dangerous.sh" }]
}
]
}
}
ใช้ทำ: บล็อกคำสั่งอันตรายอัตโนมัติก่อนรันจริง, log ทุกการแก้ไฟล์, รัน linter อัตโนมัติหลัง edit
กฎ: hook คือสิ่งที่ทีมต้อง "บังคับ" จริงจัง (ไม่ใช่แค่ขอให้ Claude ระวัง) — ใช้เมื่อ prompt-level instruction ไม่พอ
MCP (Model Context Protocol) คือมาตรฐานเชื่อม Claude กับ tool ภายนอก (database, API, ระบบภายในบริษัท)
ตั้งค่าใน .mcp.json:
{
"mcpServers": {
"my-database": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]
}
}
}
หลังตั้งค่า Claude จะเรียก query database ได้ตรงๆ ผ่าน tool ที่ MCP server เปิดให้ — ไม่ต้องเขียน wrapper เอง
สำคัญ: ก่อนติดตั้ง MCP server จากคนอื่น ตรวจ source (official vendor vs unknown repo) เหมือน install dependency ทั่วไป — มันรันโค้ดจริงในเครื่อง
รัน Claude Code แบบไม่ interactive สำหรับ script/CI:
claude -p "run the test suite and report failures" --output-format json
ใช้ต่อยอดเป็น: pre-commit check, scheduled report (cron), CI pipeline step ที่ให้ Claude สรุปผล test/build
เมื่องานใหญ่เกินกว่า 1 agent ทำไหว (เช่น review ทั้ง repo, migrate 50 ไฟล์พร้อมกัน) ใช้ workflow ที่ fan-out เป็นหลาย agent พร้อมกัน แล้ว synthesize ผลกลับมา
Finder agents (หาแต่ละมุม) → Verifier agents (ยืนยันแต่ละ finding แยกกัน) → Synthesis (สรุปเดียว)
ใช้เมื่อ: ต้องความครอบคลุม (audit ทั้ง codebase), ต้องความมั่นใจ (หลาย agent verify ก่อนเชื่อ finding เดียว), หรืองานสเกลใหญ่เกิน context เดียวถือไหว
ข้อควรระวัง: ต้นทุน token สูงกว่าทำเอง — ใช้เมื่อของจริงต้องการ ไม่ใช่ default
.claude/settings.json ตั้งได้ว่า tool ไหนรันได้เลยไม่ต้องถาม, ตัวไหนต้องถามทุกครั้ง, ตัวไหนห้ามเด็ดขาด:
{
"permissions": {
"allow": ["Bash(npm test:*)", "Bash(git status)"],
"deny": ["Bash(rm -rf:*)"],
"ask": ["Bash(git push:*)"]
}
}
ทีมที่ทำงานร่วมกันควรตกลง policy นี้ร่วมกัน — ลดจำนวนครั้งที่ต้องกด "อนุมัติ" ของงานที่ปลอดภัยแน่นอน ในขณะที่ยังคุมงานเสี่ยงไว้
Skill คือชุดความรู้/ขั้นตอนที่โหลดเข้ามาเฉพาะตอนที่เกี่ยวข้อง (ไม่กิน context ตลอดเวลา) สร้างได้เองที่ .claude/skills/<name>/SKILL.md:
---
name: deploy-checklist
description: Use before any production deploy. Checklist of pre-deploy checks.
---
Before deploying to production:
1. Run full test suite
2. Check migration is reversible
3. Confirm rollback plan exists
เหมาะกับ pattern ที่ทีมทำซ้ำๆ และมี "วิธีที่ถูกต้อง" ชัดเจน (deploy checklist, code style เฉพาะทีม, debugging pattern เฉพาะ stack)
จับคู่โมเดลกับความซับซ้อนของการตัดสินใจ ไม่ใช่ขนาดงาน:
| ระดับความเสี่ยง (ตอบผิดแล้วเสียหายแค่ไหน) | โมเดล |
|---|---|
| ตอบผิดไม่เป็นไร (format, boilerplate, ค้นไฟล์) | โมเดลเบา/เร็ว |
| ตอบผิดแก้ทีหลังได้ (dev งานทั่วไป, test, review) | โมเดล default |
| ตอบผิดเสียหายจริง (สถาปัตยกรรม, security, financial calc) | โมเดลที่ฉลาดที่สุดที่มี |
หลักคิด: ไฟล์ 300 บรรทัดที่แค่ parse CSV ไม่ต้องใช้โมเดลแพงสุด แต่ trading algo 3 บรรทัดต้องใช้
/clear /compact cadence กันแต่ละคนสไตล์ต่างกันจนงงตอน handoff งาน| เรื่อง | นโยบายแนะนำ |
|---|---|
| Secrets | ห้าม Claude เขียน key ลงโค้ด — บังคับผ่าน hook เช็คก่อน commit |
| 3rd-party install | ตั้ง gate ก่อนติดตั้ง dependency ใหม่ (ตรวจ source, license, maintainer) |
| Production deploy | ห้าม auto-push เข้า main/deploy — ต้องผ่าน PR + review เสมอ |
| Destructive commands | deny list ใน settings.json (rm -rf, git reset --hard, force push) |
Claude Agent SDK (Python/TypeScript) ให้เขียนแอปพลิเคชันของตัวเองที่ฝัง Claude เข้าไปเป็น agent — ไม่ใช่ใช้ผ่าน terminal แบบ Claude Code แต่ควบคุมผ่านโค้ดโดยตรง (กำหนด tool เอง, permission เอง, loop เอง)
ใช้เมื่อ: อยากสร้างผลิตภัณฑ์/บริการที่มี AI agent อยู่ข้างใน (ไม่ใช่แค่ใช้ช่วยเขียนโค้ด) เช่น chatbot ภายในที่ query database เอง, ระบบ auto-triage ticket
ตั้งงานให้รันอัตโนมัติตามตารางเวลา (ทุกเช้า, ทุกสัปดาห์) โดยไม่ต้องเปิด session เอง — บอกความถี่และ prompt ที่ต้องการ Claude จะรันแล้วส่งผลกลับ (email/Slack/ไฟล์)
ใช้เมื่อ: อยากได้ weekly report อัตโนมัติ, ตรวจสุขภาพระบบทุกเช้า, หรือ audit ที่ต้องทำซ้ำตามรอบ (เช่น รีวิว dependency ใหม่ทุกเดือน)
นอกจาก multi-agent แบบคุยสั่งเอง (§4) ยังมี tool ที่เขียนเป็น "สคริปต์ orchestration" ได้จริง — กำหนด flow ชัดเจนว่า agent ไหนทำอะไรก่อน-หลัง, อันไหนรันคู่ขนาน (parallel), อันไหนต้องรอผลจากอันอื่นก่อน (pipeline)
ใช้เมื่อ: งานที่ต้องการความแม่นยำของลำดับขั้นตอนสูง (เช่น review หลายมุมมองแล้วเอาผลมา verify ไขว้กัน) — ต่างจาก §4 ตรงที่นี่ควบคุม flow เป็นโค้ดจริง ไม่ใช่ปล่อยให้ Claude ตัดสินใจ orchestration เอง
ข้อควรระวัง: ต้นทุน token สูงมาก ใช้เฉพาะงานที่สเกล/ความมั่นใจสำคัญจริงๆ
ผูก headless mode (§3) เข้ากับ CI pipeline เช่น GitHub Actions:
- name: Claude code review
run: |
claude -p "review this PR diff for bugs and security issues" \
--output-format json > review.json
ใช้เมื่อ: อยากให้ทุก PR ผ่านการ review อัตโนมัติก่อนถึงมือคน, หรือรัน test summary อัตโนมัติทุกครั้งที่ push
ข้อควรระวัง: ต้องมี API key/credential แยกสำหรับ CI (อย่าใช้ credential ส่วนตัว) และตั้ง cost limit ไว้ป้องกันบิลบาน
| อาการ | สาเหตุ | แก้ |
|---|---|---|
| Hook ทำงานช้า/บล็อกงานทั่วไป | matcher กว้างเกินไป | เขียน matcher ให้เจาะจง ทดสอบก่อน deploy จริง |
| MCP server ล่มแล้วทั้ง session ค้าง | ไม่มี timeout/fallback | ทดสอบ MCP server แยกก่อนผูกเข้า workflow จริง |
| Multi-agent ใช้ token บานปลาย | fan-out agent เยอะเกินความจำเป็นของงาน | ใช้เฉพาะงานที่สเกลจริงต้องการ ไม่ใช่ default ทุกงาน |
| ทีมแต่ละคน CLAUDE.md ไม่ตรงกัน | ไม่มี team standard | ทำ template กลาง บังคับ pattern เดียวกัน |