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 โหลดตามต้องการเท่านั้น