跳转至

从 PRD 到代码:Ralph 驱动的自治 AI 智能体执行循环

Ch01.1184 从 PRD 到代码:Ralph 驱动的自治 AI 智能体执行循环

📊 Level ⭐⭐ | 5.0KB | entities/从-prd-到代码ralph-驱动的自治-ai-智能体执行循环.md

从 PRD 到代码:Ralph 驱动的自治 AI 智能体执行循环

来源: 技术极简主义

发布日期: 2026-02-23

原文链接: https://mp.weixin.qq.com/s/iVfaAJx4DuFuzihf0TouHA


传统的软件开发流程中,我们会先写需求文档、设计文档,再进行编码。但在 AI 编程时代,尽管工具越来越强大,从 PRD 到可直接上线的代码,自动化流程仍然不够顺畅。

Ralph 正是为了解决这一问题而设计。它基于 Geoffrey Huntley 提出的 Ralph 循环模式 [1] ,通过不断启动 AI 编码工具(Amp 或 Claude Code),逐条处理 PRD 中的任务,直到所有事项完成为止。

在上一篇文章 简单就是美!Claude Code Ralph循环机制详解 中,我们已经系统了解了 Ralph 如何接管重复性工作,并保证任务可靠完成。

在本文中,我将带你看看 Ralph 是如何实现 自动化开发 的,包括它的核心原理、完整流程、最佳实践,以及在实际项目中的应用效果。

核心原理

架构设计:Bash 循环 + AI 实例

Ralph 的架构其实很简单。核心是一个 Bash 循环脚本:每轮迭代启动一个新的 AI 实例,读取 PRD 数据,只处理一个明确的任务,然后进入下一轮。

创建 PRD
    ↓
转换为 JSON → prd.json(任务清单)


ralph.sh(Bash 循环)
    ↓
启动 AI 实例 → 读取 prd.json → 选择未完成任务


实现单个任务 → 运行质量检查 → 提交代码 → 更新 AGENTS.md / CLAUDE.md


更新 prd.json → 将经验写入 progress.txt → 进入下一轮


所有任务完成 → 输出 COMPLETE

这种设计的关键在于: 每一轮迭代都使用全新的上下文窗口。

AI 不依赖之前的对话记忆,而是通过外部存储( Git 历史 、 progress.txt 和 prd.json )来获取状态。这样既避免了上下文不断累积带来的限制,也能确保每次迭代都基于最新、可审计的项目状态。

核心概念

每次迭代 = 全新 AI 实例

在 Ralph 的流程里,每轮都会启动一个新的 AI 实例(Amp 或 Claude Code),不沿用之前的对话记录,上下文都是全新的。

需要保留的状态,都放在外部:

  • • Git 历史 :记录开发过程中的变动和约定

  • • progress.txt :保存当前进度和关键经验

  • • prd.json :任务列表及完成情况

小任务原则

每个 PRD 里的任务最好一次就能做完。任务拆得不够细,模型还没写完,上下文就快满了,后面的代码质量肯定会受影响。

比较合适的任务例子(一次迭代能完成):

  • • 添加一个数据库列并编写迁移

  • • 在现有页面中新增一个 UI 组件

  • • 修改一段已有的服务端逻辑

  • • 给列表页加一个筛选下拉框

明显偏大的任务(需要继续拆分):

  • • 实现一个完整的仪表板

  • • 新增一整套认证/登录体系

  • • 对现有 API 做整体重构

AGENTS.md / CLAUDE.md 的更新很重要

原文存档


关联