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我们将教你如何把这些好用的能力打包、封装变成可以在整个团队甚至跨平台共享的超级组件

相关新闻

novelWriter 终极指南:如何用开源工具完成你的第一本小说创作

novelWriter 终极指南:如何用开源工具完成你的第一本小说创作

novelWriter 终极指南:如何用开源工具完成你的第一本小说创作 【免费下载链接】novelWriter novelWriter is an open source plain text editor designed for writing novels. 项目地址: https://gitcode.com/gh_mirrors/no/novelWriter 你是否曾因传统写作软…

2026/7/1 19:31:42阅读更多 →
信号白化是什么?原理、作用和实现,以及对自适应滤波器的好处

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

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

2026/7/1 19:31:42阅读更多 →
Day10 AQS框架:ReentrantLock与CountDownLatch的共同秘密

Day10 AQS框架:ReentrantLock与CountDownLatch的共同秘密

专栏《Java后端工程师进阶之路》工作日每日一更。欢迎关注老梁。 一、AQS 是什么:并发包的"底层操作系统" 如果把 JUC 并发包看作一座大厦,AQS 就是地基和承重墙。它提供了一个模板框架: 维护一个 volatile int state 表示同步状…

2026/7/1 19:26:42阅读更多 →
Web安全入门:从OWASP Top 10到实战防御的完整指南

Web安全入门:从OWASP Top 10到实战防御的完整指南

1. 从“门外汉”到“看门人”:为什么你需要这份Web安全地图如果你刚接触编程,或者已经能熟练地写几个页面、搭个后台,但每次听到“安全漏洞”、“黑客攻击”这些词,心里还是有点发虚,觉得那是另一个世界的事情&#xf…

2026/7/1 20:47:15阅读更多 →
API成批分配漏洞:原理、攻击案例与立体防御策略

API成批分配漏洞:原理、攻击案例与立体防御策略

1. 项目概述:为什么API成批分配漏洞值得你彻夜难眠?如果你是一名后端开发或者安全工程师,最近有没有在深夜收到过告警,发现某个用户一夜之间变成了“超级管理员”?或者,你的用户数据莫名其妙地被批量修改&a…

2026/7/1 20:47:15阅读更多 →
Strix实战:3步部署AI渗透工具,命令行扫描Web漏洞

Strix实战:3步部署AI渗透工具,命令行扫描Web漏洞

为什么你需要Strix?上个月我们团队上线了一个新项目,上线前用传统扫描器跑了一遍——报告显示"无高危漏洞",结果第三天被白帽提交了一个SQL注入。更让人头疼的是,整改完之后又跑了一次扫描,这次报了200多个&…

2026/7/1 20:47:15阅读更多 →
Metabase高危漏洞CVE-2023-38646:从H2连接字符串注入到RCE的深度剖析与实战复现

Metabase高危漏洞CVE-2023-38646:从H2连接字符串注入到RCE的深度剖析与实战复现

1. 项目概述:一次从零开始的Metabase高危漏洞深度剖析最近在梳理一些开源BI工具的安全状况,Metabase这个项目自然绕不开。它凭借开箱即用的可视化能力和友好的界面,成了很多企业内部数据看板的首选。但越是流行的开源组件,其安全状…

2026/7/1 20:47:15阅读更多 →
网易云发布ai歌曲

网易云发布ai歌曲

https://www.bilibili.com/video/BV1YK7h6HE7Z/?spm_id_from333.788.top_right_bar_window_history.content.click&vd_sourced68ed178f151e80fea1e02efd205802c

2026/7/1 20:47:15阅读更多 →
判断是tcp,udp以及关闭windows下的端口

判断是tcp,udp以及关闭windows下的端口

1.c语言代码2.编译命令另外的程序 检测端口程序的编译命令&#xff1a; ports.c gcc port_tool.c -o port_tool.exe -lws2_32 -lpsapi -static3. port_tool.c 代码#include <stdio.h> #include <stdlib.h> #include <string.h> #include <winsock2.h> …

2026/7/1 20:42:15阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月&#xff0c;Boris Cherny 公开宣布自己卸载了 IDE。一时间&#xff0c;Vibe Coding 成了全行业最热的话题。6个月后&#xff0c;当我们回过头来拉一份真实账本&#xff0c;发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/7/1 4:42:14阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言&#xff1a;审计结束三个月了&#xff0c;审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间&#xff0c;内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中&#xff0c;审计…

2026/7/1 5:19:01阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时&#xff0c;发现推理速度只有可怜的 1-2 FPS&#xff0c;而别人的演示视频却能跑到 30 FPS 以上&#xff0c;那么问题很可能不在模型本身&#xff0c;而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后&#xff0c;会直接使用官方示例…

2026/7/1 0:01:44阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一&#xff1a;为什么你需要了解 Coze 和 Dify&#xff1f;如果你对 AI 应用开发感兴趣&#xff0c;但一看到“大模型”、“智能体”、“工作流”这些词就头疼&#xff0c;觉得门槛太高&#xff0c;那这篇文章就是为你准备的。很多开发者&#xff0c;包括我自己&#…

2026/7/1 0:01:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会&#xff1a;配图一直是个让人头疼的问题。2026年&#xff0c;AI生图工具已经非常成熟了&#xff0c;但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1&#xff1a;速度之王2026年6月11日&#xff0c…

2026/7/1 0:01:44阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时&#xff0c;发现推理速度只有可怜的 1-2 FPS&#xff0c;而别人的演示视频却能跑到 30 FPS 以上&#xff0c;那么问题很可能不在模型本身&#xff0c;而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后&#xff0c;会直接使用官方示例…

2026/7/1 0:01:44阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一&#xff1a;为什么你需要了解 Coze 和 Dify&#xff1f;如果你对 AI 应用开发感兴趣&#xff0c;但一看到“大模型”、“智能体”、“工作流”这些词就头疼&#xff0c;觉得门槛太高&#xff0c;那这篇文章就是为你准备的。很多开发者&#xff0c;包括我自己&#…

2026/7/1 0:01:44阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会&#xff1a;配图一直是个让人头疼的问题。2026年&#xff0c;AI生图工具已经非常成熟了&#xff0c;但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1&#xff1a;速度之王2026年6月11日&#xff0c…

2026/7/1 0:01:44阅读更多 →