วิธีปิดหน่วยความจำอัตโนมัติของ Claude Code ในโปรเจกต์เดียว
Markdownปิดหน่วยความจำอัตโนมัติของ Claude Code ในโปรเจกต์เดียวได้ด้วยบรรทัด autoMemoryEnabled: false ใน .claude/settings.json วิธีนี้ดีกว่า /memory อย่างไร และจะจัดระเบียบบันทึกอย่างไร
อ่านบทความฉบับเต็ม
หากต้องการปิดหน่วยความจำอัตโนมัติของ Claude Code สำหรับโปรเจกต์เดียว ให้เพิ่ม "autoMemoryEnabled": false ลงในไฟล์ .claude/settings.json ของโปรเจกต์นั้น ปุ่มสลับในคำสั่ง /memory ไม่เหมาะกับกรณีนี้ เพราะจะเขียนการตั้งค่าไปยังไฟล์ส่วนกลางและปิดหน่วยความจำสำหรับทุกโปรเจกต์ในคอมพิวเตอร์ของคุณ
เอเจนต์อาจมีข้อมูลที่ไม่จำเป็นมากเกินไปจนสับสนได้อย่างรวดเร็ว ในกรณีที่กล่าวถึงนี้ Hermes ใช้เวลา 2 ชั่วโมงคิดเรื่องงานหนึ่ง เมื่อถูกถามว่า “คุณใช้โทเค็นไปกี่โทเค็น” ก็ตอบว่า “ประเมินคร่าว ๆ ว่าประมาณ 100 ล้าน” แก้โจทย์สำเร็จไหม “ไม่ ฉันค้นคว้าเรื่องนั้นอยู่” มันไล่ดูไฟล์ทั้งหมดทีละไฟล์ต่อไปและเริ่มสับสน
ด้วยเหตุนี้ คุณจึงควรใส่เฉพาะข้อมูลที่มีคุณค่าที่สุดไว้ในหน่วยความจำของเอเจนต์ และจากการประเมินในกรณีนี้ หน่วยความจำอัตโนมัติของ Claude Code ค่อนข้างอ่อน: เล็กมากและบีบอัดอย่างหนัก หากต้องการให้ Claude ทำงานตามกฎของคุณเท่านั้น การตั้งค่า 1 บรรทัดในโปรเจกต์ก็เพียงพอ
มาดูกันว่าหน่วยความจำอัตโนมัติแตกต่างจาก CLAUDE.md อย่างไร ปิดได้อย่างไร และควรทำอย่างไรกับบันทึกเก่า ไปกันเลย
เอกสารอ้างอิงของ Ailoot: ailoot.ai/docs/.
ประเด็นสำคัญ
เปิดไฟล์ .claude/settings.json ของโปรเจกต์ แล้วเพิ่ม "autoMemoryEnabled": false หากมีคนอื่นทำงานในโปรเจกต์ด้วย และคุณต้องการปิดหน่วยความจำเฉพาะสำหรับตัวเอง ให้ใส่คีย์เดียวกันใน .claude/settings.local.json คีย์นี้มีผลกับโปรเจกต์นี้เท่านั้น ส่วนโปรเจกต์อื่นยังคงใช้หน่วยความจำได้ ปุ่มสลับใน /memory จะเขียนคีย์ลงใน ~/.claude/settings.json และปิดหน่วยความจำทุกที่ เมื่อปิดหน่วยความจำแล้ว บันทึกเก่าจะยังคงอยู่ในดิสก์ คุณเปิดดูผ่าน /memory และจัดระเบียบด้วยตนเองได้
หน่วยความจำอัตโนมัติแตกต่างจาก CLAUDE.md อย่างไร
CLAUDE.md เป็นไฟล์คำสั่งหลักที่คุณเขียนเอง ในแชตใหม่ทุกครั้ง Claude จะถามตัวเองประมาณว่า “ที่นี่มีอะไรบ้าง ฉันเป็นใคร ฉันควรทำอะไร” เมื่อทุกอย่างเขียนไว้ใน CLAUDE.md แล้ว มันก็จะบอกว่า “เข้าใจแล้ว ฉันเป็นผู้เชี่ยวชาญ รับทราบ”
Claude เขียนหน่วยความจำอัตโนมัติด้วยตัวเอง คุณบอกว่า “จำไว้ว่าคุณควรตอบด้วยภาษาที่ฉันต้องการเสมอ” หรือ “อย่าฝังค่าไว้ในโค้ด ให้ดึงค่าจากฐานข้อมูลเสมอ” แล้วมันก็เขียนไฟล์ในโฟลเดอร์หน่วยความจำในทำนองว่า “อย่าทำแบบนั้นอีก” ในเซสชันถัดไป มันจะนึกเรื่องนี้ได้
แน่นอนว่าไม่ได้เป็นเช่นนั้นเสมอไป เอเจนต์ยังคงลืมเรื่องต่าง ๆ และคุณต้องคอยดูแลพวกมัน: “ฟังนะเพื่อน คุณลืมอีกแล้ว เราคุยเรื่องนี้กันไปแล้ว” มันตอบว่า “อ๋อ ใช่ ฉันจำได้แล้ว ฉันเจอเรื่องนี้ในไฟล์ตรงนี้” นั่นเป็นเหตุผลที่โดยทั่วไปเราจะใส่ทุกอย่างที่สำคัญไว้ใน CLAUDE.md แทนที่จะพึ่งพาหน่วยความจำ
มีคำอธิบายโดยละเอียดว่าควรใส่กฎใดบ้างใน CLAUDE.md ในบทความแยก และอธิบายว่า Memory ในแชต Claude แตกต่างจาก CLAUDE.md อย่างไร ในอีกบทความหนึ่ง
หากคุณสร้างโปรเจกต์ด้วยเอเจนต์ AI ให้เก็บเอกสารของเครื่องมือที่ใช้ไว้ใกล้มือ
Claude เขียนอะไรด้วยตัวเอง
Claude Code บันทึกโน้ต 4 ประเภท:
user— บทบาท ประสบการณ์ และวิธีทำงานที่คุณต้องการ;feedback— การแก้ไขของคุณและแนวทางที่คุณยืนยันแล้ว;project— งานปัจจุบัน กำหนดเวลา และการตัดสินใจที่มองไม่เห็นในโค้ด;reference— แหล่งค้นหาข้อมูลนอกโปรเจกต์ เช่น ตัวติดตามงาน
ทั้งหมดนี้อยู่ใน ~/.claude/projects/<project>/memory/ ไฟล์หลักในนั้นคือ MEMORY.md ซึ่งเป็นสารบัญที่มี 1 บรรทัดต่อโน้ตหนึ่งรายการ เมื่อเริ่มแต่ละเซสชัน Claude จะอ่าน 200 บรรทัดแรกหรือ 25 KB จากไฟล์นี้ และเปิดไฟล์อื่นเมื่อต้องใช้ หน่วยความจำอยู่ในคอมพิวเตอร์ของคุณเท่านั้น ไม่ได้ย้ายไปยังเครื่องอื่นหรือคลาวด์
ในตัวอย่างที่กล่าวถึงนี้ มีชื่อและบทบาทของผู้ใช้ รวมถึงกฎห้ามฝังค่าแบบไดนามิกไว้ในโค้ด ทั้งหมดมีเพียง 5–7 บรรทัด นี่คือกฎสำหรับตัวเอเจนต์เอง ว่าควรทำงานอย่างไร
คุณจัดเก็บความรู้เกี่ยวกับโปรเจกต์ไว้ในสมองที่สองได้ โดยใช้โฟลเดอร์ที่มีไฟล์ซึ่งเอเจนต์อ่านผ่านลิงก์ได้ สำหรับแนวทางนี้ การกำหนดทักษะ “สมองที่สอง” และเก็บ PDF ที่มีคำสั่งติดตั้ง Hermes กับตาราง “ควรใช้โมเดลใดกับงานใด” ไว้ข้างไฟล์โปรเจกต์จะเป็นประโยชน์
วิธีปิดหน่วยความจำอัตโนมัติสำหรับโปรเจกต์เดียว
เพิ่มบรรทัดลงในการตั้งค่าโปรเจกต์
โฟลเดอร์หลักของโปรเจกต์มีโฟลเดอร์
.claudeที่ซ่อนอยู่และมีไฟล์settings.jsonอยู่ภายใน วิธีที่ง่ายที่สุดคือขอให้ Claude Code ทำเองว่า: “เพิ่ม"autoMemoryEnabled": falseลงในไฟล์.claude/settings.jsonของโปรเจกต์นี้ และคงการตั้งค่าอื่นไว้ตามเดิม” หากคุณเปิดไฟล์ด้วยตนเองแล้วพบว่ายังไม่มีไฟล์ ให้สร้างไฟล์โดยใส่เนื้อหานี้:{ "autoMemoryEnabled": false }หากไฟล์มีการตั้งค่าอยู่แล้ว ให้เพิ่มคีย์นี้ไว้ร่วมกับการตั้งค่าอื่นและคงส่วนที่เหลือไว้ตามเดิม เมื่อ
autoMemoryEnabledเป็นfalseClaude จะไม่อ่านโฟลเดอร์หน่วยความจำและไม่เขียนอะไรลงไปเลือกว่าใครจะได้รับผลจากการตั้งค่านี้
.claude/settings.jsonเป็นไฟล์โปรเจกต์ที่ใช้ร่วมกัน และมีผลกับทุกคนที่ทำงานในโปรเจกต์ หากต้องการปิดหน่วยความจำเฉพาะสำหรับตัวเอง ให้ใส่คีย์เดียวกันใน.claude/settings.local.jsonซึ่งเป็นไฟล์การตั้งค่าส่วนตัวของคุณสำหรับโปรเจกต์นี้การตั้งค่าโปรเจกต์มีลำดับความสำคัญเหนือการตั้งค่าส่วนกลางของคุณ แม้หน่วยความจำจะเปิดใช้งานอยู่ใน
~/.claude/settings.jsonค่าfalseก็จะมีผลกับโปรเจกต์นี้เริ่ม Claude Code ใหม่
ปิดเซสชันแล้วรัน
claudeอีกครั้งในโฟลเดอร์โปรเจกต์ พิมพ์/status: ไฟล์โปรเจกต์ควรปรากฏในบรรทัดSetting sourcesหากปรากฏ แสดงว่า Claude อ่านไฟล์แล้ว หน่วยความจำจะยังเปิดใช้งานในโปรเจกต์ข้างเคียง
ยังมีอีก 2 วิธี แต่ใช้เพื่อวัตถุประสงค์ต่างกัน:
- ตัวแปรสภาพแวดล้อม
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1. การรันCLAUDE_CODE_DISABLE_AUTO_MEMORY=1 claudeจะปิดหน่วยความจำเฉพาะการรันครั้งนั้น และมีลำดับเหนือคีย์ในไฟล์การตั้งค่า แต่คุณต้องพิมพ์คำสั่งนี้ทุกครั้ง - ปุ่มสลับใน
/memory. ปุ่มนี้เขียนautoMemoryEnabledลงใน~/.claude/settings.jsonซึ่งเป็นไฟล์ส่วนกลางสำหรับทุกโปรเจกต์ในคอมพิวเตอร์ หากใช้ในโปรเจกต์หนึ่ง ก็จะปิดหน่วยความจำทุกที่
อีกเรื่องหนึ่ง: ในเซสชันเบื้องหลัง ปุ่มสลับจะปิดหน่วยความจำได้เท่านั้น ไม่สามารถเปิดกลับมาได้ หากต้องการเปิดใช้งาน ให้ใช้เซสชันปกติที่คุณเริ่มเองด้วยการรัน claude ในเทอร์มินัล
คำเตือน
การปิดหน่วยความจำไม่ได้ลบสิ่งที่ Claude เขียนไว้แล้ว โฟลเดอร์ memory จะยังคงอยู่ในดิสก์จนกว่าคุณจะจัดระเบียบด้วยตนเอง
ควรทำอย่างไรกับโน้ตเก่า
คำสั่ง /memory แสดงไฟล์หน่วยความจำและให้คุณเปิดไฟล์ใดก็ได้ ไฟล์เหล่านี้เป็นไฟล์ข้อความทั่วไป คุณแก้ไขหรือลบได้
อย่าลบโดยไม่ตรวจดูก่อน ให้ดูว่ามีอะไรอยู่บ้าง ในกรณีการจัดระเบียบโฟลเดอร์กฎที่กล่าวถึงนี้ เอเจนต์ได้บันทึกข้อมูลที่ไม่จำเป็นเกี่ยวกับผู้ใช้ไว้ระหว่างการทบทวนตัวเอง กฎที่รกก็เป็นอันตรายพอ ๆ กับไฟล์ CLAUDE.md หลักที่เต็มไปด้วยกฎล้าสมัย เอเจนต์ยังคงใช้กฎเหล่านั้น หลอนข้อมูล และให้บริบทแก่คุณได้แย่ลง
คุณขอให้เอเจนต์จัดระเบียบได้ สัปดาห์ละครั้ง คุณอาจมอบหมายงานแบบนี้สำหรับโฟลเดอร์ธุรกิจ ซึ่งใช้กับโฟลเดอร์หน่วยความจำได้เช่นกัน:
งานของคุณคือค้นหาทุกสิ่งที่ไม่เกี่ยวข้องอีกต่อไปหรือล้าสมัย และพิสูจน์ว่าสิ่งนั้นล้าสมัยจริง ห้ามลบทิ้งในตอนนี้ ให้ค้นหาแล้วนำเสนอแก่ฉันเท่านั้น
เอเจนต์จะแสดงรายการพร้อมหลักฐาน แล้วคุณค่อยตัดสินใจว่าจะลบอะไร ย้ายเฉพาะข้อมูลที่มีคุณค่าที่สุดจากโน้ตไปไว้ใน CLAUDE.md มีคำอธิบายวิธีทำให้คำสั่งสั้นเพื่อให้ Claude ทำตามได้ ในบทความแยก ส่วนวิธีจัดระเบียบหน่วยความจำของโปรเจกต์ทั้งหมดด้วยโฟลเดอร์และกฎ อธิบายไว้ ในบทความเรื่องสมองที่สอง
คุณเปิดหน่วยความจำอัตโนมัติไว้หรือปิดไปแล้ว ลองตรวจดูว่า Claude จำอะไรเกี่ยวกับคุณได้บ้าง คุณสำรวจ Ailoot ต่อได้ที่ ailoot.ai
แหล่งที่มา
- Claude Code: Claude จดจำโปรเจกต์ของคุณอย่างไร — ประเภทโน้ต โฟลเดอร์หน่วยความจำ 200 บรรทัดหรือ 25 KB ปุ่มสลับ /memory การตั้งค่าสำหรับโปรเจกต์เดียว และตัวแปรสภาพแวดล้อม
- Claude Code: ไฟล์การตั้งค่าและลำดับความสำคัญ —
.claude/settings.json,.claude/settings.local.jsonและ~/.claude/settings.jsonรวมถึงไฟล์ที่มีลำดับความสำคัญเหนือกว่า - Claude Code: ข้อมูลอ้างอิงการตั้งค่า autoMemoryEnabled — ผลของค่า
falseตำแหน่งที่ตั้งคีย์ได้ และลำดับความสำคัญของตัวแปรสภาพแวดล้อม
รายละเอียดเพิ่มเติม
คำถามที่พบบ่อย
ไฟล์ตั้งค่าใดปิดหน่วยความจำเฉพาะฉันในโปรเจกต์เดียว?
ใส่ "autoMemoryEnabled": false ใน .claude/settings.local.json ของโปรเจกต์นั้น หากต้องใช้ค่าร่วมกันทั้งโปรเจกต์ให้ใช้ .claude/settings.json ส่วนสวิตช์ /memory เปลี่ยนค่าทั่วระบบ จึงไม่เหมาะเมื่อโปรเจกต์ข้างเคียงยังต้องใช้หน่วยความจำ
ปิด auto memory แล้วบันทึกเก่าจะถูกลบหรือไม่?
ไม่ถูกลบ โฟลเดอร์หน่วยความจำยังอยู่บนดิสก์ ตรวจไฟล์ก่อนลบ และเก็บการตัดสินใจที่มีประโยชน์ไว้ที่อื่นตามต้องการ หลังเปลี่ยนค่าโปรเจกต์ให้เริ่ม Claude Code ใหม่ แล้วตรวจ /status ว่าโหลดค่าจากแหล่งใด