auto-sync: 2026-05-30 09:01:45
This commit is contained in:
@@ -480,6 +480,46 @@ openclaw agent 子进程退出
|
||||
- 验证 Agent 自主决策行为
|
||||
- 重跑 01-four-phase-loop 的 E2E 测试
|
||||
|
||||
### Phase 3:迁移方案
|
||||
|
||||
**迁移策略**:新旧路径并行,通过 feature flag 切换。
|
||||
|
||||
```python
|
||||
# spawner.py
|
||||
USE_MAIN_SESSION = os.environ.get("MOZIPLUS_USE_MAIN_SESSION", "0") == "1"
|
||||
|
||||
def spawn_full_agent(self, agent_id, ..., use_main_session=False):
|
||||
if USE_MAIN_SESSION or use_main_session:
|
||||
# 新路径:投递到 main session
|
||||
return self._spawn_to_main_session(agent_id, ...)
|
||||
else:
|
||||
# 旧路径:UUID session(现有逻辑,保留)
|
||||
return self._spawn_uuid_session(agent_id, ...)
|
||||
```
|
||||
|
||||
**迁移步骤**:
|
||||
1. 代码部署(新旧路径并存,feature flag 默认关闭)
|
||||
2. 手动测试一个任务走新路径 → 验证 session 不爆炸、产出物正确
|
||||
3. 设置 `MOZIPLUS_USE_MAIN_SESSION=1` 开启全量迁移
|
||||
4. 监控 24h,检查:session 数量、任务完成率、幻觉误判率
|
||||
5. 确认稳定后删除旧路径代码
|
||||
|
||||
**进行中任务处理**:
|
||||
- feature flag 切换前已创建但未完成的任务 → 继续走旧路径(`reuse_session_id=UUID`)
|
||||
- 切换后新创建的任务 → 走新路径(`use_main_session=True`)
|
||||
- `task_type=mail` 不受影响(Mail 路径已在 v1.0 使用 main session)
|
||||
|
||||
**回滚方案**:
|
||||
- 设置 `MOZIPLUS_USE_MAIN_SESSION=0` → 立即切回旧路径
|
||||
- 新路径已产生的 session 保留不清理(不影响旧路径)
|
||||
- 回滚不会丢失数据(黑板数据独立于 session 路径)
|
||||
|
||||
**回滚触发条件**:
|
||||
- session 数量未减少(新路径也有 session 爆炸)
|
||||
- 任务完成率下降超 30%
|
||||
- 幻觉误判(标 failed 但实际有产出)超过 10%
|
||||
- Agent main session 频繁超时(>5 次/小时`openclaw agent` 子进程超时)
|
||||
|
||||
---
|
||||
|
||||
## 十一、参考文件
|
||||
|
||||
Reference in New Issue
Block a user