---
read_when:
    - การแก้ไขข้อความ system prompt, รายการเครื่องมือ หรือส่วนเวลา/Heartbeat
    - การเปลี่ยนพฤติกรรมการบูตสแตรปเวิร์กสเปซหรือการแทรก Skills
summary: พรอมต์ระบบของ OpenClaw มีอะไรบ้างและประกอบขึ้นอย่างไร
title: พรอมป์ระบบ
x-i18n:
    generated_at: "2026-06-27T17:30:34Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 31321b4df7494317b73c2a5609b1dc275463168ed5fe20ecb173e9bec76717cc
    source_path: concepts/system-prompt.md
    workflow: 16
---

OpenClaw สร้างพรอมป์ระบบแบบกำหนดเองสำหรับการรันเอเจนต์ทุกครั้ง พรอมป์นี้ **OpenClaw เป็นเจ้าของ** และไม่ใช้พรอมป์เริ่มต้นของรันไทม์.

พรอมป์ถูกประกอบโดย OpenClaw และถูกฉีดเข้าไปในการรันเอเจนต์แต่ละครั้ง.

การประกอบพรอมป์มีสามชั้น:

- `buildAgentSystemPrompt` เรนเดอร์พรอมป์จากอินพุตที่ระบุชัดเจน ควร
  คงเป็นตัวเรนเดอร์บริสุทธิ์และไม่ควรอ่านค่าคอนฟิกส่วนกลางโดยตรง.
- `resolveAgentSystemPromptConfig` แก้ไขค่าควบคุมพรอมป์ที่อิงคอนฟิก เช่น
  ชื่อแสดงของเจ้าของ, คำใบ้ TTS, นามแฝงโมเดล, โหมดการอ้างอิงหน่วยความจำ และโหมด
  การมอบหมายเอเจนต์ย่อยสำหรับเอเจนต์เฉพาะตัว.
- อะแดปเตอร์รันไทม์ (แบบฝัง, CLI, ตัวอย่างคำสั่ง/ส่งออก, Compaction) รวบรวม
  ข้อเท็จจริงสด เช่น เครื่องมือ, สถานะแซนด์บ็อกซ์, ความสามารถของช่องทาง, ไฟล์บริบท,
  และส่วนเสริมพรอมป์จากผู้ให้บริการ จากนั้นเรียกใช้พรอมป์ facade ที่กำหนดค่าไว้.

สิ่งนี้ทำให้พื้นผิวพรอมป์สำหรับส่งออก/ดีบักสอดคล้องกับการรันจริงโดยไม่
เปลี่ยนรายละเอียดเฉพาะรันไทม์ทุกอย่างให้เป็นตัวสร้างขนาดใหญ่ตัวเดียว.

Plugin ผู้ให้บริการสามารถเพิ่มคำแนะนำพรอมป์ที่รับรู้แคชได้โดยไม่แทนที่
พรอมป์ทั้งหมดที่ OpenClaw เป็นเจ้าของ รันไทม์ผู้ให้บริการสามารถ:

- แทนที่ชุดเล็กของส่วนแกนหลักที่ตั้งชื่อไว้ (`interaction_style`,
  `tool_call_style`, `execution_bias`)
- ฉีด **คำนำหน้าที่เสถียร** ไว้เหนือขอบเขตแคชพรอมป์
- ฉีด **คำต่อท้ายแบบไดนามิก** ไว้ใต้ขอบเขตแคชพรอมป์

ใช้ส่วนเสริมที่ผู้ให้บริการเป็นเจ้าของสำหรับการปรับแต่งเฉพาะตระกูลโมเดล เก็บการกลายพรอมป์แบบเดิม
`before_prompt_build` ไว้สำหรับความเข้ากันได้หรือการเปลี่ยนแปลงพรอมป์ทั่วทั้งระบบจริง ๆ
ไม่ใช่พฤติกรรมผู้ให้บริการตามปกติ.

โอเวอร์เลย์ตระกูล OpenAI GPT-5 ทำให้กฎการดำเนินการแกนหลักสั้น และเพิ่ม
คำแนะนำเฉพาะโมเดลสำหรับการยึดบุคลิก, เอาต์พุตที่กระชับ, วินัยในการใช้เครื่องมือ,
การค้นหาแบบขนาน, ความครอบคลุมของสิ่งส่งมอบ, การตรวจสอบ, บริบทที่ขาดหาย และ
สุขอนามัยของเครื่องมือเทอร์มินัล.

## โครงสร้าง

พรอมป์ถูกตั้งใจให้กะทัดรัดและใช้ส่วนคงที่:

- **เครื่องมือ**: ตัวเตือนแหล่งความจริงของเครื่องมือแบบมีโครงสร้าง รวมถึงคำแนะนำการใช้เครื่องมือของรันไทม์.
- **อคติการดำเนินการ**: คำแนะนำการทำต่อให้เสร็จแบบกะทัดรัด: ลงมือภายในเทิร์นกับ
  คำขอที่ดำเนินการได้, ดำเนินต่อจนเสร็จหรือถูกบล็อก, ฟื้นตัวจากผลลัพธ์เครื่องมือที่อ่อน,
  ตรวจสอบสถานะที่เปลี่ยนแปลงได้แบบสด, และตรวจสอบยืนยันก่อนสรุปขั้นสุดท้าย.
- **ความปลอดภัย**: ตัวเตือนแนวป้องกันสั้น ๆ เพื่อหลีกเลี่ยงพฤติกรรมแสวงหาอำนาจหรือการเลี่ยงการกำกับดูแล.
- **Skills** (เมื่อมี): บอกโมเดลวิธีโหลดคำสั่งของ Skills ตามต้องการ.
- **การควบคุม OpenClaw**: บอกโมเดลให้เลือกใช้เครื่องมือ `gateway` สำหรับ
  งานคอนฟิก/รีสตาร์ท และหลีกเลี่ยงการแต่งคำสั่ง CLI ขึ้นมาเอง.
- **การอัปเดตตัวเองของ OpenClaw**: วิธีตรวจสอบคอนฟิกอย่างปลอดภัยด้วย
  `config.schema.lookup`, แพตช์คอนฟิกด้วย `config.patch`, แทนที่คอนฟิกทั้งหมด
  ด้วย `config.apply`, และรัน `update.run` เฉพาะเมื่อผู้ใช้ร้องขออย่างชัดเจน
  เท่านั้น เครื่องมือ `gateway` ที่เอเจนต์เห็นยังปฏิเสธการเขียนทับ
  `tools.exec.ask` / `tools.exec.security` รวมถึงนามแฝงเดิม `tools.bash.*`
  ที่ normalize ไปยังพาธ exec ที่ได้รับการป้องกันเหล่านั้น.
- **เวิร์กสเปซ**: ไดเรกทอรีทำงาน (`agents.defaults.workspace`).
- **เอกสาร**: พาธในเครื่องไปยังเอกสาร/ซอร์สของ OpenClaw และเวลาที่ควรอ่าน.
- **ไฟล์เวิร์กสเปซ (ฉีดเข้าไป)**: ระบุว่าไฟล์บูตสแตรปถูกรวมไว้ด้านล่าง.
- **แซนด์บ็อกซ์** (เมื่อเปิดใช้): ระบุรันไทม์แบบแซนด์บ็อกซ์, พาธแซนด์บ็อกซ์, และมี exec แบบยกระดับหรือไม่.
- **วันที่และเวลาปัจจุบัน**: เขตเวลาเท่านั้น (เสถียรต่อแคช; นาฬิกาสดมาจาก `session_status`).
- **คำสั่งเอาต์พุตของผู้ช่วย**: ไวยากรณ์แนบไฟล์, โน้ตเสียง, และแท็กตอบกลับแบบกะทัดรัด.
- **Heartbeats**: พรอมป์ Heartbeat และพฤติกรรม ack เมื่อเปิดใช้ Heartbeat สำหรับเอเจนต์เริ่มต้น.
- **รันไทม์**: โฮสต์, OS, Node, โมเดล, ราก repo (เมื่อตรวจพบ), ระดับการคิด (หนึ่งบรรทัด).
- **การให้เหตุผล**: ระดับการมองเห็นปัจจุบัน + คำใบ้สลับ /reasoning.

OpenClaw เก็บเนื้อหาเสถียรขนาดใหญ่ รวมถึง **บริบทโปรเจกต์** ไว้เหนือ
ขอบเขตแคชพรอมป์ภายใน ส่วนช่องทาง/เซสชันที่ผันผวน เช่น
คำแนะนำฝัง Control UI, **การส่งข้อความ**, **เสียง**, **บริบทแชตกลุ่ม**,
**รีแอ็กชัน**, **Heartbeats**, และ **รันไทม์** จะถูกต่อท้ายใต้ขอบเขตนั้น
เพื่อให้แบ็กเอนด์ในเครื่องที่มีแคชคำนำหน้าสามารถใช้คำนำหน้าเวิร์กสเปซที่เสถียรซ้ำ
ข้ามเทิร์นของช่องทางได้ คำอธิบายเครื่องมือก็ควรหลีกเลี่ยงการฝังชื่อช่องทางปัจจุบันเช่นกัน
เมื่อสคีมาที่รับอยู่มีรายละเอียดรันไทม์นั้นอยู่แล้ว.

ส่วนเครื่องมือยังรวมคำแนะนำรันไทม์สำหรับงานที่รันนาน:

- ใช้ Cron สำหรับการติดตามผลในอนาคต (`check back later`, การเตือนความจำ, งานซ้ำ)
  แทนลูป sleep ของ `exec`, เทคนิคหน่วง `yieldMs`, หรือการ polling `process`
  ซ้ำ ๆ
- ใช้ `exec` / `process` เฉพาะสำหรับคำสั่งที่เริ่มตอนนี้และยังทำงานต่อ
  ในเบื้องหลัง
- เมื่อเปิดใช้การปลุกเมื่อเสร็จสิ้นอัตโนมัติ ให้เริ่มคำสั่งครั้งเดียวและพึ่งพา
  เส้นทางปลุกแบบ push เมื่อมันปล่อยเอาต์พุตหรือทำงานล้มเหลว
- ใช้ `process` สำหรับล็อก, สถานะ, อินพุต, หรือการแทรกแซงเมื่อคุณต้อง
  ตรวจสอบคำสั่งที่กำลังรันอยู่
- หากงานใหญ่กว่า ให้เลือกใช้ `sessions_spawn`; การเสร็จสิ้นของเอเจนต์ย่อยเป็นแบบ
  push และประกาศกลับไปยังผู้ร้องขอโดยอัตโนมัติ
- อย่า polling `subagents list` / `sessions_list` ในลูปเพียงเพื่อรอ
  ให้เสร็จสิ้น

`agents.defaults.subagents.delegationMode` สามารถทำให้คำแนะนำนี้เข้มขึ้นได้ โหมดเริ่มต้น
`suggest` คงแรงกระตุ้นพื้นฐานไว้ `prefer` เพิ่มส่วนเฉพาะ
**การมอบหมายเอเจนต์ย่อย** ที่บอกให้เอเจนต์หลักทำตัวเป็นผู้ประสานงานที่ตอบสนองไว
และผลักงานใด ๆ ที่ซับซ้อนกว่าการตอบกลับโดยตรงผ่าน
`sessions_spawn` นี่เป็นเรื่องของพรอมป์เท่านั้น; นโยบายเครื่องมือยังคงควบคุมว่า
`sessions_spawn` พร้อมใช้งานหรือไม่.

เมื่อเปิดใช้เครื่องมือทดลอง `update_plan` ส่วนเครื่องมือยังบอก
โมเดลให้ใช้มันเฉพาะกับงานหลายขั้นตอนที่ไม่ธรรมดา, คงขั้นตอน
`in_progress` ไว้หนึ่งขั้นตอนพอดี, และหลีกเลี่ยงการทำซ้ำแผนทั้งหมดหลังการอัปเดตแต่ละครั้ง.

แนวป้องกันด้านความปลอดภัยในพรอมป์ระบบเป็นคำแนะนำเท่านั้น มันชี้นำพฤติกรรมโมเดลแต่ไม่ได้บังคับใช้นโยบาย ใช้นโยบายเครื่องมือ, การอนุมัติ exec, แซนด์บ็อกซ์, และ allowlist ของช่องทางสำหรับการบังคับใช้จริง; ผู้ปฏิบัติงานสามารถปิดสิ่งเหล่านี้ได้ตามการออกแบบ.

บนช่องทางที่มีการ์ด/ปุ่มอนุมัติ native พรอมป์รันไทม์ตอนนี้บอกให้
เอเจนต์พึ่งพา UI อนุมัติ native นั้นก่อน ควรรวมคำสั่ง
`/approve` แบบแมนนวลเฉพาะเมื่อผลลัพธ์เครื่องมือบอกว่าการอนุมัติผ่านแชตไม่พร้อมใช้งานหรือ
การอนุมัติแบบแมนนวลเป็นเส้นทางเดียวเท่านั้น.

## โหมดพรอมป์

OpenClaw สามารถเรนเดอร์พรอมป์ระบบที่เล็กลงสำหรับเอเจนต์ย่อย รันไทม์ตั้งค่า
`promptMode` สำหรับการรันแต่ละครั้ง (ไม่ใช่คอนฟิกที่ผู้ใช้เห็น):

- `full` (ค่าเริ่มต้น): รวมทุกส่วนข้างต้น.
- `minimal`: ใช้สำหรับเอเจนต์ย่อย; ละเว้น **การเรียกคืนหน่วยความจำ**, **การอัปเดตตัวเองของ OpenClaw**,
  **นามแฝงโมเดล**, **ตัวตนผู้ใช้**, **คำสั่งเอาต์พุตของผู้ช่วย**,
  **การส่งข้อความ**, **การตอบกลับแบบเงียบ**, และ **Heartbeats** เครื่องมือ, **ความปลอดภัย**,
  **Skills** เมื่อส่งมา, เวิร์กสเปซ, แซนด์บ็อกซ์, วันที่และเวลาปัจจุบัน (เมื่อ
  ทราบ), รันไทม์, และบริบทที่ฉีดเข้าไปยังคงพร้อมใช้งาน.
- `none`: ส่งกลับเฉพาะบรรทัดตัวตนพื้นฐาน.

เมื่อ `promptMode=minimal`, พรอมป์ที่ฉีดเพิ่มจะติดป้ายว่า **บริบทเอเจนต์ย่อย**
แทน **บริบทแชตกลุ่ม**.

สำหรับการรันตอบกลับอัตโนมัติของช่องทาง OpenClaw ละเว้นส่วน **การตอบกลับแบบเงียบ**
ทั่วไปเมื่อบริบทแบบ direct, กลุ่ม, หรือเฉพาะเครื่องมือข้อความเป็นเจ้าของสัญญาการตอบกลับที่มองเห็นได้.
เฉพาะโหมดกลุ่ม/ช่องทางอัตโนมัติแบบเก่าเท่านั้นที่ควรแสดง `NO_REPLY`; แชต direct
และการตอบกลับเฉพาะเครื่องมือข้อความจะไม่ได้รับคำแนะนำโทเคนแบบเงียบ.

## สแนปช็อตพรอมป์

OpenClaw เก็บสแนปช็อตพรอมป์ที่ commit แล้วสำหรับเส้นทางปกติที่คาดว่าจะสำเร็จของรันไทม์ Codex ไว้ใต้
`test/fixtures/agents/prompt-snapshots/codex-runtime-happy-path/` มันเรนเดอร์
พารามิเตอร์เธรด/เทิร์นของ app-server ที่เลือก รวมถึงสแต็กชั้นพรอมป์ที่ผูกกับโมเดลซึ่งสร้างขึ้นใหม่
สำหรับเทิร์น Telegram direct, กลุ่ม Discord, และ Heartbeat สแต็กนั้น
รวม fixture พรอมป์โมเดล Codex `gpt-5.5` ที่ปักหมุดซึ่งสร้างจากรูปทรงแค็ตตาล็อก/แคชโมเดลของ Codex,
ข้อความผู้พัฒนาเกี่ยวกับสิทธิ์ของเส้นทางปกติที่คาดว่าจะสำเร็จของ Codex,
คำสั่งผู้พัฒนาของ OpenClaw, คำสั่งโหมดการทำงานร่วมกันตามขอบเขตเทิร์น
เมื่อ OpenClaw จัดหาให้, อินพุตเทิร์นผู้ใช้, และการอ้างอิงไปยังสเปกเครื่องมือแบบไดนามิก.

รีเฟรช fixture พรอมป์โมเดล Codex ที่ปักหมุดด้วย
`pnpm prompt:snapshots:sync-codex-model` โดยค่าเริ่มต้น สคริปต์จะมองหา
แคชรันไทม์ของ Codex ที่ `$CODEX_HOME/models_cache.json`, จากนั้น
`~/.codex/models_cache.json`, และหลังจากนั้นเท่านั้นจึง fallback ไปยังแบบแผน checkout Codex
ของผู้ดูแลที่ `~/code/codex/codex-rs/models-manager/models.json` หาก
ไม่มีแหล่งใดอยู่ คำสั่งจะออกโดยไม่เปลี่ยน fixture ที่ commit ไว้
ส่ง `--catalog <path>` เพื่อรีเฟรชจากไฟล์ `models_cache.json`
หรือ `models.json` ที่ระบุ.

สแนปช็อตเหล่านี้ยังคงไม่ใช่การจับคำขอ OpenAI ดิบแบบไบต์ต่อไบต์ Codex
สามารถเพิ่มบริบทเวิร์กสเปซที่รันไทม์เป็นเจ้าของ เช่น `AGENTS.md`, บริบทสภาพแวดล้อม,
ความทรงจำ, คำสั่งแอป/Plugin, และคำสั่งโหมดการทำงานร่วมกัน Default
ในตัว ภายในรันไทม์ Codex หลังจาก OpenClaw ส่งพารามิเตอร์เธรดและเทิร์นแล้ว.

สร้างใหม่ด้วย `pnpm prompt:snapshots:gen` และตรวจสอบ drift ด้วย
`pnpm prompt:snapshots:check` CI รันการตรวจสอบ drift ใน shard ขอบเขตเพิ่มเติม
เพื่อให้การเปลี่ยนแปลงพรอมป์และการอัปเดตสแนปช็อตยังคงผูกกับ PR เดียวกัน.

## การฉีดบูตสแตรปเวิร์กสเปซ

ไฟล์บูตสแตรปถูก resolve จากเวิร์กสเปซที่ใช้งานอยู่ จากนั้นถูกส่งต่อไปยัง
พื้นผิวพรอมป์ที่ตรงกับอายุการใช้งานของไฟล์:

- `AGENTS.md`
- `SOUL.md`
- `TOOLS.md`
- `IDENTITY.md`
- `USER.md`
- `HEARTBEAT.md`
- `BOOTSTRAP.md` (เฉพาะบนเวิร์กสเปซใหม่เอี่ยม)
- `MEMORY.md` เมื่อมีอยู่

บนฮาร์เนส Codex native OpenClaw หลีกเลี่ยงการทำซ้ำไฟล์เวิร์กสเปซที่เสถียร
ในทุกเทิร์นผู้ใช้ Codex โหลด `AGENTS.md` ผ่านการค้นพบเอกสารโปรเจกต์
ของตัวเอง `SOUL.md`, `IDENTITY.md`, `TOOLS.md`, และ `USER.md` ถูกส่งต่อเป็น
คำสั่งผู้พัฒนา Codex รายการ Skills แบบกะทัดรัดของ OpenClaw ก็ถูกส่งต่อ
เป็นคำสั่งผู้พัฒนาการทำงานร่วมกันตามขอบเขตเทิร์นเช่นกัน เนื้อหา `HEARTBEAT.md`
ไม่ถูกฉีดเข้าไป; เทิร์น Heartbeat จะได้รับโน้ตโหมดการทำงานร่วมกันที่ชี้ไปยังไฟล์
เมื่อไฟล์มีอยู่และไม่ว่างเปล่า เนื้อหา `MEMORY.md` จากเวิร์กสเปซเอเจนต์
ที่กำหนดค่าไว้จะไม่ถูกวางลงในทุกเทิร์น Codex native; เมื่อเครื่องมือหน่วยความจำ
พร้อมใช้งานสำหรับเวิร์กสเปซนั้น เทิร์น Codex จะได้รับโน้ตหน่วยความจำเวิร์กสเปซขนาดเล็กใน
คำสั่งผู้พัฒนาการทำงานร่วมกันตามขอบเขตเทิร์น และควรใช้ `memory_search`
หรือ `memory_get` เมื่อหน่วยความจำถาวรเกี่ยวข้อง หากเครื่องมือถูกปิดใช้งาน, การค้นหาหน่วยความจำ
ไม่พร้อมใช้งาน, หรือเวิร์กสเปซที่ใช้งานอยู่ต่างจากเวิร์กสเปซหน่วยความจำของเอเจนต์,
`MEMORY.md` จะ fallback ไปยังเส้นทางบริบทเทิร์นแบบมีขอบเขตตามปกติ เนื้อหา
`BOOTSTRAP.md` ที่ใช้งานอยู่ยังคงบทบาทบริบทเทิร์นตามปกติไว้ในตอนนี้.

บนฮาร์เนสที่ไม่ใช่ Codex ไฟล์บูตสแตรปยังคงถูกประกอบเข้าไปใน
พรอมป์ OpenClaw ตาม gate ที่มีอยู่ `HEARTBEAT.md` ถูกละเว้นบน
การรันปกติเมื่อ Heartbeat ถูกปิดใช้งานสำหรับเอเจนต์เริ่มต้น หรือ
`agents.defaults.heartbeat.includeSystemPromptSection` เป็น false เก็บไฟล์ที่ฉีดเข้าไป
ให้กระชับ โดยเฉพาะ `MEMORY.md` ที่ไม่ใช่ Codex `MEMORY.md` ตั้งใจให้คงเป็น
สรุประยะยาวที่คัดสรรแล้ว; โน้ตรายวันโดยละเอียดควรอยู่ใน `memory/*.md` ซึ่ง
`memory_search` และ `memory_get` สามารถดึงขึ้นมาตามต้องการได้ ไฟล์
`MEMORY.md` ที่ไม่ใช่ Codex ขนาดใหญ่เกินไปจะเพิ่มการใช้พรอมป์ และอาจถูกฉีดบางส่วน
เพราะข้อจำกัดไฟล์บูตสแตรปด้านล่าง.

<Note>
ไฟล์รายวัน `memory/*.md` **ไม่ใช่** ส่วนหนึ่งของบริบทโปรเจกต์บูตสแตรปตามปกติ ในเทิร์นปกติ ไฟล์เหล่านี้ถูกเข้าถึงตามต้องการผ่านเครื่องมือ `memory_search` และ `memory_get` ดังนั้นจึงไม่นับรวมในหน้าต่างบริบท เว้นแต่โมเดลจะอ่านอย่างชัดเจน เทิร์น `/new` และ `/reset` เปล่าเป็นข้อยกเว้น: รันไทม์สามารถเติมหน่วยความจำรายวันที่เพิ่งมีไว้ข้างหน้าเป็นบล็อกบริบทเริ่มต้นแบบครั้งเดียวสำหรับเทิร์นแรกนั้น.
</Note>

ไฟล์ขนาดใหญ่จะถูกตัดทอนพร้อมเครื่องหมายกำกับ ขนาดสูงสุดต่อไฟล์ควบคุมด้วย
`agents.defaults.bootstrapMaxChars` (ค่าเริ่มต้น: 20000) เนื้อหา bootstrap
ทั้งหมดที่ฉีดเข้ามาจากหลายไฟล์ถูกจำกัดด้วย `agents.defaults.bootstrapTotalMaxChars`
(ค่าเริ่มต้น: 60000) ไฟล์ที่หายไปจะฉีดเครื่องหมายไฟล์หายแบบสั้น เมื่อเกิดการตัดทอน
OpenClaw สามารถฉีดประกาศเตือนแบบกระชับในพรอมป์ระบบได้ ควบคุมสิ่งนี้ด้วย
`agents.defaults.bootstrapPromptTruncationWarning` (`off`, `once`, `always`;
ค่าเริ่มต้น: `always`) จำนวนดิบ/ที่ฉีดเข้ามาแบบละเอียดจะอยู่ใน diagnostics เช่น
`/context`, `/status`, doctor และบันทึก

สำหรับไฟล์หน่วยความจำ การตัดทอนไม่ใช่การสูญหายของข้อมูล: ไฟล์ยังคงสมบูรณ์อยู่บนดิสก์
บน Codex แบบเนทีฟ `MEMORY.md` จะถูกอ่านตามต้องการผ่านเครื่องมือหน่วยความจำเมื่อ
พร้อมใช้งาน พร้อม fallback ของพรอมป์แบบมีขอบเขตเมื่อเครื่องมือทำงานไม่ได้ บน
harness อื่น โมเดลจะเห็นเฉพาะสำเนาที่ฉีดเข้ามาแบบย่อจนกว่าจะอ่านหรือค้นหา
หน่วยความจำโดยตรง หาก `MEMORY.md` ถูกตัดทอนซ้ำๆ ที่นั่น ให้กลั่นเป็นสรุปถาวร
ที่สั้นลงและย้ายประวัติแบบละเอียดไปไว้ใน `memory/*.md` หรือเพิ่มขีดจำกัด
bootstrap โดยตั้งใจ

เซสชันซับเอเจนต์จะฉีดเฉพาะ `AGENTS.md` และ `TOOLS.md` (ไฟล์ bootstrap อื่น
จะถูกกรองออกเพื่อให้บริบทของซับเอเจนต์มีขนาดเล็ก)

hook ภายในสามารถดักขั้นตอนนี้ผ่าน `agent:bootstrap` เพื่อแก้ไขหรือแทนที่
ไฟล์ bootstrap ที่ฉีดเข้ามา (ตัวอย่างเช่น สลับ `SOUL.md` เป็น persona ทางเลือก)

หากคุณต้องการทำให้เอเจนต์ฟังดูทั่วไปน้อยลง ให้เริ่มจาก
[คู่มือบุคลิกภาพ SOUL.md](/th/concepts/soul)

หากต้องการตรวจสอบว่าไฟล์ที่ฉีดแต่ละไฟล์มีส่วนร่วมมากเท่าใด (ดิบเทียบกับที่ฉีด, การตัดทอน, รวมถึง overhead ของสคีมาเครื่องมือ) ให้ใช้ `/context list` หรือ `/context detail` ดู [บริบท](/th/concepts/context)

## การจัดการเวลา

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

ใช้ `session_status` เมื่อเอเจนต์ต้องการเวลาปัจจุบัน การ์ดสถานะจะมีบรรทัด timestamp
เครื่องมือเดียวกันนี้ยังสามารถตั้งค่า model override ต่อเซสชันได้แบบไม่บังคับ
(`model=default` จะล้างค่า)

กำหนดค่าด้วย:

- `agents.defaults.userTimezone`
- `agents.defaults.timeFormat` (`auto` | `12` | `24`)

ดูรายละเอียดพฤติกรรมทั้งหมดที่ [วันที่และเวลา](/th/date-time)

## Skills

เมื่อมี Skills ที่เข้าเงื่อนไข OpenClaw จะฉีด **รายการ Skills ที่พร้อมใช้งาน**
แบบกะทัดรัด (`formatSkillsForPrompt`) ซึ่งรวม **พาธไฟล์** และเครื่องหมาย
`<version>` ที่ได้จากเนื้อหาสำหรับแต่ละ skill พรอมป์จะสั่งให้โมเดลใช้ `read`
เพื่อโหลด SKILL.md จากตำแหน่งที่ระบุไว้ (workspace, managed หรือ bundled)
และให้อ่าน skill ซ้ำเมื่อ `<version>` แตกต่างจากเทิร์นก่อนหน้า หากไม่มี
Skills ที่เข้าเงื่อนไข ส่วน Skills จะถูกละไว้

เทิร์นของ Codex แบบเนทีฟจะได้รับรายการนี้เป็นคำสั่ง developer สำหรับการร่วมมือ
ที่มีขอบเขตเฉพาะเทิร์น แทนอินพุตผู้ใช้รายเทิร์น ยกเว้นเทิร์น cron แบบเบาที่
คงพรอมป์ที่ตั้งเวลาไว้ให้เหมือนเดิมทุกประการ harness อื่นจะคงส่วนพรอมป์ปกติไว้

ตำแหน่งสามารถชี้ไปยัง skill ที่ซ้อนอยู่ เช่น
`skills/personal/foo/SKILL.md` การซ้อนมีไว้เพื่อการจัดระเบียบเท่านั้น พรอมป์ยังคง
ใช้ชื่อ skill แบบแบนจาก frontmatter ของ `SKILL.md`

การเข้าเงื่อนไขรวมถึง gate ของเมทาดาทา skill, การตรวจสอบสภาพแวดล้อม/การกำหนดค่า
ขณะรัน และ allowlist ของ skill ของเอเจนต์ที่มีผลเมื่อกำหนดค่า
`agents.defaults.skills` หรือ `agents.list[].skills`

Skills ที่ bundle มากับ Plugin จะเข้าเงื่อนไขเฉพาะเมื่อ Plugin เจ้าของถูกเปิดใช้งาน
สิ่งนี้ทำให้ Plugin เครื่องมือสามารถเปิดเผยคู่มือการทำงานที่ลึกขึ้นได้โดยไม่ต้องฝัง
คำแนะนำทั้งหมดนั้นไว้โดยตรงในคำอธิบายเครื่องมือทุกตัว

```
<available_skills>
  <skill>
    <name>...</name>
    <description>...</description>
    <location>...</location>
    <version>sha256:...</version>
  </skill>
</available_skills>
```

สิ่งนี้ทำให้พรอมป์พื้นฐานมีขนาดเล็ก ขณะยังคงเปิดใช้ Skills แบบเจาะจงเป้าหมายได้

งบประมาณรายการ Skills เป็นของระบบย่อย Skills:

- ค่าเริ่มต้นแบบรวม: `skills.limits.maxSkillsPromptChars`
- override ต่อเอเจนต์: `agents.list[].skillsLimits.maxSkillsPromptChars`

ข้อความตัดตอนของรันไทม์ทั่วไปแบบมีขอบเขตใช้ surface อื่น:

- `agents.defaults.contextLimits.*`
- `agents.list[].contextLimits.*`

การแยกนี้ทำให้การกำหนดขนาดของ Skills แยกจากการกำหนดขนาดการอ่าน/การฉีดของรันไทม์
เช่น `memory_get`, ผลลัพธ์เครื่องมือสด และการรีเฟรช AGENTS.md หลัง Compaction

## เอกสารประกอบ

พรอมป์ระบบมีส่วน **เอกสารประกอบ** เมื่อเอกสารในเครื่องพร้อมใช้งาน ส่วนนี้จะชี้ไปยัง
ไดเรกทอรีเอกสาร OpenClaw ในเครื่อง (`docs/` ใน Git checkout หรือเอกสารในแพ็กเกจ
npm ที่ bundle มา) หากเอกสารในเครื่องไม่พร้อมใช้งาน จะ fallback ไปที่
[https://docs.openclaw.ai](https://docs.openclaw.ai)

ส่วนเดียวกันนี้ยังรวมตำแหน่งซอร์สของ OpenClaw ด้วย Git checkout จะเปิดเผย root
ของซอร์สในเครื่องเพื่อให้เอเจนต์ตรวจสอบโค้ดได้โดยตรง การติดตั้งแพ็กเกจจะมี URL
ซอร์ส GitHub และบอกให้เอเจนต์ตรวจสอบซอร์สที่นั่นเมื่อเอกสารไม่สมบูรณ์หรือล้าสมัย
พรอมป์ยังระบุ mirror เอกสารสาธารณะ, Discord ชุมชน และ ClawHub
([https://clawhub.ai](https://clawhub.ai)) สำหรับการค้นหา Skills โดยวางกรอบให้
เอกสารเป็นแหล่งอ้างอิงหลักสำหรับความรู้เกี่ยวกับ OpenClaw เอง ก่อนที่โมเดลจะเข้าใจว่า
OpenClaw ทำงานอย่างไร ซึ่งรวมถึงหน่วยความจำ/บันทึกรายวัน, เซสชัน, เครื่องมือ,
Gateway, config, คำสั่ง หรือบริบทโปรเจกต์ พรอมป์บอกให้โมเดลใช้เอกสารในเครื่อง
(หรือ mirror เอกสารเมื่อเอกสารในเครื่องไม่พร้อมใช้งาน) ก่อน และให้ถือว่า
AGENTS.md, บริบทโปรเจกต์, บันทึก workspace/profile/memory และ `memory_search`
เป็นบริบทคำสั่งหรือหน่วยความจำผู้ใช้ แทนที่จะเป็นความรู้ด้านการออกแบบหรือการนำไปใช้
ของ OpenClaw หากเอกสารไม่มีข้อมูลหรือล้าสมัย โมเดลควรระบุเช่นนั้นและตรวจสอบซอร์ส
พรอมป์ยังบอกให้โมเดลรัน `openclaw status` เองเมื่อเป็นไปได้ และถามผู้ใช้เฉพาะเมื่อ
ไม่มีสิทธิ์เข้าถึง
สำหรับการกำหนดค่าโดยเฉพาะ จะชี้เอเจนต์ไปยัง action ของเครื่องมือ `gateway`
ชื่อ `config.schema.lookup` เพื่อดูเอกสารและข้อจำกัดระดับฟิลด์ที่ถูกต้อง จากนั้นไปที่
`docs/gateway/configuration.md` และ `docs/gateway/configuration-reference.md`
เพื่อคำแนะนำที่กว้างขึ้น

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

- [รันไทม์เอเจนต์](/th/concepts/agent)
- [workspace ของเอเจนต์](/th/concepts/agent-workspace)
- [เอนจินบริบท](/th/concepts/context-engine)
