从 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 → 进入下一轮
↓
所有任务完成 → 输出
这种设计的关键在于: 每一轮迭代都使用全新的上下文窗口。
AI 不依赖之前的对话记忆,而是通过外部存储( Git 历史 、 progress.txt 和 prd.json )来获取状态。这样既避免了上下文不断累积带来的限制,也能确保每次迭代都基于最新、可审计的项目状态。
核心概念¶
每次迭代 = 全新 AI 实例
在 Ralph 的流程里,每轮都会启动一个新的 AI 实例(Amp 或 Claude Code),不沿用之前的对话记录,上下文都是全新的。
需要保留的状态,都放在外部:
-
• Git 历史 :记录开发过程中的变动和约定
-
• progress.txt :保存当前进度和关键经验
-
• prd.json :任务列表及完成情况
小任务原则
每个 PRD 里的任务最好一次就能做完。任务拆得不够细,模型还没写完,上下文就快满了,后面的代码质量肯定会受影响。
比较合适的任务例子(一次迭代能完成):
-
• 添加一个数据库列并编写迁移
-
• 在现有页面中新增一个 UI 组件
-
• 修改一段已有的服务端逻辑
-
• 给列表页加一个筛选下拉框
明显偏大的任务(需要继续拆分):
-
• 实现一个完整的仪表板
-
• 新增一整套认证/登录体系
-
• 对现有 API 做整体重构
AGENTS.md / CLAUDE.md 的更新很重要
每
→ 原文存档
关联¶
- 相关概念: Harness Engineering