Skip to main content

สำรวจ Context Window

การจำลองเชิงโต้ตอบว่า context window ของ Claude Code เต็มขึ้นอย่างไรระหว่างเซสชัน ดูว่าอะไรโหลดโดยอัตโนมัติ แต่ละการอ่านไฟล์มีค่าใช้จ่ายเท่าไหร่ และ rules และ hooks ทำงานเมื่อใด

ภาพรวม Context Window

Context window ของ Claude Code คือหน่วยความจำการทำงานสำหรับเซสชัน ประกอบด้วยประวัติการสนทนา เนื้อหาไฟล์ ผลลัพธ์คำสั่ง CLAUDE.md, auto memory, skills ที่โหลด และ system instructions

สิ่งที่โหลดเมื่อเริ่มต้น

เมื่อเซสชัน Claude Code เริ่มต้น รายการต่อไปนี้จะโหลดเข้าสู่ context window โดยอัตโนมัติ:

รายการToken โดยประมาณรายละเอียด
System prompt~4,200คำแนะนำหลักสำหรับพฤติกรรม การใช้เครื่องมือ และการจัดรูปแบบการตอบกลับ โหลดก่อนเสมอ คุณไม่เคยเห็น
Auto memory (MEMORY.md)~680บันทึกของ Claude สำหรับตัวเองจากเซสชันก่อนหน้า 200 บรรทัดแรกหรือ 25KB โหลดเข้าสู่ context การสนทนา
Environment info~280working directory, platform, shell, เวอร์ชัน OS และว่าเป็น git repo หรือไม่
MCP tools (deferred)~120ชื่อ tool MCP แสดงให้ Claude ทราบว่ามีอะไรบ้าง โดยค่าเริ่มต้น schema แบบเต็มยังคง deferred และ Claude โหลดเฉพาะ schema ตามความต้องการ
Skill descriptions~450คำอธิบายบรรทัดเดียวของ skills ที่มี เนื้อหา skill แบบเต็มโหลดเฉพาะเมื่อ Claude ใช้จริง
~/.claude/CLAUDE.md~320การตั้งค่าส่วนตัวของคุณ ใช้กับทุกโปรเจกต์
Project CLAUDE.md~1,800conventions โปรเจกต์ build commands หมายเหตุ architecture ไฟล์ที่สำคัญที่สุดที่คุณสร้างได้

การเติม Context ระหว่างเซสชัน

หลังจาก startup ขนาด context จะเติบโตตามการกระทำของ Claude:

การอ่านไฟล์

Read src/api/auth.ts  →  ~2,400 tokens
Read src/lib/tokens.ts → ~1,100 tokens
Read middleware.ts → ~1,800 tokens

Claude อ่านไฟล์เพื่อทำความเข้าใจโค้ด คุณเห็น "Read auth.ts" ใน terminal แต่เนื้อหา 2,400 tokens ของไฟล์มีเฉพาะ Claude เท่านั้นที่เห็น

เคล็ดลับ: การอ่านไฟล์ครองการใช้ context ให้เฉพาะเจาะจงใน prompts ("fix the bug in auth.ts") เพื่อให้ Claude อ่านไฟล์น้อยลง สำหรับงานวิจัยมาก ให้ใช้ subagent

Rules ที่โหลดตาม Path

Rule: api-conventions.md  →  ~380 tokens

rule ใน .claude/rules/ ที่มี pattern paths: ตรงกับ src/api/** จะโหลดโดยอัตโนมัติเมื่อ Claude อ่านไฟล์ในไดเรกทอรีนั้น

ผลลัพธ์การค้นหา

grep "refreshToken"  →  ~600 tokens

ผลการค้นหาทั่วทั้ง codebase

การตอบกลับของ Claude

Claude's analysis  →  ~800 tokens
Edit auth.ts → ~400 tokens

การวิเคราะห์และการแก้ไขที่ปรากฏใน terminal ของคุณ

Hook Output

Hook: prettier  →  ~120 tokens

PostToolUse hook ที่รัน prettier หลังทุกการแก้ไขไฟล์รายงานผ่าน hookSpecificOutput.additionalContext field นั้นเข้าสู่ context ของ Claude

เมื่อ Context เต็ม

Claude Code จัดการ context โดยอัตโนมัติเมื่อใกล้ถึงขีดจำกัด มันล้างผลลัพธ์ tool เก่าก่อน จากนั้น compact (สรุป) การสนทนาถ้าจำเป็น

สิ่งที่รอดจาก compaction:

  • CLAUDE.md และ auto memory (โหลดใหม่จากดิสก์)
  • คำขอของคุณและ code snippets หลัก
  • คำแนะนำจาก CLAUDE.md (ไม่ใช่คำแนะนำในการสนทนาเท่านั้น)

อาจสูญหายหลัง compaction:

  • คำแนะนำโดยละเอียดจากต้นการสนทนา
  • ผลลัพธ์ tool ที่เก่ากว่า

การจัดการ Context อย่างมีประสิทธิภาพ

ตรวจสอบการใช้งาน

รัน /context เพื่อดูสิ่งที่กิน space ในขณะนี้

ล้างระหว่างงาน

/clear

เริ่มใหม่เมื่อเปลี่ยนไปทำงานที่ไม่เกี่ยวข้อง context ที่ค้างอยู่เสีย tokens ในทุกข้อความถัดไป ใช้ /rename ก่อนล้างเพื่อให้ค้นหาเซสชันในภายหลังได้

Compact ด้วย Focus

/compact Focus on code samples and API usage

บอก Claude ว่าจะเก็บอะไรไว้ระหว่างการสรุป

คุณยังปรับแต่งพฤติกรรม compaction ใน CLAUDE.md ได้:

# Compact instructions

When you are using compact, please focus on test output and code changes

ต้นทุน Context ตามฟีเจอร์

ฟีเจอร์เมื่อโหลดสิ่งที่โหลดต้นทุน Context
CLAUDE.mdเริ่มต้นเซสชันเนื้อหาทั้งหมดทุก request
Skillsเริ่มต้นเซสชัน + เมื่อใช้คำอธิบายตอนเริ่ม เนื้อหาแบบเต็มเมื่อใช้ต่ำ
MCP serversเริ่มต้นเซสชันชื่อ tool; schemas แบบเต็มตามต้องการต่ำจนกว่าจะใช้ tool
Code intelligenceหลังแก้ไขไฟล์และตามต้องการdiagnostics หลังแก้ไข; ข้อมูล symbol เมื่อค้นหาต่ำ
Subagentsตามต้องการContext ใหม่แยกแยกจากเซสชันหลัก
Hooksเมื่อ triggerไม่มี (รันภายนอก)ศูนย์ เว้นแต่ hook ส่งคืน output

เคล็ดลับการประหยัด Token

  1. เฉพาะเจาะจงใน prompts: "fix the bug in auth.ts" แทนที่จะเป็น "improve this codebase"
  2. ใช้ subagents สำหรับงานวิจัย: การสำรวจเกิดขึ้นใน context แยก
  3. ปิดใช้งาน MCP servers ที่ไม่ได้ใช้: รัน /mcp เพื่อดูเซิร์ฟเวอร์ที่กำหนดค่าและปิดใช้งานที่ไม่ใช้งาน
  4. ใช้ code intelligence plugins: ลดการอ่านไฟล์โดยไม่จำเป็น
  5. ใช้ plan mode: วางแผนก่อนแล้วค่อยดำเนินการ หลีกเลี่ยงการทำงานซ้ำซ้อนเมื่อทิศทางผิด
  6. ย้ายคำแนะนำจาก CLAUDE.md ไปยัง skills: skills โหลดตามต้องการเท่านั้น