Sessions and memory
ข้อผูกพันที่อนุมานได้
ข้อผูกมัดคือความจำสำหรับการติดตามผลที่มีอายุสั้น เมื่อเปิดใช้งาน OpenClaw สามารถ สังเกตได้ว่าบทสนทนาสร้างโอกาสสำหรับการกลับมาตรวจสอบในอนาคต และจดจำไว้ เพื่อหยิบยกขึ้นมาอีกครั้งในภายหลัง
ตัวอย่าง:
- คุณพูดถึงการสัมภาษณ์ในวันพรุ่งนี้ OpenClaw อาจกลับมาตรวจสอบภายหลัง
- คุณบอกว่าคุณเหนื่อยล้ามาก OpenClaw อาจถามในภายหลังว่าคุณได้นอนหรือไม่
- เอเจนต์บอกว่าจะติดตามผลหลังจากมีบางอย่างเปลี่ยนแปลง OpenClaw อาจติดตาม วงจรเปิดนั้นไว้
ข้อผูกมัดไม่ใช่ข้อเท็จจริงถาวรเหมือน MEMORY.md และไม่ใช่
การแจ้งเตือนที่แม่นยำ ข้อผูกมัดอยู่ระหว่างความจำกับระบบอัตโนมัติ: OpenClaw จดจำ
ภาระผูกพันที่ผูกกับบทสนทนา จากนั้น Heartbeat จะส่งมอบเมื่อถึงกำหนด
เปิดใช้งานข้อผูกมัด
ข้อผูกมัดปิดอยู่โดยค่าเริ่มต้น เปิดใช้งานในคอนฟิก:
openclaw config set commitments.enabled true
openclaw config set commitments.maxPerDay 3
openclaw.json ที่เทียบเท่า:
{
"commitments": {
"enabled": true,
"maxPerDay": 3
}
}
commitments.maxPerDay จำกัดจำนวนการติดตามผลที่อนุมานได้ซึ่งสามารถส่งมอบได้
ต่อเซสชันเอเจนต์ในหนึ่งวันแบบเลื่อนหน้าต่าง ค่าเริ่มต้นคือ 3
วิธีการทำงาน
หลังจากเอเจนต์ตอบกลับ OpenClaw อาจรันรอบการสกัดข้อมูลเบื้องหลังที่ซ่อนอยู่ใน บริบทแยกต่างหาก รอบนั้นจะมองหาเฉพาะข้อผูกมัดสำหรับการติดตามผลที่อนุมานได้เท่านั้น จะไม่เขียนลงในบทสนทนาที่มองเห็นได้ และจะไม่ขอให้เอเจนต์หลัก ให้เหตุผลเกี่ยวกับการสกัดข้อมูล
เมื่อพบตัวเลือกที่มีความมั่นใจสูง OpenClaw จะจัดเก็บข้อผูกมัดพร้อมกับ:
- id ของเอเจนต์
- คีย์เซสชัน
- ช่องทางดั้งเดิมและเป้าหมายการส่งมอบ
- ช่วงเวลาครบกำหนด
- การติดตามผลที่แนะนำแบบสั้น
- เมทาดาทาที่ไม่ใช่คำสั่งเพื่อให้ Heartbeat ตัดสินใจว่าจะส่งหรือไม่
การส่งมอบเกิดขึ้นผ่าน Heartbeat เมื่อข้อผูกมัดถึงกำหนด Heartbeat
จะเพิ่มข้อผูกมัดลงในเทิร์น Heartbeat สำหรับขอบเขตเอเจนต์และช่องทางเดียวกัน
โมเดลสามารถส่งการติดตามผลที่เป็นธรรมชาติหนึ่งครั้ง หรือ reply HEARTBEAT_OK เพื่อยกเลิกได้
หากกำหนดค่า Heartbeat ด้วย target: "none" ข้อผูกมัดที่ถึงกำหนดจะยังคง
อยู่ภายในและไม่ส่งการติดตามผลภายนอก พรอมป์การส่งมอบข้อผูกมัดจะไม่
เล่นข้อความบทสนทนาดั้งเดิมซ้ำ และเทิร์น Heartbeat ของข้อผูกมัดที่ถึงกำหนดจะทำงาน
โดยไม่มีเครื่องมือ OpenClaw
OpenClaw จะไม่ส่งมอบข้อผูกมัดที่อนุมานได้ทันทีหลังจากเขียน เวลาครบกำหนดจะถูกบังคับให้อย่างน้อยเป็นหนึ่งช่วงเวลา Heartbeat หลังจากสร้างข้อผูกมัด ดังนั้นการติดตามผลจะไม่สะท้อนกลับมาในช่วงเวลาเดียวกับที่ถูก อนุมาน
ขอบเขต
ข้อผูกมัดถูกจำกัดขอบเขตไว้กับบริบทเอเจนต์และช่องทางที่แน่นอนซึ่งสร้างขึ้น การติดตามผลที่อนุมานขณะคุยกับเอเจนต์หนึ่งใน Discord จะไม่ถูก ส่งมอบโดยเอเจนต์อื่น ช่องทางอื่น หรือเซสชันที่ไม่เกี่ยวข้อง
ขอบเขตนี้เป็นส่วนหนึ่งของฟีเจอร์ การติดตามผลที่เป็นธรรมชาติควรรู้สึกเหมือน บทสนทนาเดิมดำเนินต่อ ไม่ใช่เหมือนระบบแจ้งเตือนส่วนกลาง
ข้อผูกมัดเทียบกับการแจ้งเตือน
| ความต้องการ | ใช้ |
|---|---|
| "เตือนฉันตอน 15:00 น." | งานที่กำหนดเวลาไว้ |
| "ส่งสัญญาณถึงฉันในอีก 20 นาที" | งานที่กำหนดเวลาไว้ |
| "รันรายงานนี้ทุกวันทำงาน" | งานที่กำหนดเวลาไว้ |
| "ฉันมีสัมภาษณ์พรุ่งนี้" | ข้อผูกมัด |
| "ฉันไม่ได้นอนทั้งคืน" | ข้อผูกมัด |
| "ติดตามผลถ้าฉันไม่ตอบเธรดที่เปิดอยู่นี้" | ข้อผูกมัด |
คำขอของผู้ใช้ที่ระบุเวลาแน่นอนเป็นของเส้นทางตัวกำหนดเวลาอยู่แล้ว ข้อผูกมัดมีไว้ สำหรับการติดตามผลที่อนุมานเท่านั้น: ช่วงเวลาที่ผู้ใช้ไม่ได้ขอการแจ้งเตือน แต่บทสนทนาสร้างการกลับมาตรวจสอบในอนาคตที่มีประโยชน์อย่างชัดเจน
จัดการข้อผูกมัด
ใช้ CLI เพื่อตรวจสอบและล้างข้อผูกมัดที่จัดเก็บไว้:
openclaw commitments
openclaw commitments --all
openclaw commitments --agent main
openclaw commitments --status snoozed
openclaw commitments dismiss cm_abc123
ดู openclaw commitments สำหรับอ้างอิงคำสั่ง
ความเป็นส่วนตัวและค่าใช้จ่าย
การสกัดข้อผูกมัดใช้รอบ LLM ดังนั้นการเปิดใช้งานจะเพิ่มการใช้งานโมเดลเบื้องหลัง หลังจากเทิร์นที่เข้าเงื่อนไข รอบนี้ซ่อนอยู่จากบทสนทนาที่ผู้ใช้มองเห็น แต่สามารถอ่านข้อความแลกเปลี่ยนล่าสุดที่จำเป็นต่อการตัดสินใจว่า มีการติดตามผลหรือไม่
ข้อผูกมัดที่จัดเก็บไว้เป็นสถานะ OpenClaw ในเครื่อง เป็นความจำเชิงปฏิบัติการ ไม่ใช่ ความจำระยะยาว ปิดใช้งานฟีเจอร์ด้วย:
openclaw config set commitments.enabled false
การแก้ไขปัญหา
หากการติดตามผลที่คาดไว้ไม่ปรากฏ:
- ยืนยันว่า
commitments.enabledเป็นtrue - ตรวจสอบ
openclaw commitments --allเพื่อดูระเบียนที่รอดำเนินการ ถูกยกเลิก ถูกเลื่อน หรือหมดอายุ - ตรวจสอบให้แน่ใจว่า Heartbeat กำลังทำงานสำหรับเอเจนต์
- ตรวจสอบว่า
commitments.maxPerDayถูกใช้ถึงขีดจำกัดสำหรับเซสชัน เอเจนต์นั้นแล้วหรือไม่ - โปรดจำไว้ว่าการแจ้งเตือนที่ระบุชัดเจนจะถูกข้ามโดยการสกัดข้อผูกมัด และควร ปรากฏใต้ งานที่กำหนดเวลาไว้ แทน