Agent coordination

เป้าหมาย

Status: active

เป้าหมาย

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

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

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

ตั้งเป้าหมาย:

text
/goal start get CI green for PR 87469 and push the fix

ตรวจสอบ:

text
/goal

หยุดชั่วคราวเมื่องานกำลังรอโดยเจตนา:

text
/goal pause waiting for CI

ดำเนินการต่อ:

text
/goal resume

ทำเครื่องหมายว่าเสร็จสมบูรณ์:

text
/goal complete pushed and verified

ล้างออก:

text
/goal clear

เป้าหมายใช้สำหรับอะไร

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

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

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

อ้างอิงคำสั่ง

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

text
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

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

Was this useful?
On this page

On this page