---
read_when:
    - คุณต้องการทำความเข้าใจว่า “บริบท” หมายถึงอะไรใน OpenClaw
    - คุณกำลังดีบักว่าทำไมโมเดลจึง “รู้” บางอย่าง (หรือลืมสิ่งนั้นไป)
    - คุณต้องการลดภาระของ context (/context, /status, /compact)
summary: 'Context: สิ่งที่โมเดลเห็น วิธีที่สร้างขึ้น และวิธีตรวจสอบ'
title: บริบท
x-i18n:
    generated_at: "2026-06-27T17:25:57Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 900b4a72acf43405a6b7718b93c3b5c8543eb2cc90766298889052c7468e39fb
    source_path: concepts/context.md
    workflow: 16
---

"บริบท" คือ **ทุกสิ่งที่ OpenClaw ส่งให้โมเดลสำหรับการรันหนึ่งครั้ง** โดยถูกจำกัดด้วย **หน้าต่างบริบท** ของโมเดล (ขีดจำกัดโทเค็น)

ภาพจำสำหรับผู้เริ่มต้น:

- **พรอมป์ระบบ** (สร้างโดย OpenClaw): กฎ เครื่องมือ รายการ Skills เวลา/รันไทม์ และไฟล์เวิร์กสเปซที่ถูกฉีดเข้าไป
- **ประวัติการสนทนา**: ข้อความของคุณ + ข้อความของผู้ช่วยสำหรับเซสชันนี้
- **การเรียกใช้เครื่องมือ/ผลลัพธ์ + ไฟล์แนบ**: เอาต์พุตคำสั่ง การอ่านไฟล์ รูปภาพ/เสียง เป็นต้น

บริบท _ไม่ใช่สิ่งเดียวกัน_ กับ "หน่วยความจำ": หน่วยความจำสามารถเก็บไว้บนดิสก์และโหลดใหม่ภายหลังได้; บริบทคือสิ่งที่อยู่ในหน้าต่างปัจจุบันของโมเดล

## เริ่มต้นอย่างรวดเร็ว (ตรวจดูบริบท)

- `/status` → มุมมองอย่างเร็วว่า "หน้าต่างของฉันเต็มแค่ไหน?" + การตั้งค่าเซสชัน
- `/context list` → สิ่งที่ถูกฉีดเข้าไป + ขนาดคร่าว ๆ (ต่อไฟล์ + ยอดรวม)
- `/context detail` → รายละเอียดลึกขึ้น: ขนาดต่อไฟล์ ต่อสคีมาเครื่องมือ ต่อรายการ Skills ขนาดพรอมป์ระบบ และจำนวนข้อความทรานสคริปต์ที่ทำให้กะทัดรัดได้
- `/context map` → รูปภาพ treemap สไตล์ WinDirStat ของตัวร่วมสร้างบริบทที่ติดตามอยู่ในเซสชันปัจจุบัน
- `/usage tokens` → ต่อท้ายฟุตเตอร์การใช้งานต่อคำตอบในคำตอบปกติ
- `/compact` → สรุปประวัติเก่าให้เป็นรายการกะทัดรัดเพื่อเพิ่มพื้นที่หน้าต่าง

ดูเพิ่มเติม: [คำสั่ง Slash](/th/tools/slash-commands), [การใช้โทเค็นและค่าใช้จ่าย](/th/reference/token-use), [Compaction](/th/concepts/compaction).

## ตัวอย่างเอาต์พุต

ค่าจะแตกต่างกันตามโมเดล ผู้ให้บริการ นโยบายเครื่องมือ และสิ่งที่อยู่ในเวิร์กสเปซของคุณ

### `/context list`

```
🧠 Context breakdown
Workspace: <workspaceDir>
Bootstrap max/file: 12,000 chars
Sandbox: mode=non-main sandboxed=false
System prompt (run): 38,412 chars (~9,603 tok) (Project Context 23,901 chars (~5,976 tok))

Injected workspace files:
- AGENTS.md: OK | raw 1,742 chars (~436 tok) | injected 1,742 chars (~436 tok)
- SOUL.md: OK | raw 912 chars (~228 tok) | injected 912 chars (~228 tok)
- TOOLS.md: TRUNCATED | raw 54,210 chars (~13,553 tok) | injected 20,962 chars (~5,241 tok)
- IDENTITY.md: OK | raw 211 chars (~53 tok) | injected 211 chars (~53 tok)
- USER.md: OK | raw 388 chars (~97 tok) | injected 388 chars (~97 tok)
- HEARTBEAT.md: MISSING | raw 0 | injected 0
- BOOTSTRAP.md: OK | raw 0 chars (~0 tok) | injected 0 chars (~0 tok)

Skills list (system prompt text): 2,184 chars (~546 tok) (12 skills)
Tools: read, edit, write, exec, process, browser, message, sessions_send, …
Tool list (system prompt text): 1,032 chars (~258 tok)
Tool schemas (JSON): 31,988 chars (~7,997 tok) (counts toward context; not shown as text)
Tools: (same as above)

Session tokens (cached): 14,250 total / ctx=32,000
```

### `/context detail`

```
🧠 Context breakdown (detailed)
…
Top skills (prompt entry size):
- frontend-design: 412 chars (~103 tok)
- oracle: 401 chars (~101 tok)
… (+10 more skills)

Top tools (schema size):
- browser: 9,812 chars (~2,453 tok)
- exec: 6,240 chars (~1,560 tok)
… (+N more tools)
```

### `/context map`

ส่งรูปภาพที่สร้างจากรายงานการรันที่แคชไว้ล่าสุด ก่อนที่ข้อความปกติจะสร้างรายงานการรันในเซสชัน `/context map` จะคืนข้อความว่าไม่พร้อมใช้งานแทนการเรนเดอร์ค่าประมาณ พื้นที่สี่เหลี่ยมผืนผ้าแปรผันตามจำนวนอักขระพรอมป์ที่ติดตาม:

- ไฟล์เวิร์กสเปซที่ถูกฉีดเข้าไป
- ข้อความพรอมป์ระบบพื้นฐาน
- รายการพรอมป์ของ Skills
- สคีมา JSON ของเครื่องมือ

`/context list`, `/context detail` และ `/context json` ยังตรวจดูค่าประมาณแบบตามคำขอได้เมื่อไม่มีรายงานการรันที่แคชไว้

## สิ่งที่นับรวมในหน้าต่างบริบท

ทุกสิ่งที่โมเดลได้รับจะถูกนับ รวมถึง:

- พรอมป์ระบบ (ทุกส่วน)
- ประวัติการสนทนา
- การเรียกใช้เครื่องมือ + ผลลัพธ์เครื่องมือ
- ไฟล์แนบ/ทรานสคริปต์ (รูปภาพ/เสียง/ไฟล์)
- สรุป Compaction และอาร์ติแฟกต์การตัดทอน
- "ตัวห่อ" ของผู้ให้บริการหรือเฮดเดอร์ที่ซ่อนอยู่ (มองไม่เห็น แต่ยังถูกนับ)

## OpenClaw สร้างพรอมป์ระบบอย่างไร

พรอมป์ระบบเป็นสิ่งที่ **OpenClaw เป็นเจ้าของ** และถูกสร้างใหม่ในการรันแต่ละครั้ง โดยรวมถึง:

- รายการเครื่องมือ + คำอธิบายสั้น ๆ
- รายการ Skills (เฉพาะเมทาดาทา; ดูด้านล่าง)
- ตำแหน่งเวิร์กสเปซ
- เวลา (UTC + เวลาแปลงของผู้ใช้หากกำหนดค่าไว้)
- เมทาดาทารันไทม์ (โฮสต์/OS/โมเดล/การคิด)
- ไฟล์ bootstrap ของเวิร์กสเปซที่ถูกฉีดเข้าไปภายใต้ **บริบทของโปรเจกต์**

รายละเอียดทั้งหมด: [พรอมป์ระบบ](/th/concepts/system-prompt).

## ไฟล์เวิร์กสเปซที่ถูกฉีดเข้าไป (บริบทของโปรเจกต์)

ตามค่าเริ่มต้น OpenClaw จะฉีดชุดไฟล์เวิร์กสเปซแบบคงที่ (ถ้ามี):

- `AGENTS.md`
- `SOUL.md`
- `TOOLS.md`
- `IDENTITY.md`
- `USER.md`
- `HEARTBEAT.md`
- `BOOTSTRAP.md` (เฉพาะการรันครั้งแรก)

ไฟล์ขนาดใหญ่จะถูกตัดทอนแยกตามไฟล์ด้วย `agents.defaults.bootstrapMaxChars` (ค่าเริ่มต้น `20000` อักขระ) OpenClaw ยังบังคับใช้เพดานรวมของการฉีด bootstrap ข้ามไฟล์ด้วย `agents.defaults.bootstrapTotalMaxChars` (ค่าเริ่มต้น `60000` อักขระ) `/context` แสดงขนาด **ดิบเทียบกับที่ถูกฉีด** และบอกว่ามีการตัดทอนเกิดขึ้นหรือไม่

เมื่อเกิดการตัดทอน รันไทม์สามารถฉีดบล็อกคำเตือนในพรอมป์ภายใต้บริบทของโปรเจกต์ได้ กำหนดค่าสิ่งนี้ด้วย `agents.defaults.bootstrapPromptTruncationWarning` (`off`, `once`, `always`; ค่าเริ่มต้น `always`)

## Skills: ถูกฉีดเทียบกับโหลดตามต้องการ

พรอมป์ระบบรวม **รายการ Skills** แบบกะทัดรัด (ชื่อ + คำอธิบาย + ตำแหน่ง) รายการนี้มีต้นทุนจริง

คำสั่งของ Skills _ไม่ได้_ ถูกรวมไว้ตามค่าเริ่มต้น โมเดลคาดว่าจะ `read` ไฟล์ `SKILL.md` ของ Skill **เฉพาะเมื่อจำเป็น**

## เครื่องมือ: มีต้นทุนสองแบบ

เครื่องมือส่งผลต่อบริบทสองทาง:

1. **ข้อความรายการเครื่องมือ** ในพรอมป์ระบบ (สิ่งที่คุณเห็นเป็น "เครื่องมือ")
2. **สคีมาเครื่องมือ** (JSON) สิ่งเหล่านี้ถูกส่งให้โมเดลเพื่อให้เรียกใช้เครื่องมือได้ และนับรวมในบริบทแม้ว่าคุณจะไม่เห็นเป็นข้อความธรรมดา

`/context detail` แยกสคีมาเครื่องมือที่ใหญ่ที่สุดให้ดู เพื่อให้คุณเห็นว่าอะไรครอบงำพื้นที่

## คำสั่ง คำสั่งกำกับ และ "ทางลัดแบบอินไลน์"

คำสั่ง Slash ถูกจัดการโดย Gateway มีพฤติกรรมที่ต่างกันอยู่ไม่กี่แบบ:

- **คำสั่งเดี่ยว**: ข้อความที่มีเพียง `/...` จะรันเป็นคำสั่ง
- **คำสั่งกำกับ**: `/think`, `/verbose`, `/trace`, `/reasoning`, `/elevated`, `/model`, `/queue` จะถูกลบออกก่อนที่โมเดลจะเห็นข้อความ
  - ข้อความที่มีเฉพาะคำสั่งกำกับจะคงการตั้งค่าเซสชันไว้
  - คำสั่งกำกับแบบอินไลน์ในข้อความปกติทำหน้าที่เป็นคำใบ้ต่อข้อความนั้น
- **ทางลัดแบบอินไลน์** (เฉพาะผู้ส่งที่อยู่ใน allowlist): โทเค็น `/...` บางตัวในข้อความปกติสามารถรันทันที (ตัวอย่าง: "hey /status") และจะถูกลบออกก่อนที่โมเดลจะเห็นข้อความที่เหลือ

รายละเอียด: [คำสั่ง Slash](/th/tools/slash-commands).

## เซสชัน Compaction และการตัดทอน (สิ่งที่คงอยู่)

สิ่งที่คงอยู่ข้ามข้อความขึ้นอยู่กับกลไก:

- **ประวัติปกติ** คงอยู่ในทรานสคริปต์เซสชันจนกว่าจะถูก compact/ตัดทอนตามนโยบาย
- **Compaction** คงสรุปไว้ในทรานสคริปต์และเก็บข้อความล่าสุดไว้ครบถ้วน
- **การตัดทอน** ทิ้งผลลัพธ์เครื่องมือเก่าจากพรอมป์ _ในหน่วยความจำ_ เพื่อเพิ่มพื้นที่หน้าต่างบริบท แต่ไม่ได้เขียนทรานสคริปต์เซสชันใหม่ - ประวัติเต็มยังตรวจดูได้บนดิสก์

เอกสาร: [เซสชัน](/th/concepts/session), [Compaction](/th/concepts/compaction), [การตัดทอนเซสชัน](/th/concepts/session-pruning).

ตามค่าเริ่มต้น OpenClaw ใช้เอนจินบริบท `legacy` ในตัวสำหรับการประกอบและ
Compaction หากคุณติดตั้ง Plugin ที่ให้ `kind: "context-engine"` และ
เลือกด้วย `plugins.slots.contextEngine` OpenClaw จะมอบหมายการประกอบบริบท
`/compact` และฮุกวงจรชีวิตบริบทของ subagent ที่เกี่ยวข้องให้เอนจินนั้น
แทน `ownsCompaction: false` จะไม่ fallback อัตโนมัติไปยังเอนจิน
legacy; เอนจินที่ใช้งานอยู่ยังต้องใช้งาน `compact()` ให้ถูกต้อง ดู
[เอนจินบริบท](/th/concepts/context-engine) สำหรับอินเทอร์เฟซแบบเสียบเปลี่ยนได้
ฮุกวงจรชีวิต และการกำหนดค่าทั้งหมด

## สิ่งที่ `/context` รายงานจริง

`/context` จะเลือกใช้รายงานพรอมป์ระบบที่ **สร้างจากการรัน** ล่าสุดเมื่อมี:

- `System prompt (run)` = จับจากการรันแบบฝังล่าสุด (ที่ใช้เครื่องมือได้) และคงไว้ในที่เก็บเซสชัน
- `System prompt (estimate)` = คำนวณทันทีเมื่อไม่มีรายงานการรัน (หรือเมื่อรันผ่านแบ็กเอนด์ CLI ที่ไม่สร้างรายงาน)

ไม่ว่าจะเป็นแบบใด ก็จะรายงานขนาดและตัวร่วมสร้างหลัก; จะ **ไม่** dump พรอมป์ระบบเต็มหรือสคีมาเครื่องมือ ในโหมดละเอียด ยังเปรียบเทียบทรานสคริปต์เซสชันกับเพรดิเคตข้อความสนทนาจริงตัวเดียวกับที่ Compaction ใช้ ทำให้แยกการใช้พรอมป์/แคชที่สูงออกจากประวัติการสนทนาที่ compact ได้ง่ายขึ้น

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

<CardGroup cols={2}>
  <Card title="เอนจินบริบท" href="/th/concepts/context-engine" icon="puzzle-piece">
    การฉีดบริบทแบบกำหนดเองผ่าน Plugin
  </Card>
  <Card title="Compaction" href="/th/concepts/compaction" icon="compress">
    การสรุปบทสนทนายาว ๆ เพื่อให้อยู่ภายในหน้าต่างโมเดล
  </Card>
  <Card title="พรอมป์ระบบ" href="/th/concepts/system-prompt" icon="message-lines">
    วิธีสร้างพรอมป์ระบบและสิ่งที่ฉีดเข้าไปในแต่ละรอบ
  </Card>
  <Card title="ลูปเอเจนต์" href="/th/concepts/agent-loop" icon="arrows-rotate">
    วงจรการทำงานเต็มของเอเจนต์ตั้งแต่ข้อความขาเข้าจนถึงคำตอบสุดท้าย
  </Card>
</CardGroup>
