QuotaCheap Playbook
OpenClaw Background Tasks: vì sao detached agent runs cần một activity ledger
Hướng dẫn OpenClaw Background Tasks cho AI agent production: ACP runs, subagents, isolated cron jobs, CLI operations, task lifecycle, audit, maintenance và…
Cron chạy nền, subagent, ACP run và CLI operation đều cần một nơi để biết: đang chạy, đã xong, lỗi, timeout hay mất dấu.
Bài viết giải thích Background Tasks trong OpenClaw như activity ledger cho detached work: ACP runs, subagents, isolated cron jobs và CLI operations. Tập trung vào lifecycle queued/running/terminal, push-driven completion, task audit, maintenance và cách gắn QuotaCheap để quan sát model usage/cost cho các run nền.
Có một kiểu lỗi rất khó chịu khi chạy AI agent production: user nhờ agent làm một việc dài, agent nói “đang làm”, rồi vài phút sau không ai biết chuyện gì xảy ra.
Nó còn chạy không?
Subagent có trả kết quả nhưng parent session không nhận?
Cron job có chạy nhưng delivery fail?
Operator nhìn vào chat thì không thấy gì, nhìn vào logs thì quá nhiều noise, còn user thì chỉ thấy agent im như tượng.
Đây là lý do OpenClaw có Background Tasks .
Background Tasks không phải là scheduler.
Nó là activity ledger cho những việc chạy ngoài main conversation session: ACP runs, subagent spawns, isolated cron job executions và CLI initiated operations.
Nói đời thường: scheduler quyết định “khi nào làm”; task ledger ghi lại “đã làm tới đâu”.
Đừng nhầm task với cron, heartbeat hoặc session OpenClaw docs nói thẳng: tasks do not replace sessions, cron jobs, or heartbeats .
Đây là điểm rất quan trọng.
Session giữ context hội thoại.
Cron quyết định lịch chạy chính xác.
Heartbeat gom các periodic checks nhẹ theo nhịp agent.
Task ghi lại detached work đã được tạo, trạng thái hiện tại là gì, và kết quả cuối cùng ra sao.
Nếu bạn dùng task như scheduler, bạn sẽ thiết kế sai.
Nếu bạn bỏ task ledger khi có detached work, bạn sẽ debug như đi mò kim đáy bể.
Ví dụ: Một cron job mỗi sáng tổng hợp billing report: cron là scheduler, task là record của từng lần chạy.
Một subagent được spawn để audit repo: subagent là worker, task là ledger biết worker đó running/succeeded/failed.
Một CLI operation chạy agent ngoài chat: CLI khởi tạo work, task lưu dấu để inspect sau.
Không phải agent run nào cũng tạo task Docs nhấn mạnh: không phải mọi agent run đều tạo background task.
Các thứ tạo task: ACP runs; subagent spawns; all cron jobs; CLI agent commands.
Các thứ không tạo task: heartbeat turns; normal interactive chat.
Nếu mỗi câu chat thông thường cũng tạo task, task list sẽ thành bãi rác.