---
read_when:
    - การอธิบายการใช้งานโทเค็น ค่าใช้จ่าย หรือหน้าต่างบริบท
    - การดีบักการขยายตัวของบริบทหรือพฤติกรรมของ Compaction
summary: วิธีที่ OpenClaw สร้างบริบทพรอมป์และรายงานการใช้งานโทเค็น + ค่าใช้จ่าย
title: การใช้โทเค็นและค่าใช้จ่าย
x-i18n:
    generated_at: "2026-05-06T09:30:39Z"
    model: gpt-5.5
    provider: openai
    source_hash: 51c0fc6bdfb32edc1908d0a25ddbc0e90d745ef38fede02fbeca612ca1a5f59e
    source_path: reference/token-use.md
    workflow: 16
---

OpenClaw ติดตาม **โทเค็น** ไม่ใช่อักขระ โทเค็นขึ้นอยู่กับโมเดลแต่ละตัว แต่โมเดลส่วนใหญ่แบบ
OpenAI-style มีค่าเฉลี่ยประมาณ 4 อักขระต่อโทเค็นสำหรับข้อความภาษาอังกฤษ

## วิธีสร้างพรอมป์ระบบ

OpenClaw ประกอบพรอมป์ระบบของตนเองในทุกครั้งที่รัน โดยประกอบด้วย:

- รายการเครื่องมือ + คำอธิบายสั้น ๆ
- รายการ Skills (เฉพาะเมทาดาทา; คำแนะนำจะถูกโหลดเมื่อจำเป็นด้วย `read`)
  บล็อก Skills แบบกะทัดรัดถูกจำกัดด้วย `skills.limits.maxSkillsPromptChars`
  พร้อมการแทนที่รายเอเจนต์แบบไม่บังคับที่
  `agents.list[].skillsLimits.maxSkillsPromptChars`
- คำแนะนำการอัปเดตตัวเอง
- พื้นที่ทำงาน + ไฟล์บูตสแตรป (`AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, `BOOTSTRAP.md` เมื่อเป็นไฟล์ใหม่ รวมถึง `MEMORY.md` เมื่อมีอยู่) root `memory.md` ตัวพิมพ์เล็กจะไม่ถูกฉีดเข้าไป; เป็นอินพุตซ่อมแซมแบบเก่าสำหรับ `openclaw doctor --fix` เมื่อจับคู่กับ `MEMORY.md` ไฟล์ขนาดใหญ่จะถูกตัดทอนตาม `agents.defaults.bootstrapMaxChars` (ค่าเริ่มต้น: 12000) และการฉีดบูตสแตรปรวมทั้งหมดถูกจำกัดด้วย `agents.defaults.bootstrapTotalMaxChars` (ค่าเริ่มต้น: 60000) ไฟล์รายวัน `memory/*.md` ไม่ได้เป็นส่วนหนึ่งของพรอมป์บูตสแตรปปกติ; ไฟล์เหล่านี้ยังคงเรียกใช้ตามต้องการผ่านเครื่องมือหน่วยความจำในเทิร์นทั่วไป แต่การรันโมเดลแบบรีเซ็ต/เริ่มต้นสามารถเติมบล็อกบริบทเริ่มต้นแบบครั้งเดียวที่มีหน่วยความจำรายวันล่าสุดไว้หน้าเทิร์นแรกนั้นได้ คำสั่งแชทเปล่า `/new` และ `/reset` จะได้รับการตอบรับโดยไม่เรียกใช้โมเดล คำนำหน้าเริ่มต้นควบคุมโดย `agents.defaults.startupContext`
- เวลา (UTC + เขตเวลาของผู้ใช้)
- แท็กตอบกลับ + พฤติกรรม Heartbeat
- เมทาดาทารันไทม์ (โฮสต์/OS/โมเดล/thinking)

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

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

ทุกอย่างที่โมเดลได้รับจะนับรวมในขีดจำกัดบริบท:

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

บางพื้นผิวที่ใช้รันไทม์หนักมีขีดจำกัดชัดเจนของตัวเอง:

- `agents.defaults.contextLimits.memoryGetMaxChars`
- `agents.defaults.contextLimits.memoryGetDefaultLines`
- `agents.defaults.contextLimits.toolResultMaxChars`
- `agents.defaults.contextLimits.postCompactionMaxChars`

การแทนที่รายเอเจนต์อยู่ใต้ `agents.list[].contextLimits` ตัวปรับเหล่านี้มีไว้
สำหรับข้อความตัดตอนรันไทม์ที่มีขอบเขตและบล็อกที่รันไทม์เป็นเจ้าของซึ่งถูกฉีดเข้าไป โดยแยกจาก
ขีดจำกัดบูตสแตรป ขีดจำกัดบริบทเริ่มต้น และขีดจำกัดพรอมป์ Skills

สำหรับรูปภาพ OpenClaw จะย่อขนาดเพย์โหลดรูปภาพจากทรานสคริปต์/เครื่องมือก่อนเรียกผู้ให้บริการ
ใช้ `agents.defaults.imageMaxDimensionPx` (ค่าเริ่มต้น: `1200`) เพื่อปรับค่านี้:

- ค่าที่ต่ำกว่ามักลดการใช้โทเค็นวิชันและขนาดเพย์โหลด
- ค่าที่สูงกว่ารักษารายละเอียดภาพได้มากขึ้นสำหรับสกรีนช็อตที่เน้น OCR/UI

สำหรับรายละเอียดเชิงปฏิบัติ (ต่อไฟล์ที่ฉีดเข้าไป เครื่องมือ Skills และขนาดพรอมป์ระบบ) ให้ใช้ `/context list` หรือ `/context detail` ดู [บริบท](/th/concepts/context)

## วิธีดูการใช้โทเค็นปัจจุบัน

ใช้สิ่งเหล่านี้ในแชท:

- `/status` → **การ์ดสถานะที่มีอีโมจิจำนวนมาก** พร้อมโมเดลของเซสชัน การใช้บริบท
  โทเค็นอินพุต/เอาต์พุตของคำตอบล่าสุด และ **ต้นทุนโดยประมาณ** (เฉพาะ API key)
- `/usage off|tokens|full` → เพิ่ม **ส่วนท้ายการใช้งานต่อคำตอบ** ในทุกคำตอบ
  - คงอยู่ต่อเซสชัน (จัดเก็บเป็น `responseUsage`)
  - การยืนยันตัวตน OAuth **ซ่อนต้นทุน** (แสดงเฉพาะโทเค็น)
- `/usage cost` → แสดงสรุปต้นทุนภายในเครื่องจากล็อกเซสชัน OpenClaw

พื้นผิวอื่น ๆ:

- **TUI/Web TUI:** รองรับ `/status` + `/usage`
- **CLI:** `openclaw status --usage` และ `openclaw channels list` แสดง
  หน้าต่างโควตาผู้ให้บริการที่ถูกทำให้เป็นมาตรฐาน (`X% left` ไม่ใช่ต้นทุนต่อคำตอบ)
  ผู้ให้บริการหน้าต่างการใช้งานปัจจุบัน: Anthropic, GitHub Copilot, Gemini CLI,
  OpenAI Codex, MiniMax, Xiaomi และ z.ai

พื้นผิวการใช้งานจะทำให้ชื่อแฝงฟิลด์ทั่วไปแบบเนทีฟของผู้ให้บริการเป็นมาตรฐานก่อนแสดงผล
สำหรับทราฟฟิก Responses ตระกูล OpenAI จะรวมทั้ง `input_tokens` /
`output_tokens` และ `prompt_tokens` / `completion_tokens` ดังนั้นชื่อฟิลด์เฉพาะการขนส่ง
จะไม่เปลี่ยน `/status`, `/usage` หรือสรุปเซสชัน
การใช้งาน JSON ของ Gemini CLI ก็ถูกทำให้เป็นมาตรฐานเช่นกัน: ข้อความตอบกลับมาจาก `response` และ
`stats.cached` แมปเป็น `cacheRead` โดยใช้ `stats.input_tokens - stats.cached`
เมื่อ CLI ละเว้นฟิลด์ `stats.input` แบบชัดเจน
สำหรับทราฟฟิก Responses ตระกูล OpenAI แบบเนทีฟ ชื่อแฝงการใช้งาน WebSocket/SSE
จะถูกทำให้เป็นมาตรฐานในแบบเดียวกัน และยอดรวมจะย้อนกลับไปใช้ input + output ที่ถูกทำให้เป็นมาตรฐานเมื่อ
`total_tokens` หายไปหรือเป็น `0`
เมื่อสแนปช็อตเซสชันปัจจุบันมีข้อมูลเบาบาง `/status` และ `session_status` ยังสามารถ
กู้คืนตัวนับโทเค็น/แคชและป้ายกำกับโมเดลรันไทม์ที่ใช้งานอยู่จาก
ล็อกการใช้งานทรานสคริปต์ล่าสุดได้ ค่าจริงแบบ live ที่ไม่เป็นศูนย์ซึ่งมีอยู่แล้วยังคงมี
ลำดับความสำคัญเหนือค่าทางเลือกจากทรานสคริปต์ และยอดรวมทรานสคริปต์ที่เน้นพรอมป์และมีขนาดใหญ่กว่า
สามารถชนะได้เมื่อยอดรวมที่จัดเก็บหายไปหรือมีค่าน้อยกว่า
การยืนยันตัวตนสำหรับการใช้งานหน้าต่างโควตาผู้ให้บริการมาจากฮุกเฉพาะผู้ให้บริการเมื่อ
พร้อมใช้งาน; มิฉะนั้น OpenClaw จะย้อนกลับไปจับคู่ข้อมูลรับรอง OAuth/API-key
จากโปรไฟล์การยืนยันตัวตน env หรือ config
รายการทรานสคริปต์ของผู้ช่วยจะคงรูปแบบการใช้งานที่ถูกทำให้เป็นมาตรฐานเดียวกัน รวมถึง
`usage.cost` เมื่อโมเดลที่ใช้งานอยู่มีการกำหนดราคาไว้และผู้ให้บริการ
ส่งคืนเมทาดาทาการใช้งาน สิ่งนี้ให้แหล่งข้อมูลที่เสถียรแก่ `/usage cost` และสถานะเซสชันที่อิงทรานสคริปต์
แม้หลังจากสถานะรันไทม์แบบ live หายไปแล้ว

OpenClaw แยกการบัญชีการใช้งานของผู้ให้บริการออกจากสแนปช็อตบริบทปัจจุบัน
`usage.total` ของผู้ให้บริการอาจรวมอินพุตที่แคชไว้ เอาต์พุต และการเรียกโมเดลหลายครั้งใน tool-loop
ดังนั้นจึงมีประโยชน์สำหรับต้นทุนและเทเลเมทรี แต่อาจแสดงเกินหน้าต่างบริบทแบบ live
หน้าจอบริบทและการวินิจฉัยใช้สแนปช็อตพรอมป์ล่าสุด
(`promptTokens` หรือการเรียกโมเดลล่าสุดเมื่อไม่มีสแนปช็อตพรอมป์
พร้อมใช้งาน) สำหรับ `context.used`

## การประมาณต้นทุน (เมื่อแสดง)

ต้นทุนประมาณจากการกำหนดราคาของโมเดลใน config ของคุณ:

```
models.providers.<provider>.models[].cost
```

ค่าเหล่านี้คือ **USD ต่อ 1M โทเค็น** สำหรับ `input`, `output`, `cacheRead` และ
`cacheWrite` หากไม่มีการกำหนดราคา OpenClaw จะแสดงเฉพาะโทเค็น โทเค็น OAuth
จะไม่แสดงต้นทุนเป็นดอลลาร์

หลังจาก sidecar และช่องทางเข้าสู่เส้นทาง Gateway พร้อมใช้งาน OpenClaw จะเริ่ม
บูตสแตรปการกำหนดราคาเบื้องหลังแบบไม่บังคับสำหรับ model refs ที่กำหนดค่าไว้ซึ่งยังไม่มี
การกำหนดราคาในเครื่อง บูตสแตรปนั้นดึงแค็ตตาล็อกการกำหนดราคาระยะไกลของ OpenRouter และ LiteLLM
ตั้งค่า `models.pricing.enabled: false` เพื่อข้ามการดึงแค็ตตาล็อกเหล่านั้น
บนเครือข่ายออฟไลน์หรือถูกจำกัด; รายการ `models.providers.*.models[].cost`
แบบชัดเจนยังคงใช้ขับเคลื่อนการประมาณต้นทุนภายในเครื่อง

## Cache TTL และผลกระทบจากการตัดแต่ง

การแคชพรอมป์ของผู้ให้บริการใช้ได้เฉพาะภายในหน้าต่าง cache TTL เท่านั้น OpenClaw สามารถ
รัน **การตัดแต่ง cache-ttl** แบบไม่บังคับ: จะตัดแต่งเซสชันเมื่อ cache TTL
หมดอายุ แล้วรีเซ็ตหน้าต่างแคชเพื่อให้คำขอถัดไปสามารถใช้บริบทที่เพิ่งแคชใหม่ซ้ำ
แทนการแคชประวัติทั้งหมดอีกครั้ง วิธีนี้ช่วยลดต้นทุน cache write เมื่อเซสชันไม่ได้ใช้งานเลย TTL

กำหนดค่าได้ใน [การกำหนดค่า Gateway](/th/gateway/configuration) และดู
รายละเอียดพฤติกรรมใน [การตัดแต่งเซสชัน](/th/concepts/session-pruning)

Heartbeat สามารถคงแคชให้ **อุ่น** ข้ามช่วงว่างได้ หาก cache TTL ของโมเดลของคุณ
คือ `1h` การตั้งช่วงเวลา Heartbeat ให้ต่ำกว่านั้นเล็กน้อย (เช่น `55m`) สามารถหลีกเลี่ยง
การแคชพรอมป์ทั้งหมดใหม่ ลดต้นทุน cache write ได้

ในการตั้งค่าหลายเอเจนต์ คุณสามารถใช้ config โมเดลร่วมหนึ่งชุดและปรับพฤติกรรมแคช
ต่อเอเจนต์ด้วย `agents.list[].params.cacheRetention`

สำหรับคู่มือครบถ้วนทีละตัวปรับ ดู [การแคชพรอมป์](/th/reference/prompt-caching)

สำหรับการกำหนดราคา Anthropic API การอ่านแคชมีราคาถูกกว่าโทเค็นอินพุตอย่างมาก
ขณะที่การเขียนแคชถูกคิดเงินด้วยตัวคูณที่สูงกว่า ดูการกำหนดราคาการแคชพรอมป์ของ Anthropic
สำหรับอัตราและตัวคูณ TTL ล่าสุด:
[https://docs.anthropic.com/docs/build-with-claude/prompt-caching](https://docs.anthropic.com/docs/build-with-claude/prompt-caching)

### ตัวอย่าง: คงแคช 1h ให้อุ่นด้วย Heartbeat

```yaml
agents:
  defaults:
    model:
      primary: "anthropic/claude-opus-4-6"
    models:
      "anthropic/claude-opus-4-6":
        params:
          cacheRetention: "long"
    heartbeat:
      every: "55m"
```

### ตัวอย่าง: ทราฟฟิกผสมพร้อมกลยุทธ์แคชรายเอเจนต์

```yaml
agents:
  defaults:
    model:
      primary: "anthropic/claude-opus-4-6"
    models:
      "anthropic/claude-opus-4-6":
        params:
          cacheRetention: "long" # default baseline for most agents
  list:
    - id: "research"
      default: true
      heartbeat:
        every: "55m" # keep long cache warm for deep sessions
    - id: "alerts"
      params:
        cacheRetention: "none" # avoid cache writes for bursty notifications
```

`agents.list[].params` ผสานทับ `params` ของโมเดลที่เลือก ดังนั้นคุณสามารถ
แทนที่เฉพาะ `cacheRetention` และสืบทอดค่าเริ่มต้นอื่น ๆ ของโมเดลไว้เหมือนเดิม

### ตัวอย่าง: เปิดใช้งานส่วนหัว Anthropic 1M context beta

หน้าต่างบริบท 1M ของ Anthropic ปัจจุบันถูกควบคุมด้วยเบตา OpenClaw สามารถฉีดค่า
`anthropic-beta` ที่ต้องใช้เมื่อคุณเปิดใช้งาน `context1m` บนโมเดล Opus
หรือ Sonnet ที่รองรับ

```yaml
agents:
  defaults:
    models:
      "anthropic/claude-opus-4-6":
        params:
          context1m: true
```

สิ่งนี้จะแมปไปยังส่วนหัวเบตา `context-1m-2025-08-07` ของ Anthropic

สิ่งนี้ใช้เฉพาะเมื่อมีการตั้ง `context1m: true` บนรายการโมเดลนั้น

ข้อกำหนด: ข้อมูลรับรองต้องมีสิทธิ์ใช้ long-context หากไม่มีสิทธิ์
Anthropic จะตอบกลับด้วยข้อผิดพลาด rate limit ฝั่งผู้ให้บริการสำหรับคำขอนั้น

หากคุณยืนยันตัวตน Anthropic ด้วยโทเค็น OAuth/subscription (`sk-ant-oat-*`)
OpenClaw จะข้ามส่วนหัวเบตา `context-1m-*` เพราะปัจจุบัน Anthropic
ปฏิเสธชุดค่านี้ด้วย HTTP 401

## เคล็ดลับในการลดแรงกดดันด้านโทเค็น

- ใช้ `/compact` เพื่อสรุปเซสชันยาว ๆ
- ตัดผลลัพธ์เครื่องมือขนาดใหญ่ในเวิร์กโฟลว์ของคุณ
- ลด `agents.defaults.imageMaxDimensionPx` สำหรับเซสชันที่ใช้สกรีนช็อตมาก
- ทำให้คำอธิบาย Skills สั้น (รายการ Skills ถูกฉีดเข้าไปในพรอมป์)
- เลือกใช้โมเดลขนาดเล็กกว่าสำหรับงานสำรวจที่มีข้อความยาว

ดู [Skills](/th/tools/skills) สำหรับสูตรโอเวอร์เฮดของรายการ Skills ที่แน่นอน

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

- [การใช้งาน API และต้นทุน](/th/reference/api-usage-costs)
- [การแคชพรอมป์](/th/reference/prompt-caching)
- [การติดตามการใช้งาน](/th/concepts/usage-tracking)
