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

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

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

## เหตุใดจึงสำคัญ

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

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

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

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

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

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

## การพรูนเทียบกับ Compaction

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

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

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

- [Compaction](/th/concepts/compaction) -- การลดบริบทด้วยการสรุป
- [Gateway Configuration](/th/gateway/configuration) -- ตัวเลือกคอนฟิกการพรูนทั้งหมด
  (`contextPruning.*`)

## ที่เกี่ยวข้อง

- [การจัดการเซสชัน](/th/concepts/session)
- [เครื่องมือเซสชัน](/th/concepts/session-tool)
- [เอนจินบริบท](/th/concepts/context-engine)
