Agent Loop Pattern

一种 AI 编码 Agent 架构:将大型任务拆分为独立子任务,每轮迭代启动一个全新的 AI 实例完成一个子任务,通过外部状态文件(而非 context 窗口)传递记忆,循环直到全部完成。

核心设计

┌─────────────────────────────────────────┐
│          外部状态(文件系统)              │
│  prd.json  progress.txt  git history    │
└──────────┬──────────────────┬───────────┘
           │ 读取              │ 读取
    ┌──────▼──────┐    ┌──────▼──────┐
    │ Iteration 1 │    │ Iteration 2 │  ... (最多 N 轮)
    │ 全新 context  │    │ 全新 context  │
    │ 完成 Story A  │    │ 完成 Story B  │
    └─────────────┘    └─────────────┘

关键权衡

选择收益代价
每轮清空 context避免长对话中的 context 污染和退化无法利用前几轮的隐式学习
文件系统记忆可审计、可调试、不依赖模型能力需要精心设计格式,信息密度有限
单故事粒度保证一轮可完成,降低出错率无法处理跨故事依赖
PRD 驱动结构化进度追踪,人可介入PRD 质量决定上限

代表性实现

  • ralphsnarktank/ralph,bash + prd.json,支持 Amp 和 Claude Code
  • Sweep AI — 早期的 PRD→代码 Agent
  • Cursor / Windsurf Agent Mode — 单次会话内的循环,但保留 context

与长 Context 策略的对比

Agent Loop(迭代隔离)vs. Context Management(长会话维护)是两种互补策略:

实际最佳实践可能是两者结合:用 Agent Loop 处理宏观任务拆分,用 context 管理优化单轮执行质量。

相关页面