长运行Agent的有效框架:跨上下文窗口的一致性进度

长运行Agent的有效框架:跨上下文窗口的一致性进度

来源: Anthropic Engineering Blog
作者: Justin Young
发布日期: 2025-11-26
分类: ai-agents

概述

AI Agent在跨多个上下文窗口工作时面临根本性挑战:每个新会话开始时都没有之前的记忆。Anthropic通过让Claude Opus 4.5仅用高层提示构建claude.ai克隆的实验,发现了两种典型失败模式——过度野心执行和过早完成声明。文章提出了初始化Agent+编码Agent的两部分架构,以及从人类软件工程实践中汲取灵感的一系列关键实践。

核心内容

问题的本质

上下文窗口有限且复杂项目无法在单个窗口中完成。关键矛盾在于”每个新会话开始时都没有之前的记忆”——Agent工作在离散会话中,而项目需要连续进度。

两种典型失败模式

通过让Claude Opus 4.5尝试仅用高层提示构建claude.ai克隆,团队发现:

  1. 过度野心执行:Agent试图一次性实现整个应用,在实现过程中耗尽上下文,导致功能残缺且未文档化
  2. 过早完成声明:后续Agent会话观察到已有进度后,错误地判断项目已完成

两部分解决架构

初始化Agent

首个会话使用专门提示建立:

  • init.sh脚本用于启动开发环境
  • claude-progress.txt文件记录Agent活动
  • 初始git提交展示已创建的文件

编码Agent

后续会话遵循结构化指令:

  • 对单个功能进行增量开发
  • 保持代码在可合并的干净状态
  • 维护全面的文档记录

功能列表设计

创建包含200+粒度化功能的结构化JSON文件,例如”用户可以打开新聊天、输入查询、按回车并看到AI响应”。关键设计决策:

  • 功能带passes字段,防止Agent删除或编辑测试规范
  • JSON格式比Markdown更能抵抗模型诱导的格式破坏——这是一个重要的实践发现

增量进度策略

Agent每次会话只处理一个功能,而非尝试完整实现:

  • 使用描述性消息提交git
  • 编写进度摘要
  • 使用git回退有问题的更改

测试与验证

提供浏览器自动化工具(Puppeteer MCP),要求Agent像人类用户一样测试。但仍存在局限——Agent无法通过现有工具看到浏览器原生alert弹窗。

会话初始化协议

每个编码Agent会话按标准五步流程开始:

  1. 环境检查:运行pwd确认工作目录
  2. 上下文收集:审查git日志和进度文件
  3. 功能选择:读取功能列表,选择最高优先级的未完成功能
  4. 服务器启动:执行init.sh启动开发服务器
  5. 基础测试:验证基本功能仍然正常运行

失败模式对策矩阵

问题 初始化Agent方案 编码Agent方案
过早完成 创建包含所有需求的全面功能列表 会话开始时读取功能列表;只处理单个功能
代码混乱 初始化git仓库和进度笔记 先读进度文件和git日志;通过测试验证;结束时提交git
未测试就标记完成 建立功能列表结构 标记前进行彻底自验证
环境熟悉耗时 编写可执行init.sh 会话开始时读取init.sh文档

来自人类工程实践的启发

研究表明,了解”优秀软件工程师每天做什么”对Agent框架设计极有价值。核心实践包括:

  • 清晰的会话交接
  • 全面的进度文档
  • 增量任务分解
  • 系统化的验证流程

未来方向

  • 单一通用Agent vs 专业多Agent架构的取舍
  • 专门的测试、QA和代码清理Agent的潜在价值
  • 从Web开发扩展到科学研究和金融建模等领域

个人评价

这篇文章直面了当前Agent开发中最实际的瓶颈之一:如何让Agent在多次会话间保持一致的进度。解决方案并不依赖技术突破,而是借鉴了人类软件工程中最基本的实践——版本控制、进度文档、增量开发、系统化测试。这种”工程方法论而非技术方案”的思路非常务实。JSON比Markdown更抗格式破坏的发现也是一个很有价值的实践经验。文章展示了Agent框架设计如何从”给AI一个任务”转变为”为AI构建一个可持续的工作环境”。


评分: 4.90/5.0

分类置信度: high

相关链接:

© 2026 Generative AI Discovery All Rights Reserved.
Theme by hiero