---
read_when:
    - คุณต้องการลดการเติบโตของ context จากเอาต์พุตของ tool
    - คุณต้องการทำความเข้าใจการปรับแต่ง Anthropic prompt cache ให้เหมาะสมที่สุด
summary: การตัดผลลัพธ์ tool เก่าออกเพื่อให้ context กระชับและแคชมีประสิทธิภาพ
title: การ pruning เซสชัน
x-i18n:
    generated_at: "2026-04-23T05:31:42Z"
    model: gpt-5.4
    provider: openai
    source_hash: 1569a50e0018cca3e3ceefbdddaf093843df50cdf2f7bf62fe925299875cb487
    source_path: concepts/session-pruning.md
    workflow: 15
---

# การ pruning เซสชัน

การ pruning เซสชันจะตัด **ผลลัพธ์ของ tool เก่า** ออกจาก context ก่อนการเรียก LLM
แต่ละครั้ง ซึ่งช่วยลด context ที่พองตัวจากเอาต์พุตของ tool ที่สะสมไว้ (ผลลัพธ์ exec, การอ่านไฟล์
ผลลัพธ์การค้นหา) โดยไม่เขียนทับข้อความบทสนทนาปกติ

<Info>
การ pruning ทำเฉพาะในหน่วยความจำเท่านั้น -- ไม่ได้แก้ไข transcript ของเซสชันที่เก็บบนดิสก์
ประวัติทั้งหมดของคุณจะยังคงถูกเก็บรักษาไว้เสมอ
</Info>

## ทำไมจึงสำคัญ

เซสชันที่ยาวจะสะสมเอาต์พุตของ tool ซึ่งทำให้หน้าต่าง context ใหญ่ขึ้น สิ่งนี้
เพิ่มต้นทุน และอาจบังคับให้เกิด [Compaction](/th/concepts/compaction) เร็วกว่าที่
จำเป็น

การ pruning มีคุณค่าเป็นพิเศษสำหรับ **Anthropic prompt caching** หลังจาก cache
TTL หมดอายุ คำขอถัดไปจะทำการแคชพรอมป์ทั้งหมดใหม่อีกครั้ง การ pruning จะลด
ขนาดของการเขียนแคช ซึ่งลดต้นทุนได้โดยตรง

## วิธีการทำงาน

1. รอให้ cache TTL หมดอายุ (ค่าเริ่มต้น 5 นาที)
2. ค้นหาผลลัพธ์ของ tool เก่าสำหรับการ pruning ตามปกติ (ข้อความบทสนทนาจะไม่ถูกแตะต้อง)
3. **Soft-trim** ผลลัพธ์ที่ใหญ่เกินไป -- เก็บส่วนหัวและส่วนท้าย แล้วแทรก `...`
4. **Hard-clear** ส่วนที่เหลือ -- แทนที่ด้วย placeholder
5. รีเซ็ต TTL เพื่อให้คำขอติดตามผลใช้แคชใหม่ซ้ำได้

## การล้างข้อมูลรูปภาพแบบเดิม

OpenClaw ยังรันการล้างข้อมูลแบบแยกต่างหากที่ทำซ้ำได้อย่างปลอดภัยสำหรับเซสชันแบบเดิมเก่า
ที่เคยเก็บบล็อกรูปภาพดิบไว้ในประวัติ

- มันจะคง **3 turn ที่เสร็จสมบูรณ์ล่าสุด** ไว้แบบ byte-for-byte เพื่อให้ prefix ของ prompt
  cache สำหรับการติดตามผลล่าสุดยังคงเสถียร
- บล็อกรูปภาพเก่าที่ผ่านการประมวลผลแล้วในประวัติ `user` หรือ `toolResult` สามารถ
  ถูกแทนที่ด้วย `[image data removed - already processed by model]`
- สิ่งนี้แยกจากการ pruning ตาม cache-TTL ปกติ มันมีไว้เพื่อหยุดไม่ให้ payload ของรูปภาพที่ซ้ำกัน
  ทำลาย prompt cache ใน turn ถัด ๆ ไป

## ค่าเริ่มต้นอัจฉริยะ

OpenClaw เปิดใช้การ pruning อัตโนมัติสำหรับโปรไฟล์ Anthropic:

| ประเภทโปรไฟล์                                           | เปิดใช้การ pruning | Heartbeat |
| -------------------------------------------------------- | ------------------ | --------- |
| Anthropic OAuth/token auth (รวมถึงการใช้ Claude CLI ซ้ำ) | ใช่                | 1 ชั่วโมง |
| API key                                                  | ใช่                | 30 นาที   |

หากคุณตั้งค่าอย่างชัดเจน OpenClaw จะไม่เขียนทับค่าเหล่านั้น

## การเปิดหรือปิดใช้งาน

สำหรับผู้ให้บริการที่ไม่ใช่ Anthropic การ pruning จะปิดไว้เป็นค่าเริ่มต้น หากต้องการเปิดใช้:

```json5
{
  agents: {
    defaults: {
      contextPruning: { mode: "cache-ttl", ttl: "5m" },
    },
  },
}
```

หากต้องการปิดใช้งาน: ตั้งค่า `mode: "off"`

## การ pruning เทียบกับ Compaction

|            | การ pruning         | Compaction              |
| ---------- | ------------------- | ----------------------- |
| **คืออะไร** | ตัดผลลัพธ์ของ tool  | สรุปบทสนทนา            |
| **บันทึกไว้หรือไม่?** | ไม่ (ต่อคำขอ)        | ใช่ (ใน transcript)     |
| **ขอบเขต** | เฉพาะผลลัพธ์ของ tool | ทั้งบทสนทนา            |

ทั้งสองอย่างทำงานเสริมกัน -- การ pruning ช่วยให้เอาต์พุตของ tool กระชับ
ระหว่างรอบของ Compaction

## อ่านเพิ่มเติม

- [Compaction](/th/concepts/compaction) -- การลด context แบบอิงการสรุป
- [การกำหนดค่า Gateway](/th/gateway/configuration) -- ตัวเลือก config การ pruning ทั้งหมด
  (`contextPruning.*`)
