Sessions and memory
การพรูนเซสชัน
การพรูนเซสชันจะตัดผลลัพธ์ของเครื่องมือเก่าออกจากบริบทก่อนการเรียก LLM แต่ละครั้ง ซึ่งช่วยลดการพองตัวของบริบทจากเอาต์พุตเครื่องมือที่สะสมอยู่ (ผลลัพธ์ exec, การอ่านไฟล์, ผลการค้นหา) โดยไม่เขียนทับข้อความสนทนาปกติ
เหตุใดจึงสำคัญ
เซสชันที่ยาวมักสะสมเอาต์พุตเครื่องมือที่ทำให้หน้าต่างบริบทใหญ่ขึ้น สิ่งนี้ เพิ่มต้นทุนและอาจบังคับให้เกิด Compaction เร็วกว่าที่ จำเป็น
การพรูนมีคุณค่าอย่างยิ่งสำหรับprompt cache ของ Anthropic เมื่อ cache TTL หมดอายุ คำขอถัดไปจะทำการแคชพรอมป์ทั้งหมดใหม่ การพรูนจะลดขนาด การเขียน cache ซึ่งช่วยลดต้นทุนได้โดยตรง
วิธีการทำงาน
- รอให้ cache TTL หมดอายุ (ค่าเริ่มต้น 5 นาที)
- ค้นหาผลลัพธ์เครื่องมือเก่าสำหรับการพรูนตามปกติ (ข้อความสนทนาจะไม่ถูกแตะต้อง)
- Soft-trim ผลลัพธ์ที่มีขนาดใหญ่เกินไป -- เก็บส่วนต้นและส่วนท้ายไว้ แล้วแทรก
... - Hard-clear ส่วนที่เหลือ -- แทนที่ด้วย placeholder
- รีเซ็ต TTL เพื่อให้คำขอติดตามผลนำ cache ใหม่กลับมาใช้ซ้ำ
การล้างข้อมูลภาพแบบเดิม
OpenClaw ยังสร้างมุมมอง replay แบบ idempotent แยกต่างหากสำหรับเซสชันที่ เก็บ image block ดิบหรือ media marker สำหรับการเติมพรอมป์ไว้ในประวัติ
- ระบบจะเก็บ3 turn ที่เสร็จสมบูรณ์ล่าสุดไว้แบบ byte-for-byte เพื่อให้ prompt cache prefix สำหรับการติดตามผลล่าสุดยังคงเสถียร
- ในมุมมอง replay image block เก่าที่ประมวลผลแล้วจากประวัติ
userหรือtoolResultสามารถถูกแทนที่ด้วย[image data removed - already processed by model] - การอ้างอิงสื่อแบบข้อความที่เก่ากว่า เช่น
[media attached: ...],[Image: source: ...]และmedia://inbound/...สามารถถูกแทนที่ด้วย[media reference removed - already processed by model]ตัวทำเครื่องหมายไฟล์แนบของ turn ปัจจุบัน จะยังคงอยู่เพื่อให้ vision model ยังเติมภาพใหม่ได้ - ทรานสคริปต์เซสชันดิบจะไม่ถูกเขียนทับ ดังนั้นตัวแสดงประวัติยังคง แสดงรายการข้อความต้นฉบับและภาพของรายการเหล่านั้นได้
- สิ่งนี้แยกจากการพรูน cache-TTL ตามปกติ โดยมีไว้เพื่อหยุดไม่ให้ payload ภาพที่ซ้ำกันหรือ media ref เก่าทำให้ prompt cache ใช้งานไม่ได้ใน turn ถัดไป
ค่าเริ่มต้นอัจฉริยะ
OpenClaw จะเปิดใช้การพรูนอัตโนมัติสำหรับโปรไฟล์ Anthropic:
| ประเภทโปรไฟล์ | เปิดใช้การพรูน | Heartbeat |
|---|---|---|
| การยืนยันตัวตน Anthropic แบบ OAuth/token (รวมถึงการใช้ Claude CLI ซ้ำ) | ใช่ | 1 ชั่วโมง |
| API key | ใช่ | 30 นาที |
หากคุณตั้งค่าที่ชัดเจนไว้ OpenClaw จะไม่เขียนทับค่าเหล่านั้น
เปิดหรือปิดใช้งาน
สำหรับผู้ให้บริการที่ไม่ใช่ Anthropic การพรูนจะปิดไว้โดยค่าเริ่มต้น หากต้องการเปิดใช้:
{
agents: {
defaults: {
contextPruning: { mode: "cache-ttl", ttl: "5m" },
},
},
}
หากต้องการปิดใช้งาน: ตั้งค่า mode: "off"
การพรูนเทียบกับ Compaction
| การพรูน | Compaction | |
|---|---|---|
| อะไร | ตัดผลลัพธ์เครื่องมือ | สรุปการสนทนา |
| บันทึกไหม? | ไม่ (ต่อคำขอ) | ใช่ (ในทรานสคริปต์) |
| ขอบเขต | เฉพาะผลลัพธ์เครื่องมือ | การสนทนาทั้งหมด |
ทั้งสองอย่างเสริมกัน -- การพรูนช่วยให้เอาต์พุตเครื่องมือกระชับระหว่าง รอบของ Compaction
อ่านเพิ่มเติม
- Compaction -- การลดบริบทด้วยการสรุป
- Gateway Configuration -- ตัวเลือกคอนฟิกการพรูนทั้งหมด
(
contextPruning.*)