Agent coordination

เป้าหมาย

เป้าหมาย

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

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

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

เริ่มต้นอย่างรวดเร็ว

text
/goal start ทำให้ CI ผ่านสำหรับ PR 87469 และพุชการแก้ไข/goal/goal edit ทำให้ CI ผ่านสำหรับ PR 87469 พุชการแก้ไข และอัปเดตเอกสาร/goal pause กำลังรอ CI/goal resume/goal complete พุชและตรวจสอบแล้ว/goal clear

start เป็นตัวเลือก: /goal get CI green for PR 87469 ก็สร้างเป้าหมายเช่นกัน เนื่องจากข้อความใดๆ หลัง /goal ที่ไม่ใช่คำสั่งการทำงานที่รู้จักจะถือเป็น วัตถุประสงค์ใหม่

เป้าหมายมีไว้เพื่ออะไร

ใช้เป้าหมายเมื่อเซสชันมีผลลัพธ์ที่ชัดเจนซึ่งควรแสดงให้เห็นอยู่เสมอ ตลอดหลายเทิร์น:

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

เป้าหมายไม่ใช่คิวงาน ใช้ Task Flow, งาน, งาน Cron หรือ คำสั่งถาวร เมื่องานควรทำงานแบบแยกส่วน ทำซ้ำตามกำหนดเวลา กระจายออกเป็นงานย่อยที่มีการจัดการ หรือคงอยู่ในรูปแบบนโยบาย

ข้อมูลอ้างอิงคำสั่ง

/goal ที่ไม่มีอาร์กิวเมนต์จะแสดงข้อมูลสรุปเป้าหมายปัจจุบัน:

text
เป้าหมายสถานะ: ใช้งานอยู่วัตถุประสงค์: ทำให้ CI ผ่านสำหรับ PR 87469 และพุชการแก้ไขโทเค็นที่ใช้: 12kงบประมาณโทเค็น: 12k/50k คำสั่ง: /goal edit <objective>, /goal pause, /goal complete, /goal clear
คำสั่ง ผลลัพธ์
/goal หรือ /goal status แสดงเป้าหมายปัจจุบัน
/goal start <objective> สร้างเป้าหมายใหม่สำหรับเซสชันปัจจุบัน
/goal set <objective>, /goal create <objective> ชื่อแทนสำหรับ start
/goal <objective> สร้างเป้าหมายใหม่เช่นกัน (ข้อความใดๆ ที่ไม่ใช่คำสั่งการทำงานที่รู้จัก)
/goal edit <objective> เรียบเรียงวัตถุประสงค์ปัจจุบันใหม่ โดยคงสถานะและการนับโทเค็นไว้
/goal pause [note] หยุดเป้าหมายที่ใช้งานอยู่ชั่วคราว
/goal resume [note] ดำเนินเป้าหมายที่หยุดชั่วคราว ถูกบล็อก ถูกจำกัดการใช้งาน หรือถูกจำกัดงบประมาณต่อ
/goal complete [note] ทำเครื่องหมายว่าบรรลุเป้าหมายแล้ว
/goal done [note] ชื่อแทนสำหรับ complete
/goal block [note] ทำเครื่องหมายว่าเป้าหมายถูกบล็อก
/goal blocked [note] ชื่อแทนสำหรับ block
/goal clear นำเป้าหมายออกจากเซสชัน

แต่ละเซสชันมีเป้าหมายได้ครั้งละหนึ่งรายการเท่านั้น การเริ่มเป้าหมายที่สองจะล้มเหลว พร้อม Goal error: goal already exists จนกว่าจะล้างเป้าหมายปัจจุบัน

/goal start ไม่รองรับแฟล็กงบประมาณโทเค็น โดยตั้งงบประมาณได้เฉพาะ ผ่านเครื่องมือ create_goal สำหรับโมเดลเท่านั้น

สถานะ

  • active: เซสชันกำลังดำเนินการตามเป้าหมาย
  • paused: ผู้ดำเนินการหยุดเป้าหมายชั่วคราว โดย /goal resume จะทำให้เป้าหมายกลับมาใช้งาน อีกครั้ง
  • blocked: เอเจนต์หรือผู้ดำเนินการรายงานสิ่งที่ขัดขวางจริง โดย /goal resume จะทำให้เป้าหมายกลับมาใช้งานอีกครั้งเมื่อมีข้อมูลหรือสถานะใหม่
  • budget_limited: ใช้งบประมาณโทเค็นที่กำหนดไว้ครบแล้ว โดย /goal resume จะเริ่มดำเนินการจากวัตถุประสงค์เดิมอีกครั้งด้วยช่วงงบประมาณใหม่
  • usage_limited: สงวนไว้สำหรับสถานะหยุดเนื่องจากขีดจำกัดการใช้งานในอนาคต โดย /goal resume จะเริ่มดำเนินการอีกครั้งในลักษณะเดียวกัน
  • complete: บรรลุเป้าหมายแล้ว เป้าหมายที่เสร็จสมบูรณ์เป็นสถานะสิ้นสุด ให้ใช้ /goal clear ก่อนเริ่มเป้าหมายอื่น

/new และ /reset จะล้างเป้าหมายของเซสชันปัจจุบัน เนื่องจากคำสั่งเหล่านี้ตั้งใจ เริ่มบริบทเซสชันใหม่

งบประมาณโทเค็น

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

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

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

เครื่องมือโมเดล

OpenClaw เปิดเผยเครื่องมือเป้าหมายสามรายการแก่ชุดควบคุมเอเจนต์:

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

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

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

บริบทเป้าหมายในทุกเทิร์น

ทุกเทิร์นของผู้ใช้/แชตที่มีเป้าหมายที่ใช้งานอยู่จะมีบรรทัดบริบทบทบาทผู้ใช้นี้:

text
เป้าหมายที่ใช้งานอยู่: <objective> — ดำเนินการต่อหรืออัปเดตสถานะ (get_goal/update_goal)

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

UI ควบคุม

UI ควบคุมบนเว็บแสดงเป้าหมายเป็นแถบขนาดกะทัดรัดเหนือช่องเขียนแชต: ไอคอนสถานะ ป้ายสถานะ (ตัวอย่างเช่น Pursuing goal) วัตถุประสงค์ ที่ถูกตัดทอน และตัวจับเวลาที่ผ่านไปแบบสด

แถบนี้มีตัวควบคุมแบบอินไลน์:

  • ดินสอ เติม /goal edit <objective> ลงในช่องเขียนล่วงหน้าเพื่อให้ เรียบเรียงและส่งวัตถุประสงค์ใหม่ได้
  • หยุดชั่วคราว / ดำเนินการต่อ สลับระหว่าง /goal pause และ /goal resume ตาม สถานะปัจจุบัน
  • ถังขยะ ส่ง /goal clear
  • เครื่องหมายบั้ง ขยายแถบเพื่อแสดงวัตถุประสงค์ฉบับเต็ม หมายเหตุสถานะ ล่าสุด การใช้โทเค็น และเวลาที่ผ่านไป

ปุ่มการดำเนินการจะถูกซ่อนขณะที่ช่องเขียนไม่สามารถส่งได้ (ตัวอย่างเช่น เมื่อการเชื่อมต่อ Gateway ขัดข้อง) แต่เครื่องหมายบั้งสำหรับขยายยังคงทำงาน

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 และ พื้นผิวแชตที่อนุญาตคำสั่งข้อความ สถานะเป้าหมายแนบอยู่กับ คีย์เซสชัน ไม่ใช่การรับส่ง ดังนั้นสองพื้นผิวที่ใช้คีย์เซสชันร่วมกันจะเห็น เป้าหมายเดียวกัน

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

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

ข้อความ ความหมาย
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 บันทึกการใช้งานเซสชัน และผลรวมที่คำนวณจากบทสนทนา

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

Was this useful?
On this page

On this page