Agent可从断点恢复运行,需确保transcript-{session_id}.jsonl存在且非空;启动时自动重放事件重建状态,不重复执行工具;支持手动验证恢复位置及强制从指定step恢复。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当Agent在Workspace中执行长任务时意外中断,需要从断点处继续运行而非重头开始,否则已修改的文件、已调用的工具结果、已生成的中间产物全部丢失。
确认恢复前提:检查transcript日志是否存在
进入项目根目录下的 memory/transcripts/ 文件夹,查找形如 transcript-{session_id}.jsonl 的文件。该文件必须存在且非空——若文件不存在或大小为0字节,说明未启用Transcript持久化,无法恢复进度。
这一步不可跳过。没有transcript,所有事件流记录都不存在,系统无法重建任何状态。
启动时自动加载历史状态
运行 agent 启动命令(如 python main.py --session-id s-123)时,MyCodeAgent 会自动检测到同名 transcript 文件。
它逐行读取 JSONL 中的每条事件,按 step 字段顺序重放:先还原用户输入→再重建模型思考路径→接着注入已完成的 tool 调用结果→最后定位到 event_type: "terminal" 后的首个未完成事件。
注意:重放过程不重新执行工具,只把历史结果注入当前上下文。因此不会重复写文件、不会二次调用API。
手动验证恢复位置
方法一:查看最后几条事件的 event_type
用文本编辑器打开 transcript 文件,滚动到底部,找到倒数第三至第五条记录。如果末尾是 "event_type":"tool_lifecycle","status":"completed",而紧接着是 "event_type":"state_transition","reason":"model_returned_tool_calls",说明上一轮已发出新工具请求但尚未收到响应——恢复点就在此处。
Agent 记忆系统 — 五路融合检索 + 双时间线 + 因果链 + Spirit管家 + 记忆回声 + 弹性配置 + Circuit Breaker + GDPR合规 + 192项安全审计修复
方法二:检查 workspace 目录下最新变更时间
运行 ls -lt workspace/artifacts/ 或 ls -lt workspace/logs/,对比文件修改时间与 transcript 中最后一条 completed 事件的 timestamp 字段。二者应基本一致,否则说明有未落盘的操作。
【务必确认 workspace/artifacts/ 下无残留的 .tmp 或半成品文件】 这类文件可能是上次崩溃时未清理的中间态,会干扰恢复逻辑。
强制从指定 step 恢复
第一步:停止当前运行中的 agent 进程,确保无并发写入。
第二步:备份原始 transcript 文件,例如重命名为 transcript-s-123.jsonl.bak。
第三步:用脚本截断 transcript——删除从目标 step 开始的所有后续事件行。例如要从 step=7 继续,则保留所有 "step":0 至 "step":6 的行,以及第一条 "step":7 的记录(通常是 state_transition)。
第四步:启动 agent 并显式传入 --resume-from-step 7 参数。此时系统跳过重放,直接将上下文锚定在该 step,并等待模型生成下一步动作。

















