Trae Agent 错误恢复:任务中断后,如何把丢掉的进度找回来 Trae Agent 错误恢复任务中断后如何把丢掉的进度找回来【免费下载链接】trae-agentTrae Agent is an LLM-based agent for general purpose software engineering tasks.项目地址: https://gitcode.com/gh_mirrors/tr/trae-agent让 Trae Agent 帮忙重构一个模块跑到一半服务重启两小时的改动全没了。重跑一遍等于从头再来。Trae Agent 错误恢复 把每次执行都写进一份轨迹文件任务中断后你可以从最近的一次存档继续而不必把走过的路再走一遍。先看懂恢复的完整链路它其实是一条清晰的链路边执行边记录轨迹每调用一次模型或工具就往文件里追加一笔任务中断后顺着 agent_steps 找到最后跑成功的步骤来定位断点再把上次的上下文装回来从那个位置继续执行。落到具体载体就是那份轨迹文件——你可以把它理解成游戏的存档点代理每走一步自动存一次档崩了就从最近的档续上不必从头开局。轨迹文件里都存了什么默认落在trajectories/目录下文件名带时间戳比如trajectory_20250415_143022.json天然不重名。这份轨迹由 trajectory_recorder.py 写成 JSON内容分六类任务元数据项目路径、基础提交版本LLM 交互输入消息、模型响应、token 用量工具执行轨迹工具参数、返回结果、报错成功标志任务是否跑完最终结果实际产出耗时与配置起止时间、provider、模型名{ task: 修复认证模块内存泄漏, start_time: 2025-04-15T14:30:22, provider: anthropic, model: claude-sonnet, llm_interactions: [], agent_steps: [], success: false, final_result: null }每次状态变更后save_trajectory()会把整份文件重写一遍原子化写入进程中途崩掉已经落盘的部分也不会损坏。中断之后如何接着把活干完中断之后怎么接着干拆开看就是围绕那份轨迹文件做的几个动作。怎么找回上次停在哪一步恢复先要定位。系统打开最近的轨迹文件倒着看 agent_steps 里每一步的 state 字段找到最后一个标记成功的步骤那就是该续上的位置比从头重跑省掉大量重复劳动。如何把上下文重新装回来光知道停在哪不够还得还原当时的局面。trae_agent.py 的new_task()支持resume_from_trajectory参数传进那份文件后它取回最后一轮模型交互的输入消息当作新一轮的起点相当于读档把进度拉回中断前那一刻。# 从轨迹文件取回最后一轮的输入消息 if resume_from_trajectory in extra_args: data json.load(open(extra_args[resume_from_trajectory])) self._initial_messages data[llm_interactions][-1][input_messages]从哪里开始往下跑上下文和工具状态恢复后execute_task()会跳过已完成的部分从断点继续if self.resume_from_step 0: # 定位到断点 self._current_step self.resume_from_step return await super().execute_task()两条命令跑通恢复最基础的用法是给--resume传那份轨迹文件把任务从中断处续上trae-cli run --task 优化图片加载性能 \ --resume trajectories/trajectory_20250415_143022.json想换个地方存轨迹用--trajectory_path指定路径方便归档重要的任务trae-cli run --task 重构登录模块 \ --trajectory_path ./login_task.json存档救不了的三种情况外部依赖状态代理调了第三方接口、改了数据库里的数据这些状态不在轨迹文件里。重启后接口 token 过期、数据库连接断开存档也接不上。这类环境更适合容器化让 docker_manager.py 把依赖一起管起来。大文件变更改动上百个文件后再恢复要逐一重放比对速度慢。配合 Git 把中间变更用git stash暂存恢复时从提交点续能明显减轻负担。非幂等网络调用下单发消息这类请求重放一次就多一次副作用没法安全重试。在 base.py 的工具层做幂等设计让重复调用不产生额外影响才是稳妥做法。这套边执行边存档、中断后从最近存档续上的机制让长任务不必推倒重来。下一步值得关注的是如何自定义轨迹里到底记录哪些字段。【免费下载链接】trae-agentTrae Agent is an LLM-based agent for general purpose software engineering tasks.项目地址: https://gitcode.com/gh_mirrors/tr/trae-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考