小浩Official
2026-03-27
来自广东
架构设计题:假设你需要为 OpenClaw 新增一个功能——当 Agent 执行超过 10 轮仍未完成时,自动发送通知给用户询问是否继续。根据三层架构的职责划分,这个功能应该在哪一层实现?为什么? 放在第一层:外部重试循环 runEmbeddedPiAgent()(run.ts) 因为不涉及到具体的业务逻辑 并发设计题:双重队列机制中,Session 队列保证了同一会话的串行执行。但如果某个用户的任务执行时间特别长(比如 30 分钟),会不会阻塞该用户的其他会话?OpenClaw 可以如何优化这种场景? 根据user_id,session_id作为Session_id 的key