Automation

โฟลว์งาน

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

เมื่อใดควรใช้โฟลว์งาน

ใช้โฟลว์งานเมื่องานมีหลายขั้นตอนแบบลำดับต่อเนื่องหรือแตกแขนง และคุณต้องการการติดตามความคืบหน้าแบบคงทนข้ามการรีสตาร์ต Gateway สำหรับการดำเนินการเบื้องหลังแบบรายการเดียว งาน ธรรมดาก็เพียงพอแล้ว

สถานการณ์ ใช้
งานเบื้องหลังรายการเดียว งานธรรมดา
ไปป์ไลน์หลายขั้นตอน (A แล้ว B แล้ว C) โฟลว์งาน (แบบจัดการ)
สังเกตงานที่สร้างจากภายนอก โฟลว์งาน (แบบมิเรอร์)
ตัวเตือนแบบครั้งเดียว งาน Cron

รูปแบบเวิร์กโฟลว์ตามกำหนดเวลาที่เชื่อถือได้

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

  1. ใช้ งานตามกำหนดเวลา สำหรับเวลา
  2. ใช้เซสชัน cron แบบถาวรเมื่อเวิร์กโฟลว์ควรต่อยอดจากบริบทก่อนหน้า
  3. ใช้ Lobster สำหรับขั้นตอนที่กำหนดแน่นอน เกตการอนุมัติ และโทเค็นสำหรับดำเนินการต่อ
  4. ใช้โฟลว์งานเพื่อติดตามการรันหลายขั้นตอนข้ามงานลูก การรอ การลองใหม่ และการรีสตาร์ต Gateway

ตัวอย่างรูปแบบ cron:

bash
openclaw cron add \  --name "Market intelligence brief" \  --cron "0 7 * * 1-5" \  --tz "America/New_York" \  --session session:market-intel \  --message "Run the market-intel Lobster workflow. Verify source freshness before summarizing." \  --announce \  --channel slack \  --to "channel:C1234567890"

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

ภายในเวิร์กโฟลว์ ให้วางการตรวจสอบความน่าเชื่อถือไว้ก่อนขั้นตอนสรุปด้วย LLM:

yaml
name: market-intel-briefsteps:  - id: preflight    command: market-intel check --json  - id: collect    command: market-intel collect --json    stdin: $preflight.json  - id: summarize    command: market-intel summarize --json    stdin: $collect.json  - id: approve    command: market-intel deliver --preview    stdin: $summarize.json    approval: required  - id: deliver    command: market-intel deliver --execute    stdin: $summarize.json    condition: $approve.approved

การตรวจสอบก่อนเริ่มที่แนะนำ:

  • ความพร้อมใช้งานของเบราว์เซอร์และการเลือกโปรไฟล์ เช่น openclaw สำหรับสถานะที่มีการจัดการ หรือ user เมื่อจำเป็นต้องใช้เซสชัน Chrome ที่ลงชื่อเข้าใช้แล้ว ดู เบราว์เซอร์
  • ข้อมูลประจำตัว API และโควตาสำหรับแต่ละแหล่งข้อมูล
  • ความสามารถในการเข้าถึงเครือข่ายสำหรับปลายทางที่จำเป็น
  • เครื่องมือที่จำเป็นเปิดใช้งานสำหรับเอเจนต์ เช่น lobster, browser และ llm-task
  • ปลายทางเมื่อเกิดความล้มเหลวถูกกำหนดค่าสำหรับ cron เพื่อให้มองเห็นความล้มเหลวก่อนเริ่ม ดู งานตามกำหนดเวลา

ฟิลด์ที่มาของข้อมูลที่แนะนำสำหรับทุกรายการที่รวบรวม:

json
{  "sourceUrl": "https://example.com/report",  "retrievedAt": "2026-04-24T12:00:00Z",  "asOf": "2026-04-24",  "title": "Example report",  "content": "..."}

ให้เวิร์กโฟลว์ปฏิเสธหรือทำเครื่องหมายรายการที่ล้าสมัยก่อนการสรุป ขั้นตอน LLM ควรได้รับเฉพาะ JSON ที่มีโครงสร้าง และควรถูกขอให้รักษา sourceUrl, retrievedAt และ asOf ไว้ในเอาต์พุต ใช้ งาน LLM เมื่อคุณต้องการขั้นตอนโมเดลที่ตรวจสอบกับสคีมาได้ภายในเวิร์กโฟลว์

สำหรับเวิร์กโฟลว์ของทีมหรือชุมชนที่นำกลับมาใช้ซ้ำได้ ให้แพ็กเกจ CLI, ไฟล์ .lobster และบันทึกการตั้งค่าใดๆ เป็น skill หรือ Plugin แล้วเผยแพร่ผ่าน ClawHub เก็บการป้องกันเฉพาะเวิร์กโฟลว์ไว้ในแพ็กเกจนั้น เว้นแต่ว่า API ของ Plugin จะขาดความสามารถทั่วไปที่จำเป็น

โหมดซิงก์

โหมดจัดการ

โฟลว์งานเป็นเจ้าของวงจรชีวิตตั้งแต่ต้นจนจบ โดยสร้างงานเป็นขั้นตอนของโฟลว์ ขับเคลื่อนจนเสร็จสิ้น และเลื่อนสถานะของโฟลว์โดยอัตโนมัติ

ตัวอย่าง: โฟลว์รายงานรายสัปดาห์ที่ (1) รวบรวมข้อมูล (2) สร้างรายงาน และ (3) ส่งมอบรายงาน โฟลว์งานสร้างแต่ละขั้นตอนเป็นงานเบื้องหลัง รอจนเสร็จสิ้น แล้วจึงย้ายไปขั้นตอนถัดไป

Code
Flow: weekly-report  Step 1: gather-data     → task created → succeeded  Step 2: generate-report → task created → succeeded  Step 3: deliver         → task created → running

โหมดมิเรอร์

โฟลว์งานสังเกตงานที่สร้างจากภายนอก และรักษาสถานะของโฟลว์ให้ซิงก์โดยไม่รับความเป็นเจ้าของการสร้างงาน ซึ่งมีประโยชน์เมื่องานมีต้นทางจากงาน cron, คำสั่ง CLI หรือแหล่งอื่นๆ และคุณต้องการมุมมองรวมของความคืบหน้าเป็นโฟลว์

ตัวอย่าง: งาน cron อิสระสามรายการที่รวมกันเป็นกิจวัตร "ปฏิบัติการตอนเช้า" โฟลว์แบบมิเรอร์ติดตามความคืบหน้ารวมของงานเหล่านั้นโดยไม่ควบคุมว่าจะรันเมื่อใดหรืออย่างไร

สถานะคงทนและการติดตามรีวิชัน

แต่ละโฟลว์คงสถานะของตัวเองและติดตามรีวิชันเพื่อให้ความคืบหน้าอยู่รอดข้ามการรีสตาร์ต Gateway การติดตามรีวิชันช่วยตรวจจับความขัดแย้งเมื่อหลายแหล่งพยายามเลื่อนโฟลว์เดียวกันพร้อมกัน รีจิสทรีของโฟลว์ใช้ SQLite พร้อมการบำรุงรักษา write-ahead log แบบมีขอบเขต รวมถึง เช็กพอยต์เป็นระยะและขณะปิดระบบ เพื่อให้ Gateway ที่รันเป็นเวลานานไม่เก็บ ไฟล์ sidecar registry.sqlite-wal แบบไร้ขอบเขต

พฤติกรรมการยกเลิก

openclaw tasks flow cancel ตั้งเจตนายกเลิกแบบติดค้างบนโฟลว์ งานที่ทำงานอยู่ภายในโฟลว์จะถูกยกเลิก และจะไม่มีการเริ่มขั้นตอนใหม่ เจตนายกเลิกจะคงอยู่ข้ามการรีสตาร์ต ดังนั้นโฟลว์ที่ถูกยกเลิกจะยังคงถูกยกเลิก แม้ว่า Gateway จะรีสตาร์ตก่อนที่งานลูกทั้งหมดจะสิ้นสุดแล้วก็ตาม

คำสั่ง CLI

bash
# List active and recent flowsopenclaw tasks flow list # Show details for a specific flowopenclaw tasks flow show <lookup> # Cancel a running flow and its active tasksopenclaw tasks flow cancel <lookup>
คำสั่ง คำอธิบาย
openclaw tasks flow list แสดงโฟลว์ที่ติดตามพร้อมสถานะและโหมดซิงก์
openclaw tasks flow show <id> ตรวจสอบโฟลว์หนึ่งรายการด้วยรหัสโฟลว์หรือคีย์ค้นหา
openclaw tasks flow cancel <id> ยกเลิกโฟลว์ที่กำลังรันและงานที่ทำงานอยู่ของโฟลว์นั้น

โฟลว์สัมพันธ์กับงานอย่างไร

โฟลว์ประสานงาน ไม่ได้แทนที่งาน โฟลว์หนึ่งอาจขับเคลื่อนงานเบื้องหลังหลายรายการตลอดอายุของมัน ใช้ openclaw tasks เพื่อตรวจสอบระเบียนงานแต่ละรายการ และใช้ openclaw tasks flow เพื่อตรวจสอบโฟลว์ที่ทำหน้าที่ประสานงาน

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

Was this useful?
On this page

On this page