65|失败可恢复:断点续跑与任务日志可重放

发布时间:2026/10/4 5:03:21

65|失败可恢复:断点续跑与任务日志可重放 在前面的实战中我们为 Agent 打造了状态机大脑配备了安全的抓取和读写工具。现在你给 Agent 下达了终极任务“去这 100 个竞争对手的网站上抓取价格信息生成一份对比报告。”这是一个典型的长周期任务。由于大模型生成速度慢、网络请求容易超时这个任务可能需要跑整整 2 个小时。在第 1 小时 50 分的时候你电脑休眠了或者 OpenAI 的接口突然挂了 10 秒钟。如果没有做特殊的工程处理你的终端会弹出一片红色的报错程序彻底退出。更让人绝望的是因为之前的抓取数据都存在内存里随着程序退出这 90 个网站的劳动成果全部灰飞烟灭。你想拿到报告只能从第 1 个网站重新再跑两个小时。本篇是项目 C多步骤自动化助手的收官之作。我们将把卷 5 讲过的“事件溯源”理论化为代码实战让你的 Agent 拥有“存档复活”的能力。1. 为什么会死告别对内存的幻想导致长任务从头再来的根本原因是我们在写代码时习惯把中间状态如已抓取的网页内容、大模型的对话历史保存在一个 Python 的list或dict变量里。铁律内存是极度不可靠的。在 Agent 编程中任何有价值的思考过程和工具执行结果必须在生成的第一时间写入硬盘数据库或日志文件。2. 怎么“存档”建立任务事件日志Event Log我们不需要把内存里的所有东西都存下来我们只需要记录 Agent“做过什么关键决策”。在代码实现时我们引入一个叫EventLogger的组件。每当 Agent 的状态机发生流转就向本地的一个 JSONL每行一个 JSON文件中追加写入一条记录。存档的三个关键节点任务规划完成时存下要抓取的 100 个 URL 列表。每次工具调用成功时存下抓取到的网页关键数据存入本地文件日志中只记文件路径。遇到严重报错时存下当前失败的 URL 和报错原因然后将任务状态标记为Suspended挂起。3. 本篇产出可重放的任务事件日志实战模板这就是我们在项目里真实生成的事件日志task_job_001.jsonl。注意看它是如何一步步记录“作案痕迹”的并且看它是如何在第 3 步崩溃挂起的。{timestamp: 2024-05-25T10:00:00, type: PLANNING, payload: {status: success, targets: [site_A.com, site_B.com, site_C.com]}} {timestamp: 2024-05-25T10:05:00, type: TOOL_CALL, payload: {tool: fetch_webpage, target: site_A.com, status: success, saved_path: /tmp/site_A_data.txt}} {timestamp: 2024-05-25T10:10:00, type: TOOL_CALL, payload: {tool: fetch_webpage, target: site_B.com, status: error, error_msg: API Rate Limit Exceeded, retry_count: 3}} {timestamp: 2024-05-25T10:10:05, type: SUSPEND, payload: {reason: 连续3次请求失败挂起任务等待恢复, last_successful_target: site_A.com}}4. 怎么“复活”断点续跑与日志重放第二天早上网络恢复了。你重新启动 Agent 脚本。此时Agent 的启动逻辑不再是“从头开始问大模型”而是读取存档去检查有没有未完成的task_job_001.jsonl。状态重放Replay顺着日志读下来系统发现“哦计划已经做好了不需要重新规划了。site_A.com已经抓完了数据在/tmp目录下把它加载到当前上下文中。”精准续跑日志最后停在了site_B.com的报错挂起上。系统直接将大模型的状态恢复到这里对它说“你昨天在抓取site_B.com时遭遇了限流现在网络恢复了请继续你的任务。”就这样Agent 跳过了前面 1 个小时的漫长工作直接从报错的断点处原地复活丝滑地把剩下的任务做完了总结与复盘项目 C 收官恭喜你在项目 C多步骤自动化助手Agent 工具中你真正跨入了大模型工程化的深水区[第63篇] 状态机你用代码画出了 ReAct 循环的轨道懂得了用Max_Steps给发疯的 AI 踩刹车。[第64篇] 工具与权限你给大模型装上了“手脚”并学会了用 Schema 规范它的动作用沙箱和工作目录限制它的破坏力。[第65篇] 失败可恢复你抛弃了对内存的幻想用事件日志Event Sourcing实现了工业级系统的标配——断点续跑。现在的这个 Agent不再是聊天框里那个聊着聊着就忘事的“玩具”而是一个能够挂在服务器后台、不知疲倦、跌倒了也能自己爬起来接着干的赛博打工人下一步去哪儿在这个项目里你的工具抓网页、写文件都是写死在当前代码里的。如果明天公司里的另一个团队也想用你写的这个“极度防呆、自动过滤广告的 Web Fetcher”工具他们该怎么用难道要把你的 Python 代码复制粘贴一份过去吗这太原始了接下来的项目 D团队可复用技能包Skills我们将教你如何把这些好用的能力打包、封装变成可以在整个团队甚至跨平台共享的超级组件
延伸阅读

更多相关文章

2026/10/4 9:31:44

信号白化是什么?原理、作用和实现,以及对自适应滤波器的好处

信号白化是什么?原理、作用以及实现 信号白化(whitening)这个词在自适应滤波、语音增强、阵列处理、机器学习和统计信号处理中都经常出现。很多人第一次看到“白化”时会觉得它像一个经验技巧,但从本质上说,它做的是一…

2026/10/4 23:27:07

一文详解 MVCC/隔离级别/引入Seata的影响

MVCC(多版本并发控制):是 MySQL InnoDB 实现并发读的底层机制;事务隔离级别:是数据库定义的,事务之间可见性的规则标准。InnoDB 使用 MVCC 锁 共同实现 4 种隔离级别。一、MVCC 核心原理(InnoD…

2026/10/4 23:27:07

TCP/UDP性能测试工具实战:iperf3吞吐、丢包与协议栈调优避坑指南

简介:TCP_UDP_PerformanceTest 是一款面向网络编程开发者与系统运维人员的传输层协议性能测试工具,用于对比 TCP 与 UDP 在真实网络环境下的吞吐量、延迟与丢包率表现,帮助判断高并发低延迟场景下应选用哪种协议。资源包共 5 个文件&#xff…

2026/10/4 23:27:07

微小型双足鸭形机器人强化学习落地全解析

我一直觉得,双足机器人研究里有一个很奇怪的门槛效应:一提强化学习,大家默认就是人形机器人、四足大狗那种级别,要么是仿真里空跑,要么是一套几万块的硬件平台。真正想把深度强化学习这套东西在一只巴掌大、几百克重、…

2026/10/4 23:27:07

中文模型API速查:参数表、术语与上手实践

你可能也遇到过这种情况:拿到一本关于中文模型API的手册,习惯性跳过附录直接看正文。等真正上手后才发现,救命信息全藏在最后几页——参数速查表、术语表、API速通示例,被大多数人当成“索引”翻过去。我反而养成一个习惯&#xf…

2026/10/4 23:22:07

大模型训练显存测量与预算决策:从理论估算到实操优化

1. 训练侧显存测量与预算决策的整体思路拆解显存不够用这件事,几乎每个做大模型训练或微调的人都撞过墙。模型加载到一半报 OOM,训练跑了几十步突然崩掉,或者明明卡上还有余量却怎么都塞不下更大的 batch size——这些问题的根源往往不是“显…

2026/10/4 0:01:02

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/4 0:01:02

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/4 1:01:05

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 0:01:02

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/4 0:01:02

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/4 1:01:05

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑