Sessions and memory

ข้อผูกพันที่อนุมานได้

Commitments คือความทรงจำสำหรับการติดตามผลระยะสั้น เมื่อเปิดใช้งาน OpenClaw สามารถ สังเกตว่าการสนทนาสร้างโอกาสให้กลับมาติดตามผลในอนาคต และจดจำไว้ เพื่อนำกลับมากล่าวถึงภายหลัง

ตัวอย่าง:

  • คุณกล่าวถึงการสัมภาษณ์ในวันพรุ่งนี้ OpenClaw อาจกลับมาสอบถามหลังจากนั้น
  • คุณบอกว่าคุณเหนื่อยล้ามาก OpenClaw อาจถามภายหลังว่าคุณได้นอนหลับหรือไม่
  • เอเจนต์บอกว่าจะติดตามผลหลังจากมีบางอย่างเปลี่ยนแปลง OpenClaw อาจติดตาม เรื่องที่ยังค้างอยู่นั้น

Commitments ไม่ใช่ข้อเท็จจริงถาวรเช่น MEMORY.md และไม่ใช่ การเตือนที่กำหนดไว้อย่างแน่นอน แต่ทำหน้าที่อยู่ระหว่างความทรงจำกับระบบอัตโนมัติ: OpenClaw จดจำ ภาระผูกพันที่สัมพันธ์กับการสนทนา จากนั้น Heartbeat จะส่งภาระผูกพันนั้นเมื่อถึงกำหนด

เปิดใช้งาน Commitments

Commitments ปิดอยู่โดยค่าเริ่มต้น (commitments.enabled: false) เปิดใช้งานในการกำหนดค่า:

bash
openclaw config set commitments.enabled trueopenclaw config set commitments.maxPerDay 3

openclaw.json ที่เทียบเท่า:

json
{  "commitments": {    "enabled": true,    "maxPerDay": 3  }}

commitments.maxPerDay จำกัดจำนวนการติดตามผลที่อนุมานได้ซึ่งสามารถส่ง ต่อเซสชันของเอเจนต์ภายในช่วงหนึ่งวันแบบเลื่อน ค่าเริ่มต้นคือ 3

วิธีการทำงาน

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

เมื่อพบรายการที่มีความเชื่อมั่นสูง OpenClaw จะจัดเก็บ Commitment พร้อมข้อมูลต่อไปนี้:

  • รหัสเอเจนต์
  • คีย์เซสชัน
  • ช่องทางต้นทางและเป้าหมายการส่ง
  • ช่วงเวลาที่ครบกำหนด
  • ข้อความติดตามผลสั้นๆ ที่แนะนำ
  • ข้อมูลเมตาที่ไม่ใช่คำสั่ง เพื่อให้ Heartbeat ตัดสินใจว่าจะส่งหรือไม่

การส่งจะเกิดขึ้นผ่าน Heartbeat เมื่อ Commitment ถึงกำหนด Heartbeat จะเพิ่ม Commitment ลงในรอบการทำงานของ Heartbeat สำหรับขอบเขตเอเจนต์และช่องทางเดียวกัน พรอมต์จะเตือนอย่างชัดเจนว่าข้อมูลเมตาของ Commitment ไม่น่าเชื่อถือ และสั่ง โมเดลไม่ให้ปฏิบัติตามคำสั่งในข้อมูลนั้นหรือใช้เครื่องมือเพราะข้อมูลนั้น โมเดลสามารถส่งข้อความติดตามผลที่เป็นธรรมชาติหนึ่งข้อความ หรือตอบ HEARTBEAT_OK เพื่อยกเลิกรายการนั้น หากกำหนดค่า Heartbeat ด้วย target: "none" Commitments ที่ถึงกำหนดจะยังคง อยู่ภายในและไม่ส่งข้อความติดตามผลออกไปภายนอก พรอมต์สำหรับส่ง Commitment จะไม่ เล่นซ้ำข้อความการสนทนาต้นฉบับ แต่จะมีเฉพาะข้อความติดตามผลที่แนะนำและ ข้อมูลเมตา และรอบ Heartbeat สำหรับ Commitment ที่ถึงกำหนดจะทำงานโดยไม่มีเครื่องมือของ OpenClaw

OpenClaw จะไม่ส่ง Commitment ที่อนุมานได้ทันทีหลังจากเขียน เวลาครบกำหนดจะถูกปรับให้อยู่หลังจากสร้าง Commitment อย่างน้อยหนึ่งช่วงเวลา Heartbeat เพื่อไม่ให้ข้อความติดตามผลสะท้อนกลับมาในจังหวะเดียวกับที่ อนุมานขึ้น

ขอบเขต

Commitments มีขอบเขตจำกัดอยู่ที่บริบทของเอเจนต์และช่องทางที่แน่นอนซึ่งใช้ สร้างรายการนั้น การติดตามผลที่อนุมานระหว่างสนทนากับเอเจนต์หนึ่งใน Discord จะไม่ถูก ส่งโดยเอเจนต์อื่น ช่องทางอื่น หรือเซสชันที่ไม่เกี่ยวข้อง

ขอบเขตนี้เป็นส่วนหนึ่งของคุณลักษณะ ข้อความติดตามผลที่เป็นธรรมชาติควรให้ความรู้สึกเหมือนเป็น การสนทนาเดิมที่ดำเนินต่อ ไม่ใช่ระบบเตือนความจำส่วนกลาง

Commitments เทียบกับการเตือน

ความต้องการ ใช้
"เตือนฉันตอน 15:00 น." งานตามกำหนดเวลา
"สะกิดฉันในอีก 20 นาที" งานตามกำหนดเวลา
"เรียกใช้รายงานนี้ทุกวันจันทร์ถึงศุกร์" งานตามกำหนดเวลา
"ฉันมีสัมภาษณ์พรุ่งนี้" Commitments
"เมื่อคืนฉันไม่ได้นอนเลย" Commitments
"ติดตามผลหากฉันไม่ตอบกระทู้ที่ยังค้างอยู่นี้" Commitments

คำขอที่ชัดเจนของผู้ใช้อยู่ในเส้นทางของตัวจัดกำหนดการอยู่แล้ว Commitments ใช้เฉพาะ สำหรับการติดตามผลที่อนุมานได้: ช่วงเวลาที่ผู้ใช้ไม่ได้ขอให้ตั้งการเตือน แต่การสนทนาได้สร้างเหตุผลที่ชัดเจนสำหรับการกลับมาติดตามผลในอนาคต

จัดการ Commitments

ใช้ CLI เพื่อตรวจสอบและล้าง Commitments ที่จัดเก็บไว้:

bash
openclaw commitmentsopenclaw commitments --allopenclaw commitments --agent mainopenclaw commitments --status snoozedopenclaw commitments dismiss cm_abc123

ดูข้อมูลอ้างอิงคำสั่งฉบับเต็มที่ openclaw commitments

ความเป็นส่วนตัวและค่าใช้จ่าย

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

Commitments ที่จัดเก็บเป็นสถานะภายในเครื่องของ OpenClaw โดยเป็นความทรงจำเพื่อการปฏิบัติงาน ไม่ใช่ ความทรงจำระยะยาว ปิดใช้งานคุณลักษณะด้วย:

bash
openclaw config set commitments.enabled false

การแก้ไขปัญหา

หากการติดตามผลที่คาดไว้ไม่ปรากฏ:

  • ยืนยันว่า commitments.enabled เป็น true
  • ตรวจสอบ openclaw commitments --all เพื่อดูระเบียนที่รอดำเนินการ ถูกยกเลิก ถูกเลื่อน หรือหมดอายุ
  • ตรวจสอบว่า Heartbeat กำลังทำงานสำหรับเอเจนต์
  • ตรวจสอบว่า commitments.maxPerDay ถึงขีดจำกัดสำหรับ เซสชันของเอเจนต์นั้นแล้วหรือไม่
  • โปรดจำไว้ว่าการเตือนที่ระบุแน่นอนจะถูกข้ามโดยการแยก Commitment และควร ปรากฏใน งานตามกำหนดเวลา แทน

เนื้อหาที่เกี่ยวข้อง

Was this useful?
On this page

On this page