Sử dụng Token và chi phí

OpenClaw theo dõi token, không phải ký tự. Token phụ thuộc vào model, nhưng hầu hết các model kiểu OpenAI trung bình khoảng ~4 ký tự cho mỗi token với văn bản tiếng Anh.

Cách system prompt được xây dựng

OpenClaw tự động tạo system prompt của nó trong mỗi lần chạy. Nó bao gồm:

  • Danh sách tool + mô tả ngắn
  • Danh sách Skill (chỉ metadata; hướng dẫn được load theo yêu cầu với read)
  • Hướng dẫn tự cập nhật
  • Workspace + bootstrap files (AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md, BOOTSTRAP.md khi mới). Các file lớn sẽ bị cắt bớt theo agents.defaults.bootstrapMaxChars (mặc định: 20000).
  • Thời gian (UTC + múi giờ người dùng)
  • Reply tags + hành vi heartbeat
  • Runtime metadata (host/OS/model/thinking)

Xem chi tiết đầy đủ tại System Prompt.

Những gì được tính vào context window

Mọi thứ mà model nhận được đều được tính vào giới hạn context:

  • System prompt (tất cả các phần được liệt kê ở trên)
  • Lịch sử hội thoại (tin nhắn của user + assistant)
  • Tool calls và kết quả tool
  • Attachments/transcripts (hình ảnh, audio, file)
  • Tóm tắt compaction và pruning artifacts
  • Provider wrappers hoặc safety headers (không hiển thị, nhưng vẫn được tính)

Để xem chi tiết thực tế (theo từng file được inject, tools, skills, và kích thước system prompt), dùng /context list hoặc /context detail. Xem thêm Context.

Cách xem việc sử dụng token hiện tại

Dùng các lệnh này trong chat:

  • /statusstatus card với emoji hiển thị session model, việc sử dụng context, input/output token của response cuối cùng, và ước tính chi phí (chỉ với API key).
  • /usage off|tokens|full → thêm usage footer cho mỗi response vào mọi câu trả lời.
    • Lưu trữ theo session (được lưu dưới dạng responseUsage).
    • OAuth auth ẩn chi phí (chỉ hiển thị token).
  • /usage cost → hiển thị tóm tắt chi phí local từ OpenClaw session logs.

Các giao diện khác:

  • TUI/Web TUI: /status + /usage được hỗ trợ.
  • CLI: openclaw status --usageopenclaw channels list hiển thị provider quota windows (không phải chi phí theo response).

Ước tính chi phí (khi được hiển thị)

Chi phí được ước tính từ cấu hình giá model của các bạn:

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

Đây là USD cho mỗi 1M token cho input, output, cacheRead, và cacheWrite. Nếu thiếu thông tin giá, OpenClaw chỉ hiển thị token. OAuth token không bao giờ hiển thị chi phí bằng đô la.

Tác động của Cache TTL và pruning

Provider prompt caching chỉ áp dụng trong khoảng thời gian cache TTL. OpenClaw có thể tùy chọn chạy cache-ttl pruning: nó prune session một khi cache TTL hết hạn, sau đó reset cache window để các request tiếp theo có thể tái sử dụng context đã được cache mới thay vì cache lại toàn bộ lịch sử. Điều này giúp giảm chi phí cache write khi session không hoạt động quá TTL.

Cấu hình nó trong Gateway configuration và xem chi tiết hành vi tại Session pruning.

Heartbeat có thể giữ cache warm qua các khoảng thời gian không hoạt động. Nếu model cache TTL của các bạn là 1h, đặt heartbeat interval ngay dưới mức đó (ví dụ: 55m) có thể tránh việc cache lại toàn bộ prompt, giảm chi phí cache write.

Đối với giá Anthropic API, cache reads rẻ hơn đáng kể so với input token, trong khi cache writes được tính với hệ số nhân cao hơn. Xem giá prompt caching của Anthropic để biết tỷ lệ và hệ số nhân TTL mới nhất: https://docs.anthropic.com/docs/build-with-claude/prompt-caching

Ví dụ: giữ cache 1h warm với heartbeat

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

Mẹo giảm áp lực token

  • Dùng /compact để tóm tắt các session dài.
  • Cắt bớt output lớn của tool trong workflow của các bạn.
  • Giữ mô tả skill ngắn gọn (danh sách skill được inject vào prompt).
  • Ưu tiên các model nhỏ hơn cho công việc khám phá, chi tiết.

Xem Skills để biết công thức overhead danh sách skill chính xác.