Agent 工作流失败恢复:部分成功与局部重做
《Agent 大模型 0 到 1 系统课》 · 程序员 Sunday
你正在阅读本节的免费试读。完整课程 ¥499,可在文末添加作者微信购买。
上一小节,大纲通过审核以后,工作流进入了页面制作阶段。
不过,页面制作并不一定会一次全部成功。干到一半完蛋了的事情,应该很常见才对。
那么假设,当前需要生成四页内容,其中前三页都成功了,但是第四页失败了。
那么现在,这项任务应该算成功还是失败?
如果直接把整项任务标记成失败,下次重新执行四页,前三个已经成功的页面也会被再次生成。
这会重复消耗模型 Token 和页面生成费用。更麻烦的是,重新生成的页面可能和第一次不同。
所以,长任务不能只记录一个整体状态。
系统还需要知道:每一页是否成功、使用了哪个大纲版本,以及当前应该使用哪一份页面产物。
这一小节,咱们就来解决三个问题:
- 某一页失败以后,如何只做失败页面
- 用户只修改一页时,如何只重新制作这一页
- 大纲版本变化以后,如何禁止旧页面混入最终文件
什么是部分成功
部分成功表示的是一种任务结果,即:一项任务包含多个可以独立完成的子任务,其中一部分已经成功,另一部分仍然失败或者等待处理。
在演示文稿项目中,整份文件是一项大任务,每个页面是一项子任务。
所以,咱们需要分别记录每一页的结果,整体的记录结构大概就是下面这样:
{
pageId: 'page-3',
title: '技术架构',
outlineVersion: 1,
pageRevision: 1,
status: 'failed',
attempts: 1,
currentArtifactId: null,本节试读已结束
继续学习,解锁完整课程
购买《Agent 大模型 0 到 1 系统课》,
继续阅读本节剩余内容与后续课程。
