“บริบท” คือ ทุกสิ่งที่ OpenClaw ส่งให้โมเดลสำหรับการรันหนึ่งครั้ง โดยถูกจำกัดด้วย หน้าต่างบริบท ของโมเดล (ขีดจำกัดโทเค็น) แบบจำลองความเข้าใจสำหรับผู้เริ่มต้น:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- พรอมป์ต์ระบบ (สร้างโดย OpenClaw): กฎ, เครื่องมือ, รายการ Skills, เวลา/รันไทม์ และไฟล์เวิร์กสเปซที่ถูกแทรกเข้าไป
- ประวัติการสนทนา: ข้อความของคุณ + ข้อความของผู้ช่วยสำหรับเซสชันนี้
- การเรียกใช้เครื่องมือ/ผลลัพธ์ + ไฟล์แนบ: เอาต์พุตคำสั่ง, การอ่านไฟล์, รูปภาพ/เสียง ฯลฯ
เริ่มต้นอย่างรวดเร็ว (ตรวจสอบบริบท)
/status→ มุมมองด่วนว่า “หน้าต่างของฉันเต็มแค่ไหน?” + การตั้งค่าเซสชัน/context list→ สิ่งที่ถูกแทรกเข้าไป + ขนาดคร่าว ๆ (ต่อไฟล์ + รวมทั้งหมด)/context detail→ รายละเอียดเชิงลึกกว่า: ขนาดต่อไฟล์, ขนาดสคีมาต่อเครื่องมือ, ขนาดรายการต่อ Skill และขนาดพรอมป์ต์ระบบ/context map→ รูปภาพแผนผังแบบ WinDirStat ของผู้มีส่วนต่อบริบทที่ติดตามอยู่ในเซสชันปัจจุบัน/usage tokens→ เพิ่มส่วนท้ายการใช้งานต่อคำตอบในคำตอบปกติ/compact→ สรุปประวัติที่เก่ากว่าเป็นรายการแบบย่อเพื่อคืนพื้นที่หน้าต่าง
ตัวอย่างเอาต์พุต
ค่าจะแตกต่างกันตามโมเดล, ผู้ให้บริการ, นโยบายเครื่องมือ และสิ่งที่อยู่ในเวิร์กสเปซของคุณ/context list
/context detail
/context map
ส่งรูปภาพที่สร้างจากรายงานการรันล่าสุดที่แคชไว้ ก่อนที่ข้อความปกติจะสร้างรายงานการรันในเซสชัน /context map จะส่งคืนข้อความว่าไม่พร้อมใช้งานแทนการเรนเดอร์ค่าประมาณ พื้นที่สี่เหลี่ยมผืนผ้าแปรผันตามจำนวนอักขระพรอมป์ต์ที่ติดตาม:
- ไฟล์เวิร์กสเปซที่ถูกแทรกเข้าไป
- ข้อความพรอมป์ต์ระบบพื้นฐาน
- รายการพรอมป์ต์ของ Skill
- สคีมา JSON ของเครื่องมือ
/context list, /context detail และ /context json ยังสามารถตรวจสอบค่าประมาณแบบตามคำขอได้เมื่อไม่มีรายงานการรันที่แคชไว้
สิ่งที่นับรวมในหน้าต่างบริบท
ทุกสิ่งที่โมเดลได้รับจะถูกนับรวม รวมถึง:- พรอมป์ต์ระบบ (ทุกส่วน)
- ประวัติการสนทนา
- การเรียกใช้เครื่องมือ + ผลลัพธ์เครื่องมือ
- ไฟล์แนบ/ทรานสคริปต์ (รูปภาพ/เสียง/ไฟล์)
- สรุป Compaction และอาร์ติแฟกต์จากการตัดแต่ง
- “ตัวครอบ” หรือเฮดเดอร์ที่ซ่อนอยู่ของผู้ให้บริการ (มองไม่เห็น แต่ยังถูกนับ)
OpenClaw สร้างพรอมป์ต์ระบบอย่างไร
พรอมป์ต์ระบบเป็น ส่วนที่ OpenClaw เป็นเจ้าของ และถูกสร้างใหม่ทุกครั้งที่รัน โดยประกอบด้วย:- รายการเครื่องมือ + คำอธิบายสั้น ๆ
- รายการ Skills (เฉพาะเมตาดาตา; ดูด้านล่าง)
- ตำแหน่งเวิร์กสเปซ
- เวลา (UTC + เวลาผู้ใช้ที่แปลงแล้วถ้ากำหนดค่าไว้)
- เมตาดาตารันไทม์ (โฮสต์/OS/โมเดล/thinking)
- ไฟล์บูตสแตรปของเวิร์กสเปซที่ถูกแทรกไว้ภายใต้ บริบทโปรเจกต์
ไฟล์เวิร์กสเปซที่ถูกแทรกเข้าไป (บริบทโปรเจกต์)
ตามค่าเริ่มต้น OpenClaw จะแทรกชุดไฟล์เวิร์กสเปซคงที่ (ถ้ามีอยู่):AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(เฉพาะการรันครั้งแรก)
agents.defaults.bootstrapMaxChars (ค่าเริ่มต้น 12000 อักขระ) OpenClaw ยังบังคับใช้เพดานการแทรกบูตสแตรปรวมข้ามไฟล์ด้วย agents.defaults.bootstrapTotalMaxChars (ค่าเริ่มต้น 60000 อักขระ) /context จะแสดงขนาด ดิบเทียบกับที่ถูกแทรก และระบุว่ามีการตัดทอนเกิดขึ้นหรือไม่
เมื่อเกิดการตัดทอน รันไทม์สามารถแทรกบล็อกคำเตือนภายในพรอมป์ต์ภายใต้บริบทโปรเจกต์ได้ กำหนดค่านี้ด้วย agents.defaults.bootstrapPromptTruncationWarning (off, once, always; ค่าเริ่มต้น once)
Skills: ถูกแทรกเข้าไปเทียบกับโหลดตามคำขอ
พรอมป์ต์ระบบมี รายการ Skills แบบกระชับ (ชื่อ + คำอธิบาย + ตำแหน่ง) รายการนี้มีโอเวอร์เฮดจริง คำสั่งของ Skill ไม่ได้ รวมอยู่โดยค่าเริ่มต้น โมเดลถูกคาดหวังให้read SKILL.md ของ Skill เฉพาะเมื่อจำเป็น
เครื่องมือ: มีค่าใช้จ่ายสองแบบ
เครื่องมือมีผลต่อบริบทสองทาง:- ข้อความรายการเครื่องมือ ในพรอมป์ต์ระบบ (สิ่งที่คุณเห็นเป็น “เครื่องมือ”)
- สคีมาเครื่องมือ (JSON) สิ่งเหล่านี้ถูกส่งให้โมเดลเพื่อให้เรียกใช้เครื่องมือได้ โดยนับรวมในบริบท แม้ว่าคุณจะไม่เห็นเป็นข้อความธรรมดาก็ตาม
/context detail จะแยกสคีมาเครื่องมือที่ใหญ่ที่สุดเพื่อให้คุณเห็นว่าอะไรเป็นส่วนหลัก
คำสั่ง, ไดเรกทีฟ และ “ชอร์ตคัตแบบอินไลน์”
คำสั่งสแลชถูกจัดการโดย Gateway มีพฤติกรรมที่ต่างกันอยู่ไม่กี่แบบ:- คำสั่งเดี่ยว: ข้อความที่มีเพียง
/...จะทำงานเป็นคำสั่ง - ไดเรกทีฟ:
/think,/verbose,/trace,/reasoning,/elevated,/model,/queueจะถูกตัดออกก่อนที่โมเดลจะเห็นข้อความ- ข้อความที่มีเฉพาะไดเรกทีฟจะคงการตั้งค่าเซสชันไว้
- ไดเรกทีฟแบบอินไลน์ในข้อความปกติทำหน้าที่เป็นคำใบ้ต่อข้อความ
- ชอร์ตคัตแบบอินไลน์ (เฉพาะผู้ส่งที่อยู่ใน allowlist): โทเค็น
/...บางรายการภายในข้อความปกติสามารถทำงานได้ทันที (ตัวอย่าง: “hey /status”) และจะถูกตัดออกก่อนที่โมเดลจะเห็นข้อความที่เหลือ
เซสชัน, Compaction และการตัดแต่ง (สิ่งที่คงอยู่)
สิ่งที่คงอยู่ข้ามข้อความขึ้นอยู่กับกลไก:- ประวัติปกติ คงอยู่ในทรานสคริปต์เซสชันจนกว่าจะถูก compact/ตัดแต่งตามนโยบาย
- Compaction คงสรุปหนึ่งรายการไว้ในทรานสคริปต์ และคงข้อความล่าสุดไว้เหมือนเดิม
- การตัดแต่ง จะทิ้งผลลัพธ์เครื่องมือเก่าออกจากพรอมป์ต์ ในหน่วยความจำ เพื่อคืนพื้นที่หน้าต่างบริบท แต่จะไม่เขียนทรานสคริปต์เซสชันใหม่ - ประวัติเต็มยังตรวจสอบได้บนดิสก์
legacy ในตัวสำหรับการประกอบและ
Compaction หากคุณติดตั้ง Plugin ที่ให้ kind: "context-engine" และ
เลือกด้วย plugins.slots.contextEngine OpenClaw จะมอบหมายการประกอบบริบท,
/compact และฮุกวงจรชีวิตบริบทของ subagent ที่เกี่ยวข้องให้เอนจินนั้นแทน
ownsCompaction: false จะไม่ย้อนกลับอัตโนมัติไปยังเอนจิน legacy;
เอนจินที่ใช้งานอยู่ยังต้องอิมพลีเมนต์ compact() ให้ถูกต้อง ดู
เอนจินบริบท สำหรับอินเทอร์เฟซแบบเสียบเปลี่ยนได้,
ฮุกวงจรชีวิต และการกำหนดค่าฉบับเต็ม
สิ่งที่ /context รายงานจริง ๆ
/context จะเลือกใช้รายงานพรอมป์ต์ระบบที่ สร้างจากการรัน ล่าสุดเมื่อมีให้ใช้งาน:
System prompt (run)= จับมาจากการรันแบบฝังตัวครั้งล่าสุด (ที่ใช้เครื่องมือได้) และคงไว้ในที่เก็บเซสชันSystem prompt (estimate)= คำนวณทันทีเมื่อไม่มีรายงานการรันอยู่ (หรือเมื่อรันผ่านแบ็กเอนด์ CLI ที่ไม่สร้างรายงาน)
ที่เกี่ยวข้อง
เอนจินบริบท
การแทรกบริบทแบบกำหนดเองผ่าน plugins
Compaction
การสรุปบทสนทนายาว ๆ เพื่อคงให้อยู่ภายในหน้าต่างของโมเดล
พรอมป์ต์ระบบ
วิธีสร้างพรอมป์ต์ระบบและสิ่งที่มันแทรกในแต่ละรอบ
ลูปเอเจนต์
วงจรการทำงานเต็มของเอเจนต์ตั้งแต่ข้อความขาเข้าจนถึงคำตอบสุดท้าย