Agent coordination

เป้าหมาย

Status: active

เป้าหมาย

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

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

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

text
/goal start get CI green for PR 87469 and push the fix/goal/goal edit get CI green for PR 87469, push the fix, and update docs/goal pause waiting for CI/goal resume/goal complete pushed and verified/goal clear

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

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

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

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

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

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

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

text
GoalStatus: activeObjective: get CI green for PR 87469 and push the fixTokens used: 12kToken budget: 12k/50k Commands: /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
Active goal: <objective> — advance it or update its status (get_goal/update_goal).

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

ส่วนติดต่อควบคุม

ส่วนติดต่อควบคุมบนเว็บแสดงเป้าหมายเป็นแถบขนาดกะทัดรัดเหนือช่องเขียนข้อความแชต: ไอคอนสถานะ ป้ายสถานะ (เช่น 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