Agent coordination
เป้าหมาย
เป้าหมาย
เป้าหมาย คือวัตถุประสงค์ที่คงอยู่หนึ่งรายการซึ่งแนบกับเซสชัน OpenClaw ปัจจุบัน สิ่งนี้ทำให้เอเจนต์และผู้ปฏิบัติงานมีเป้าหมายร่วมกันสำหรับงานระยะยาว โดยไม่เปลี่ยนเป้าหมายนั้นให้เป็นงานเบื้องหลัง ตัวเตือน งาน cron หรือ คำสั่งถาวร
เป้าหมายเป็นสถานะของเซสชัน เป้าหมายจะย้ายไปกับคีย์เซสชัน อยู่รอดหลังการรีสตาร์ตโปรเซส
แสดงใน /goal พร้อมใช้งานสำหรับโมเดลผ่านเครื่องมือเป้าหมาย
และปรากฏในส่วนท้ายของ TUI เมื่อเซสชันที่ใช้งานอยู่มีเป้าหมาย
เริ่มต้นอย่างรวดเร็ว
ตั้งเป้าหมาย:
/goal start get CI green for PR 87469 and push the fixตรวจสอบ:
/goalหยุดชั่วคราวเมื่องานกำลังรอโดยเจตนา:
/goal pause waiting for CIดำเนินการต่อ:
/goal resumeทำเครื่องหมายว่าเสร็จสมบูรณ์:
/goal complete pushed and verifiedล้างออก:
/goal clearเป้าหมายใช้สำหรับอะไร
ใช้เป้าหมายเมื่อเซสชันมีผลลัพธ์ที่เป็นรูปธรรมซึ่งควรยังคงมองเห็นได้ ตลอดหลายเทิร์น:
- การปิดงาน PR: แก้ไข ตรวจสอบความถูกต้อง ทำ autoreview, push และเปิดหรืออัปเดต PR
- การดีบักหนึ่งรอบ: ทำซ้ำบั๊ก ระบุพื้นผิวที่เป็นเจ้าของ แพตช์ และพิสูจน์ การแก้ไข
- การปรับปรุงเอกสาร: อ่านเอกสารที่เกี่ยวข้อง เขียนหน้าใหม่ เชื่อมโยงข้ามหน้า และ ตรวจสอบว่าเอกสาร build ได้
- งานบำรุงรักษา: ตรวจสอบสถานะปัจจุบัน ทำการเปลี่ยนแปลงแบบจำกัดขอบเขต รัน การตรวจสอบที่เหมาะสม และรายงานสิ่งที่เปลี่ยนไป
เป้าหมายไม่ใช่คิวงาน ใช้ โฟลว์งาน, งาน, งาน cron หรือ คำสั่งถาวร เมื่องานควรถูกรันแบบแยกตัว ทำซ้ำตามกำหนดเวลา แตกออกเป็นงานย่อยที่มีการจัดการ หรือคงอยู่เป็นนโยบาย
อ้างอิงคำสั่ง
/goal ที่ไม่มีอาร์กิวเมนต์จะพิมพ์สรุปเป้าหมายปัจจุบัน:
GoalStatus: activeObjective: get CI green for PR 87469 and push the fixTokens used: 12kToken budget: 12k/50k Commands: /goal pause, /goal complete, /goal clearคำสั่ง:
/goalหรือ/goal statusแสดงเป้าหมายปัจจุบัน/goal start <objective>สร้างเป้าหมายใหม่สำหรับเซสชันปัจจุบัน/goal set <objective>และ/goal create <objective>เป็นนามแฝงของstart/goal pause [note]หยุดเป้าหมายที่ใช้งานอยู่ชั่วคราว/goal resume [note]ดำเนินการต่อกับเป้าหมายที่หยุดชั่วคราว ถูกบล็อก ถูกจำกัดการใช้งาน หรือ ถูกจำกัดงบประมาณ/goal complete [note]ทำเครื่องหมายว่าเป้าหมายสำเร็จแล้ว/goal done [note]เป็นนามแฝงของcomplete/goal block [note]ทำเครื่องหมายว่าเป้าหมายถูกบล็อก/goal blocked [note]เป็นนามแฝงของblock/goal clearลบเป้าหมายออกจากเซสชัน
ในหนึ่งเซสชันมีเป้าหมายได้เพียงหนึ่งรายการในแต่ละครั้ง การเริ่มเป้าหมายที่สองจะล้มเหลว จนกว่าเป้าหมายปัจจุบันจะถูกล้างออก
สถานะ
เป้าหมายใช้ชุดสถานะขนาดเล็ก:
active: เซสชันกำลังดำเนินตามเป้าหมายpaused: ผู้ปฏิบัติงานหยุดเป้าหมายชั่วคราว;/goal resumeทำให้กลับมาใช้งานอีกครั้งblocked: เอเจนต์หรือผู้ปฏิบัติงานรายงานตัวบล็อกจริง;/goal resumeทำให้กลับมาใช้งานอีกครั้งเมื่อมีข้อมูลหรือสถานะใหม่พร้อมใช้งานbudget_limited: ถึงงบประมาณโทเค็นที่กำหนดค่าไว้แล้ว;/goal resumeเริ่มการดำเนินตามวัตถุประสงค์เดิมอีกครั้งusage_limited: สงวนไว้สำหรับสถานะหยุดจากขีดจำกัดการใช้งาน;/goal resumeเริ่มการดำเนินต่อเมื่อได้รับอนุญาตcomplete: เป้าหมายสำเร็จแล้ว เป้าหมายที่เสร็จสมบูรณ์เป็นสถานะปลายทาง; ใช้/goal clearก่อนเริ่มเป้าหมายอื่น
/new และ /reset จะล้างเป้าหมายของเซสชันปัจจุบัน เพราะคำสั่งเหล่านี้ตั้งใจ
เริ่มบริบทเซสชันใหม่
งบประมาณโทเค็น
เป้าหมายสามารถมีงบประมาณโทเค็นค่าบวกแบบไม่บังคับได้ งบประมาณจะถูกจัดเก็บพร้อมกับ เป้าหมายและวัดจากจำนวนโทเค็นสดใหม่ของเซสชัน ณ เวลาที่สร้าง หาก เซสชันปัจจุบันมีเฉพาะการใช้งานโทเค็นที่เก่าหรือไม่ทราบค่าเมื่อเริ่มเป้าหมาย OpenClaw จะรอสแนปชอตโทเค็นสดใหม่ครั้งถัดไปของเซสชันและใช้ค่านั้นเป็น ฐาน ดังนั้นโทเค็นที่ใช้ไปก่อนมีเป้าหมายจะไม่ถูกคิดรวมกับเป้าหมาย
เมื่อการใช้งานโทเค็นถึงงบประมาณ เป้าหมายจะเปลี่ยนเป็น budget_limited สิ่งนี้
ไม่ได้ลบเป้าหมายหรือลบวัตถุประสงค์ แต่บอกผู้ปฏิบัติงานและ
เอเจนต์ว่าเป้าหมายไม่ได้ถูกดำเนินตามอย่างแข็งขันอีกต่อไปจนกว่าจะถูกดำเนินต่อหรือ
ล้างออก
งบประมาณโทเค็นเป็นราวกั้นสำหรับเป้าหมายของเซสชัน ไม่ใช่เพดานค่าใช้จ่าย โควตาของผู้ให้บริการ การรายงานค่าใช้จ่าย และพฤติกรรมหน้าต่างบริบทยังคงใช้การควบคุมการใช้งานและ โมเดลตามปกติของ OpenClaw
เครื่องมือโมเดล
OpenClaw เปิดเผยเครื่องมือเป้าหมายหลักสามรายการให้กับ harness ของเอเจนต์:
get_goal: อ่านเป้าหมายของเซสชันปัจจุบัน รวมถึงสถานะ วัตถุประสงค์ การใช้งานโทเค็น และงบประมาณโทเค็นcreate_goal: สร้างเป้าหมายเฉพาะเมื่อคำสั่งจากผู้ใช้ ระบบ หรือผู้พัฒนา ขอไว้อย่างชัดเจนเท่านั้น คำสั่งนี้จะล้มเหลวหากเซสชันมีเป้าหมายอยู่แล้วupdate_goal: ทำเครื่องหมายเป้าหมายเป็นcompleteหรือblocked
โมเดลไม่สามารถหยุดชั่วคราว ดำเนินต่อ ล้าง หรือแทนที่เป้าหมายอย่างเงียบ ๆ ได้ สิ่งเหล่านั้นเป็น
การควบคุมของผู้ปฏิบัติงาน/เซสชันผ่าน /goal และคำสั่งรีเซ็ต สิ่งนี้ป้องกันไม่ให้
เอเจนต์ย้ายเป้าหมายอย่างเงียบ ๆ ในขณะเดียวกันยังคงมีเส้นทางที่ชัดเจนให้
เอเจนต์รายงานความสำเร็จหรือตัวบล็อกที่แท้จริง
เครื่องมือ update_goal ควรทำเครื่องหมายเป้าหมายเป็น complete เฉพาะเมื่อวัตถุประสงค์
สำเร็จจริงเท่านั้น และควรทำเครื่องหมายเป้าหมายเป็น blocked เฉพาะเมื่อเงื่อนไข
ที่บล็อกเดิมเกิดซ้ำและเอเจนต์ไม่สามารถคืบหน้าอย่างมีนัยสำคัญได้โดยไม่มี
ข้อมูลผู้ใช้ใหม่หรือการเปลี่ยนแปลงสถานะภายนอก
TUI
TUI ทำให้เป้าหมายของเซสชันที่ใช้งานอยู่มองเห็นได้ในส่วนท้ายถัดจาก เอเจนต์ เซสชัน โมเดล การควบคุมการรัน และจำนวนโทเค็น
ตัวอย่างส่วนท้าย:
Pursuing goal (12k/50k)สำหรับเป้าหมายที่ใช้งานอยู่พร้อมงบประมาณโทเค็นGoal paused (/goal resume)สำหรับเป้าหมายที่หยุดชั่วคราวGoal blocked (/goal resume)สำหรับเป้าหมายที่ถูกบล็อกGoal hit usage limits (/goal resume)สำหรับเป้าหมายที่ถูกจำกัดการใช้งานGoal unmet (50k/50k)สำหรับเป้าหมายที่ถูกจำกัดงบประมาณGoal achieved (42k)สำหรับเป้าหมายที่เสร็จสมบูรณ์
ส่วนท้ายถูกออกแบบให้กระชับ ใช้ /goal เพื่อดูวัตถุประสงค์ฉบับเต็ม หมายเหตุ
งบประมาณโทเค็น และคำสั่งที่พร้อมใช้งาน
พฤติกรรมของช่องทาง
คำสั่ง /goal ทำงานในเซสชัน OpenClaw ที่รองรับคำสั่ง รวมถึง
TUI และพื้นผิวแชตที่อนุญาตคำสั่งข้อความ สถานะเป้าหมายแนบกับ
คีย์เซสชัน ไม่ใช่ transport หากสองพื้นผิวใช้เซสชันเดียวกัน ทั้งสองจะเห็น
เป้าหมายเดียวกัน
สถานะเป้าหมายไม่ใช่คำสั่งการส่งมอบ มันไม่บังคับให้ตอบกลับผ่าน ช่องทาง เปลี่ยนพฤติกรรมคิว อนุมัติเครื่องมือ หรือกำหนดเวลางาน
การแก้ไขปัญหา
Goal error: goal already exists หมายความว่าเซสชันมีเป้าหมายอยู่แล้ว ใช้
/goal เพื่อตรวจสอบ ใช้ /goal complete หากเสร็จแล้ว หรือใช้ /goal clear ก่อน
เริ่มวัตถุประสงค์อื่น
Goal error: goal not found หมายความว่าเซสชันยังไม่มีเป้าหมาย เริ่มเป้าหมายด้วย
/goal start <objective>
Goal error: goal is already complete หมายความว่าเป้าหมายเป็นสถานะปลายทาง ล้างเป้าหมาย
ก่อนเริ่มหรือดำเนินวัตถุประสงค์อื่นต่อ
หากการใช้งานโทเค็นดูเหมือน 0 หรือเก่า เซสชันที่ใช้งานอยู่อาจยังไม่มี
สแนปชอตโทเค็นสดใหม่ การใช้งานจะรีเฟรชเมื่อ OpenClaw บันทึกการใช้งานเซสชันและ
ยอดรวมที่ได้จาก transcript