Sessions and memory
ข้อผูกพันที่อนุมานได้
Commitments คือความทรงจำสำหรับการติดตามผลระยะสั้น เมื่อเปิดใช้งาน OpenClaw สามารถ สังเกตว่าการสนทนาสร้างโอกาสให้กลับมาติดตามผลในอนาคต และจดจำไว้ เพื่อนำกลับมากล่าวถึงภายหลัง
ตัวอย่าง:
- คุณกล่าวถึงการสัมภาษณ์ในวันพรุ่งนี้ OpenClaw อาจกลับมาสอบถามหลังจากนั้น
- คุณบอกว่าคุณเหนื่อยล้ามาก OpenClaw อาจถามภายหลังว่าคุณได้นอนหลับหรือไม่
- เอเจนต์บอกว่าจะติดตามผลหลังจากมีบางอย่างเปลี่ยนแปลง OpenClaw อาจติดตาม เรื่องที่ยังค้างอยู่นั้น
Commitments ไม่ใช่ข้อเท็จจริงถาวรเช่น MEMORY.md และไม่ใช่
การเตือนที่กำหนดไว้อย่างแน่นอน แต่ทำหน้าที่อยู่ระหว่างความทรงจำกับระบบอัตโนมัติ: OpenClaw จดจำ
ภาระผูกพันที่สัมพันธ์กับการสนทนา จากนั้น Heartbeat จะส่งภาระผูกพันนั้นเมื่อถึงกำหนด
เปิดใช้งาน Commitments
Commitments ปิดอยู่โดยค่าเริ่มต้น (commitments.enabled: false) เปิดใช้งานในการกำหนดค่า:
openclaw config set commitments.enabled trueopenclaw config set commitments.maxPerDay 3openclaw.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 ที่จัดเก็บไว้:
openclaw commitmentsopenclaw commitments --allopenclaw commitments --agent mainopenclaw commitments --status snoozedopenclaw commitments dismiss cm_abc123ดูข้อมูลอ้างอิงคำสั่งฉบับเต็มที่ openclaw commitments
ความเป็นส่วนตัวและค่าใช้จ่าย
การแยก Commitment ใช้การประมวลผลผ่าน LLM ดังนั้นการเปิดใช้งานจะเพิ่มการใช้งาน โมเดลเบื้องหลังหลังจากรอบที่เข้าเกณฑ์ การประมวลผลนี้จะถูกซ่อนจาก การสนทนาที่ผู้ใช้มองเห็น แต่สามารถอ่านข้อความโต้ตอบล่าสุดที่จำเป็นต่อการตัดสินใจว่า มีสิ่งที่ต้องติดตามผลหรือไม่
Commitments ที่จัดเก็บเป็นสถานะภายในเครื่องของ OpenClaw โดยเป็นความทรงจำเพื่อการปฏิบัติงาน ไม่ใช่ ความทรงจำระยะยาว ปิดใช้งานคุณลักษณะด้วย:
openclaw config set commitments.enabled falseการแก้ไขปัญหา
หากการติดตามผลที่คาดไว้ไม่ปรากฏ:
- ยืนยันว่า
commitments.enabledเป็นtrue - ตรวจสอบ
openclaw commitments --allเพื่อดูระเบียนที่รอดำเนินการ ถูกยกเลิก ถูกเลื่อน หรือหมดอายุ - ตรวจสอบว่า Heartbeat กำลังทำงานสำหรับเอเจนต์
- ตรวจสอบว่า
commitments.maxPerDayถึงขีดจำกัดสำหรับ เซสชันของเอเจนต์นั้นแล้วหรือไม่ - โปรดจำไว้ว่าการเตือนที่ระบุแน่นอนจะถูกข้ามโดยการแยก Commitment และควร ปรากฏใน งานตามกำหนดเวลา แทน