EverAgent 是一个面向长时间运行 AI 任务的开源可持久化 Agent Harness,由开发者在 V2EX 发布,代码托管于 GitHub。该项目将 Agent 的完整执行生命周期纳入持久化管理:对话记录、模型轮次、工具调用、排队输入、checkpoint 与 Agent 状态均先提交至 SQLite,再由 TUI 和 Web 任务控制台展示,数据库作为执行状态的唯一事实来源。针对普通进程内 Agent 循环存在的进程崩溃丢失进度、任务中断后难以定位执行位置、恢复时重复调用模型或工具、对话与任务状态分别更新导致不一致等问题,EverAgent 将模型生成和工具调用都作为持久化任务运行。进程中途退出后,新进程可重新打开同一份数据库接管未完成任务,并从最后一个已提交的 checkpoint 继续。工具调用作为独立持久化任务记录并保留父子关系,保存任务输入、进度、结果与失败状态。Submission 支持 requestId 去重以控制重复执行风险,涉及外部副作用的操作仍需通过幂等键或事务保障。此外,项目还支持排队后续输入、对话恢复、reset 边界、上下文压缩、历史导出与 provider session identity 等长对话能力,而对话持久化和任务 checkpoint 在普通自定义 Agent 循环中均需单独实现。
事件分析
持久化执行是工作流引擎领域的成熟思路,Temporal、Inngest 等项目已在通用任务编排中验证其价值,EverAgent 将这一模式引入 Agent 运行时,反映出行业关注点正从模型能力转向执行可靠性。随着 Agent 任务时长从分钟级扩展到小时级,崩溃恢复与状态一致性成为产品化落地的实际瓶颈,各大厂商的 Agent SDK 也在向类似方向演进。该项目选用 SQLite 作为存储层,部署轻量、易于嵌入,适合个人开发者与中小规模场景,但在分布式部署、多实例并发接管等企业级需求上仍有扩展空间。后续走向上,checkpoint、replay 策略与幂等性设计可能逐渐成为 Agent 框架的标配能力,执行层基础设施的完善度将直接影响智能体应用的可运维性。
核心观点:Agent 竞争正从模型能力转向执行层基础设施,可持久化与可恢复将成为智能体产品化的分水岭。
原文链接:V2EX 分享发现