90% ของคนไม่รู้: คู่มือฉบับสมบูรณ์เกี่ยวกับแนวปฏิบัติที่ดีที่สุดของ Claude Code ที่ใช้ภายใน Anthropic

@ClaudeCode_love
ญี่ปุ่น3 เดือนที่ผ่านมา · 16 เม.ย. 2569
2.0M
1.2K
110
4
3.2K

TL;DR

คู่มือนี้อธิบายวิธีจัดการหน้าต่างบริบทขนาด 1 ล้านโทเค็นของ Claude Code โดยใช้ฟีเจอร์ rewind, compact และ subagents เพื่อรักษาคุณภาพการตอบกลับของ AI ให้สูงอยู่เสมอในระหว่างการเขียนโค้ดที่ยาวนาน

คุณมีปัญหาเหล่านี้ตอนใช้ Claude Code หรือไม่?

Claude Code Studio - inline image

・เมื่อเซสชัน Claude Code ยาวขึ้น คุณภาพคำตอบกลับลดลงโดยไม่ทราบสาเหตุ

・คำสั่งมีอะไรบ้าง? ฉันไม่ค่อยเข้าใจความแตกต่าง

・ตัดสินใจไม่ถูกว่าจะใช้ subagents เมื่อไหร่

・context รกหมดเลย

ตอนนี้ โพสต์ของ Thariq (@trq212) พนักงานของ Anthropic เกี่ยวกับ "การจัดการเซสชัน Claude Code และ context 1 ล้านโทเคน" กำลังเป็นไวรัลด้วยยอดเข้าชม 540,000 ครั้ง 😳

Claude Code Studio - inline image

ดังนั้น สำหรับทุกคนที่มีปัญหาเหล่านี้ ฉันจะแยกย่อยและอธิบายเนื้อหาให้เข้าใจง่าย ๆ 👇

โพสต์ต้นฉบับที่นี่: https://x.com/trq212/status/2044548257058328723?s=20

■ พื้นฐานของ 𝗰𝗼𝗻𝘁𝗲𝘅𝘁 𝘄𝗶𝗻𝗱𝗼𝘄

ก่อนอื่น ข้อกำหนดเบื้องต้นคือ context window ของ Claude Code มีขนาด 1 ล้านโทเคน

Claude Code Studio - inline image

context ประกอบด้วยทั้งหมดต่อไปนี้:

・System prompt

・ประวัติการสนทนาที่ผ่านมา

・การเรียกใช้เครื่องมือทั้งหมดและผลลัพธ์

・เนื้อหาของไฟล์ที่โหลด

กล่าวอีกนัยหนึ่ง ยิ่งเซสชันยาวนาน ข้อมูลก็ยิ่งสะสมใน context นี้มากขึ้น

■ 𝗰𝗼𝗻𝘁𝗲𝘅𝘁 𝗿𝗼𝘁 คืออะไร?

Claude Code Studio - inline image

แนวคิดสำคัญที่นี่คือ "context rot"

เมื่อ context เติบโตขึ้น ความสนใจของโมเดลจะกระจายไปทั่วหลายโทเคน และข้อมูลเก่าหรือไม่เกี่ยวข้องกลายเป็นสัญญาณรบกวนที่เริ่มรบกวนงานปัจจุบัน

ตามที่ Thariq กล่าว พบ context rot เริ่มประมาณ 300,000 ถึง 400,000 โทเคนในโมเดล 1 ล้านโทเคน อย่างไรก็ตาม นี่ไม่ใช่กฎตายตัวเพราะขึ้นอยู่กับงานอย่างมาก

เนื่องจาก context window มีขีดจำกัดตายตัว เมื่อคุณใกล้ถึงขีดจำกัด คุณต้องสรุปงานก่อนหน้าและดำเนินการต่อใน context ใหม่ กระบวนการนี้เรียกว่า "compaction"

■ ทุกเทิร์นคือ "จุดเปลี่ยน"

Claude Code Studio - inline image

Claude Code ควรทำอย่างไรหลังจากทำงานหนึ่งเสร็จ? นี่คือจุดตัดสินใจที่สำคัญที่สุด

Thariq ระบุตัวเลือกไว้ 5 ข้อ:

𝟭. 𝗖𝗼𝗻𝘁𝗶𝗻𝘂𝗲

ส่งข้อความถัดไปในเซสชันเดียวกัน เป็นตัวเลือกที่เป็นธรรมชาติที่สุด

𝟮. /𝗿𝗲𝘄𝗶𝗻𝗱 (กด Esc สองครั้ง)

กลับไปยังข้อความก่อนหน้าและเริ่มต้นใหม่จากจุดนั้น ข้อความที่ตามมาจะถูกลบออกจาก context

𝟯. /𝗰𝗹𝗲𝗮𝗿 (เซสชันใหม่)

สรุปข้อมูลสำคัญด้วยตัวเองและเริ่มเซสชันใหม่

𝟰. /𝗰𝗼𝗺𝗽𝗮𝗰𝘁

ให้โมเดลสรุปการสนทนาจนถึงตอนนี้และดำเนินการต่อบนพื้นฐานของสรุปนั้น

𝟱. 𝗦𝘂𝗯𝗮𝗴𝗲𝗻𝘁𝘀

มอบหมายงานส่วนถัดไปให้กับ agent ที่มี context สะอาดของตัวเอง โดยส่งคืนเฉพาะผลลัพธ์ให้เซสชันหลัก

■ เมื่อไหร่ควรเริ่มเซสชันใหม่

ต้องขอบคุณ context window 1 ล้านโทเคน งานยาว ๆ เช่นการสร้างแอป full-stack ตั้งแต่ต้นสามารถดำเนินการได้อย่างเสถียรมากขึ้น

อย่างไรก็ตาม การที่มีพื้นที่ context เหลือไม่ได้หมายความว่าคุณควรใช้เซสชันเดิมต่อไป

กฎง่าย ๆ ของ Thariq คือ:

Claude Code Studio - inline image

🔥 "ถ้าคุณเริ่มงานใหม่ คุณควรเริ่มเซสชันใหม่"

มีข้อยกเว้น เช่น การเขียนเอกสารทันทีหลังจาก implement ฟีเจอร์ ถ้าคุณเริ่มเซสชันใหม่ Claude Code ต้องอ่านไฟล์ที่เพิ่ง implement ใหม่ ซึ่งช้าและมีค่าใช้จ่ายสูง สำหรับงานอย่างเอกสารที่ไม่ต้องการ "ความฉลาดสูง" การยอมรับ context pollution บ้างแล้วดำเนินการต่อมีประสิทธิภาพมากกว่า

Claude Code Studio - inline image

■ 𝗿𝗲𝘄𝗶𝗻𝗱 คือฟีเจอร์ที่ถูกประเมินค่าต่ำที่สุด

Claude Code Studio - inline image

Thariq ยกให้ "rewind" เป็นนิสัยที่ดีที่สุดสำหรับการจัดการ context ที่ดี

ใน Claude Code คุณสามารถกลับไปยังข้อความก่อนหน้าใดก็ได้และเริ่มใหม่โดยกดปุ่ม Esc สองครั้ง (หรือใช้คำสั่ง /rewind) ข้อความหลังจากจุดนั้นจะถูกลบออกจาก context อย่างสมบูรณ์

พิจารณาสถานการณ์เฉพาะ:

Claude Code Studio - inline image

Claude อ่านไฟล์ห้าไฟล์และลองวิธีที่ล้มเหลว

❌ ปฏิกิริยาปกติ: "มันใช้ไม่ได้ ลอง X แทน"

→ บันทึกทั้งหมดของวิธีที่ล้มเหลวยังคงอยู่ใน context

✅ วิธีที่ดีกว่า: ย้อนกลับไปหลังจากอ่านไฟล์แล้ว และสั่งใหม่ด้วยสิ่งที่คุณเรียนรู้

→ "อย่าใช้วิธี A โมดูล foo ไม่เปิดเผยสิ่งนั้น ให้ไปที่ B โดยตรง"

การทำเช่นนี้ โทเคนจากการลองผิดลองถูกที่ล้มเหลวจะหายไป ทำให้สามารถลองใหม่ในสถานะที่สะอาด

ยิ่งไปกว่านั้น การใช้ฟีเจอร์ "summarize from here" ช่วยให้ Claude สรุปการเรียนรู้ของตัวเองและสร้าง "บันทึกจากตัวเองในอดีตถึงตัวเองในอนาคต"

■ ความแตกต่างสำคัญระหว่าง /𝗰𝗼𝗺𝗽𝗮𝗰𝘁 และ /𝗰𝗹𝗲𝗮𝗿

Claude Code Studio - inline image

เมื่อเซสชันยาวขึ้น มีสองวิธีในการลดน้ำหนัก ดูเหมือนคล้ายกันแต่แตกต่างอย่างสิ้นเชิง

【/compact】

・โมเดลสรุปการสนทนาและแทนที่ประวัติด้วยสรุปนั้น

・Lossy — สิ่งสำคัญขึ้นอยู่กับการตัดสินของ Claude

・คุณไม่ต้องเขียนอะไร แต่ Claude อาจพลาดบางสิ่ง

・คุณสามารถให้คำแนะนำเพื่อชี้ทาง (เช่น /compact focus on auth refactor, remove test debugging)

【/clear】

・คุณเขียนข้อมูลสำคัญด้วยตัวเองและเริ่มเซสชันใหม่

・เช่น: "เป้าหมายคือ auth middleware ข้อจำกัดคือ X ไฟล์ที่เกี่ยวข้องคือ A และ B วิธี Y ถูกยกเว้น"

・ต้องใช้ความพยายาม แต่ context ที่ได้ประกอบด้วยเฉพาะข้อมูลที่คุณเลือก

การเลือกระหว่างทั้งสองคือการแลกเปลี่ยนระหว่างการควบคุมและความสะดวก

■ ทำไม 𝗰𝗼𝗺𝗽𝗮𝗰𝘁 ถึงล้มเหลว

Claude Code Studio - inline image

เมื่อใช้เซสชันยาว คุณภาพของ compact อาจแย่มาก

ตามที่ Thariq กล่าว สาเหตุใหญ่ที่สุดของ compact ที่ไม่ดีคือ "เมื่อโมเดลไม่สามารถคาดเดาทิศทางของงานได้"

ตัวอย่าง:

หลังจากเซสชันการดีบักที่ยาวนาน autocompact ถูกเรียกใช้และสรุปการตรวจสอบ

→ ถ้าคุณพูดว่า "แก้คำเตือนนั้นใน bar.ts ด้วย" ข้อมูลเกี่ยวกับคำเตือนนั้นอาจถูกตัดออกจากสรุปที่เน้นการดีบัก

ที่ยุ่งยากยิ่งกว่าคือภาวะกลืนไม่เข้าคายไม่ออกที่เนื่องจาก context rot โมเดลอยู่ใน "สถานะความฉลาดต่ำที่สุด" เมื่อดำเนินการ compact

กล่าวอีกนัยหนึ่ง สรุปคุณภาพต่ำที่สุดถูกสร้างขึ้นในขณะที่ต้องการสรุปที่แม่นยำที่สุด

ตอนนี้เรามี context 1 ล้านโทเคน กลยุทธ์ที่ดีที่สุดคือเรียกใช้ /compact ด้วยตัวเองในขณะที่ยังมีพื้นที่เหลือ โดยเพิ่มคำอธิบายว่าต้องทำอะไรต่อไป

■ เมื่อไหร่ควรใช้ 𝗦𝘂𝗯𝗮𝗴𝗲𝗻𝘁𝘀

Claude Code Studio - inline image

Subagents ก็เป็นรูปแบบหนึ่งของการจัดการ context

เมื่อ Claude Code สร้าง subagent ด้วยเครื่องมือ Agent subagent นั้นจะมี context window สะอาดของตัวเอง

มันทำงานเท่าที่จำเป็น สรุปผลลัพธ์ และส่งคืนให้เซสชันหลัก

เกณฑ์นั้นง่าย:

👀 "ฉันจะต้องใช้ผลลัพธ์ของเครื่องมือนี้ในภายหลังอีกหรือไม่? หรือแค่ข้อสรุปก็เพียงพอ?"

ถ้าแค่ข้อสรุปก็เพียงพอ คุณควรปล่อยให้ subagent จัดการ

Claude Code เรียก subagents โดยอัตโนมัติ แต่การให้คำแนะนำที่ชัดเจนก็มีประสิทธิภาพเช่นกัน:

・"เริ่ม subagent และตรวจสอบผลงานตามไฟล์ spec นี้"

・"ใช้ subagent อ่านและสรุปว่า auth flow ถูก implement ใน codebase อื่นอย่างไร ใช้เป็นข้อมูลอ้างอิงเพื่อ implement ที่นี่"

・"ใช้ subagent เขียนเอกสารสำหรับฟีเจอร์นี้จาก git diff"

การไม่นำผลลัพธ์ระหว่างกลางเข้ามาใน context หลัก จะช่วยให้ context สะอาด

■ สรุป: 5 เทคนิคการจัดการ Context

Claude Code Studio - inline image

สิ่งที่คุณควรตัดสินใจก่อนส่งข้อความถัดไปหลังจาก Claude เสร็จหนึ่งเทิร์น:

  1. งานเปลี่ยนไปหรือไม่? → /clear สำหรับเซสชันใหม่
  2. วิธีที่ใช้ล้มเหลวหรือไม่? → /rewind เพื่อกลับไปหลังจากโหลดไฟล์
  3. เซสชันเริ่มยาวหรือไม่? → /compact ในขณะที่ยังมีพื้นที่ (พร้อมทิศทาง)
  4. เป็นงานที่มีผลลัพธ์ระหว่างกลางมากหรือไม่? → มอบหมายให้ subagent
  5. สามารถใช้ context สำหรับงานที่เกี่ยวข้องได้หรือไม่? → ดำเนินการต่อตามเดิม

ในอนาคต Claude เองจะช่วยในการตัดสินใจเหล่านี้ แต่สำหรับตอนนี้ ผู้ใช้ที่ตัดสินใจเหล่านี้สามารถปรับปรุงคุณภาพผลลัพธ์ของ Claude Code ได้อย่างมีนัยสำคัญ

การจัดการเซสชันเป็นเรื่องละเอียดอ่อน แต่เป็นทักษะที่เปลี่ยนแปลงประสบการณ์การใช้ Claude Code อย่างสิ้นเชิง 🔥

สำหรับผู้ที่พบว่าบทความนี้มีประโยชน์:

Claude Code Studio - inline image

𝗖𝗹𝗮𝘂𝗱𝗲 𝗖𝗼𝗻𝗱𝗲 𝗦𝘁𝘂𝗱𝗶𝗼 @ 𝗝𝗮𝗽𝗮𝗻 (@ClaudeCode_love) เป็นบัญชีที่ดำเนินการโดยผู้ที่ชื่นชอบ Claude Code สามคน

เราโพสต์ทุกวันเกี่ยวกับการใช้งาน CLI และระบบอัตโนมัติในทางปฏิบัติ

ปัจจุบันเรากำลังร่วมพัฒนา AI agent กับบริษัทจดทะเบียน

เนื้อหาปกติของเรา 👇

・กรณีพัฒนาผลิตภัณฑ์จริงโดยใช้ Claude Code และ Claude

・การใช้งาน Claude Code / Vibe Coding / จัดระเบียบเทรนด์การพัฒนา

・ข้อมูลล่าสุดเกี่ยวกับ Claude Code จากต่างประเทศ

ตั้งแต่ปรัชญาการพัฒนาไปจนถึงการออกแบบ การนำไปใช้ และการปรับปรุง เราสรุปข้อมูลจากต่างประเทศและข้อมูลปฐมภูมิเพื่อช่วยให้คุณปล่อยผลิตภัณฑ์ที่ใช้งานได้ ไม่ใช่แค่ "ทำเสร็จ"

ถ้าสนใจ กรุณาติดตามและลองดูนะครับ! มันคุ้มค่าแน่นอน!

บันทึกในคลิกเดียว

อ่านบทความไวรัลเชิงลึกด้วย AI ใน YouMind

บันทึกแหล่งที่มา ถามคำถามที่ตรงประเด็น สรุปข้อโต้แย้ง และเปลี่ยนบทความไวรัลให้เป็นโน้ตที่นำกลับมาใช้ได้ใน AI เวิร์กสเปซเดียว

สำรวจ YouMind
สำหรับครีเอเตอร์

เปลี่ยน Markdown ของคุณให้เป็นบทความ 𝕏 ที่สะอาดตา

เวลาคุณเผยแพร่งานเขียนยาวของตัวเอง การจัดรูปแบบรูปภาพ ตาราง และบล็อกโค้ดให้เข้ากับ 𝕏 นั้นน่าปวดหัว YouMind เปลี่ยนร่าง Markdown ทั้งฉบับให้เป็นบทความ 𝕏 ที่สะอาดตาและพร้อมโพสต์ทันที

ลอง Markdown เป็น 𝕏

แพตเทิร์นให้ถอดรหัสเพิ่มเติม

บทความไวรัลล่าสุด

สำรวจบทความไวรัลเพิ่มเติม