OpenClaw 有价值应用(2026-04-20):多Agent异步回调与状态持久化中枢

OpenClaw 有价值应用(2026-04-20):多Agent异步回调与状态持久化中枢

场景演示

你正在调度一个子Agent做视频生成,任务提交后主会话断开——等它跑完,结果去哪儿了?

这就是多Agent异步回调与状态持久化要解决的问题:让长任务的结果写得进去、查得到、拿得回来,而不是随着会话结束一起消失。


Step by Step

第一步:理解问题本质

多Agent协作中,结果丢失通常发生在以下场景:

丢失场景根因后果
主会话超时/重启上下文被清空子Agent结果全部丢失
子Agent执行时长超过token限制上下文溢出结果被截断
调度后不等结果就退出没有等待机制任务完成但无人认领
结果存在内存里进程结束后内存清空永远找不回

第二步:建立持久化写入规范

OpenClaw支持通过文件系统和飞书Bitable两条路径实现状态持久化:

方案A:文件系统持久化(适合结构化数据)


# 子Agent完成后,将结果写入约定路径
echo "$result_json" > ~/.openclaw/workspace/shared/results/${task_id}.json

# 主Agent通过task_id轮询或直接读取
cat ~/.openclaw/workspace/shared/results/${task_id}.json

方案B:飞书Bitable持久化(适合需要多Agent共享查询)


# 子Agent写入飞书Bitable
feishu_bitable_create_record \
  --app_token "your_app_token" \
  --table_id "your_table_id" \
  --fields '{
    "task_id": "task_001",
    "status": "completed",
    "result": "...",
    "agent_id": "sub_agent_01",
    "completed_at": "2026-04-20T08:00:00+08:00"
  }'

第三步:建立回调汇报机制

子Agent完成后,主动向主会话汇报:


# 调度时约定回调格式
sessions_send \
  --sessionKey "main_session" \
  --message "任务 task_001 完成。结果已写入 ~/.openclaw/workspace/shared/results/task_001.json,摘要:$summary"

第四步:主Agent恢复上下文的规范流程

当主Agent重新接入或需要恢复上下文时,按以下顺序查找:


1. memory/MEMORY.md       → 查看是否有近期记录
2. memory/YYYY-MM-DD.md   → 当天记忆文件
3. ~/.openclaw/workspace/shared/results/  → 子Agent结果文件
4. 飞书Bitable(共享结果表)→ 多Agent共享状态

第五步:sessions_spawn 的正确使用姿势

对于真正需要后台执行的长任务,用 sessions_spawn 并配置 runTimeoutSeconds


{
  "runtime": "subagent",
  "task": "执行视频生成任务,结果写入 ~/.openclaw/workspace/shared/results/video_task_001.json",
  "runTimeoutSeconds": 3600,
  "mode": "run"
}

主Agent不需要等待,超时后结果已在约定位置。


可复制提示词

调度长任务专用提示词:


请将以下任务派给子Agent执行:
- 任务内容:[描述具体任务]
- 执行时长预计:X分钟~X小时
- 结果保存路径:~/.openclaw/workspace/shared/results/{task_id}.json
- 完成后回调主会话,格式:任务完成,摘要:[一句话结果描述]

主Agent只需要提交任务,继续处理其他事项,等子Agent写回结果后直接读取文件获取完整输出。

主Agent恢复上下文专用提示词:


上下文因超时/重启丢失。请按以下顺序恢复状态:
1. 读取 memory/MEMORY.md 查看近期重要记录
2. 读取 ~/.openclaw/workspace/shared/results/ 目录下所有 .json 文件
3. 查询飞书Bitable「Agent任务状态表」,找出状态为 completed 但未被主会话处理的记录
4. 汇总所有恢复的信息,用简短语句告诉我:当前有哪些待处理任务、哪些已完成但结果待取

使用的Skills

Skill用途
sessions_spawn将长任务派到独立子Agent
sessions_send子Agent向主会话回调汇报
feishu_bitable多Agent共享结果表
feishu_drive文件持久化上传
Logseq Manager记忆文件读写(memory/路径)

价值与注意事项

核心价值

  1. 任务不丢:长任务结果从"靠运气"变成"有据可查"
  2. 上下文可恢复:主Agent重启后能还原执行状态,不需要重新来
  3. 多Agent无缝接力:子Agent的结果直接成为下一个Agent的输入,无需人工搬运
  4. 超时不再恐惧:主Agent可以放心提交任务后去做其他事,结果写回再处理

注意事项

  1. 约定优于默契:调度前必须明确结果写入路径和命名规则,避免多个任务互相覆盖
  2. 文件清理:定期清理 ~/.openclaw/workspace/shared/results/ 下的过期结果文件
  3. Bitable字段设计:提前设计好字段结构,建议包含:task_idstatusresultagent_idcreated_atcompleted_at
  4. 不要all in内存:关键中间结果立即落盘,不要等到进程结束才输出
  5. 调度纪律:严禁在主会话内执行超过30分钟的密集任务,必须用 sessions_spawn 派出去

本质:多Agent异步回调与状态持久化,是把"人等结果"变成"系统等人来取"——任务执行和结果消费彻底解耦,Agent协作才能真正做到无人值守。

评论