Messages and delivery

คิวควบคุม

เมื่อพรอมป์ปกติเข้ามาในขณะที่การรันของเซสชันกำลังสตรีมอยู่ OpenClaw จะพยายามส่งพรอมป์นั้นเข้าไปยัง runtime ที่ทำงานอยู่เป็นค่าเริ่มต้นเมื่อโหมดคิว เป็น steer ไม่จำเป็นต้องมีรายการ config หรือคำสั่งคิวสำหรับพฤติกรรมเริ่มต้นนี้ OpenClaw และ harness app-server ของ Codex แบบเนทีฟใช้รายละเอียดการส่งมอบ ต่างกัน

ขอบเขตของ runtime

การ steer จะไม่ขัดจังหวะ tool call ที่กำลังทำงานอยู่ OpenClaw ตรวจหา ข้อความ steering ที่อยู่ในคิวที่ขอบเขตของโมเดล:

  1. ผู้ช่วยร้องขอ tool call
  2. OpenClaw ดำเนินการชุด tool-call ของข้อความผู้ช่วยปัจจุบัน
  3. OpenClaw ปล่อยเหตุการณ์สิ้นสุด turn
  4. OpenClaw ระบายข้อความ steering ที่อยู่ในคิว
  5. OpenClaw ผนวกข้อความเหล่านั้นเป็นข้อความผู้ใช้ก่อนการเรียก LLM ครั้งถัดไป

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

harness app-server ของ Codex แบบเนทีฟเปิดเผย turn/steer แทนคิว steering ภายในของ OpenClaw runtime OpenClaw จะรวมพรอมป์ที่อยู่ในคิวสำหรับช่วงเวลาเงียบ ที่กำหนดค่าไว้ จากนั้นส่งคำขอ turn/steer เพียงครั้งเดียวพร้อมอินพุตผู้ใช้ ทั้งหมดที่รวบรวมไว้ตามลำดับการมาถึง

turn ของ Codex review และ Compaction แบบแมนนวลจะปฏิเสธ same-turn steering เมื่อ runtime ไม่สามารถรับ steering ในโหมด steer ได้ OpenClaw จะรอให้การรันที่ทำงานอยู่ เสร็จสิ้นก่อนเริ่มพรอมป์

หน้านี้อธิบาย queue-mode steering สำหรับข้อความขาเข้าปกติเมื่อโหมด เป็น steer หากโหมดเป็น followup หรือ collect ข้อความปกติจะไม่เข้าสู่ เส้นทาง steering นี้ แต่จะรอจนกว่าการรันที่ทำงานอยู่จะเสร็จสิ้น สำหรับคำสั่ง /steer <message> แบบชัดเจน โปรดดู Steer

โหมด

โหมด พฤติกรรมระหว่าง active-run พฤติกรรมภายหลัง
steer steer พรอมป์เข้าไปยัง runtime ที่ทำงานอยู่เมื่อทำได้ รอให้การรันที่ทำงานอยู่เสร็จสิ้นหาก steering ไม่พร้อมใช้งาน
followup ไม่ steer รันข้อความที่อยู่ในคิวภายหลังหลังจากการรันที่ทำงานอยู่สิ้นสุด
collect ไม่ steer รวมข้อความที่อยู่ในคิวที่เข้ากันได้เป็น turn ภายหลังหนึ่งครั้งหลังช่วง debounce
interrupt ยกเลิกการรันที่ทำงานอยู่แทนการ steer เริ่มข้อความใหม่ที่สุดหลังจากยกเลิก

ตัวอย่าง burst

หากผู้ใช้สี่คนส่งข้อความขณะที่ agent กำลังดำเนินการ tool call:

  • ด้วยพฤติกรรมเริ่มต้น runtime ที่ทำงานอยู่จะได้รับข้อความทั้งสี่ตาม ลำดับการมาถึงก่อนการตัดสินใจของโมเดลครั้งถัดไป OpenClaw จะระบายข้อความเหล่านั้นที่ขอบเขตโมเดลถัดไป Codex จะได้รับข้อความเหล่านั้นเป็น turn/steer แบบรวมชุดหนึ่งครั้ง
  • ด้วย /queue collect OpenClaw จะไม่ steer แต่จะรอจนกว่าการรันที่ทำงานอยู่ สิ้นสุด จากนั้นสร้าง turn แบบ followup พร้อมข้อความที่อยู่ในคิวที่เข้ากันได้หลัง ช่วง debounce
  • ด้วย /queue interrupt OpenClaw จะยกเลิกการรันที่ทำงานอยู่และเริ่มข้อความ ใหม่ที่สุดแทนการ steer

ขอบเขต

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

ใช้ followup หรือ collect เมื่อคุณต้องการให้ข้อความเข้าคิวเป็นค่าเริ่มต้นแทน การ steer การรันที่ทำงานอยู่ ใช้ interrupt เมื่อพรอมป์ใหม่ที่สุดควร แทนที่การรันที่ทำงานอยู่

Debounce

messages.queue.debounceMs ใช้กับการส่งมอบ followup และ collect ที่อยู่ในคิว ในโหมด steer กับ harness Codex แบบเนทีฟ ค่านี้ยังตั้งค่าช่วงเวลาเงียบ ก่อนส่ง turn/steer แบบรวมชุดด้วย สำหรับ OpenClaw การ steering ที่ทำงานอยู่เองไม่ได้ใช้ ตัวจับเวลา debounce เพราะ OpenClaw รวมข้อความโดยธรรมชาติจนกว่าจะถึงขอบเขตโมเดลถัดไป

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

Was this useful?
On this page

On this page