Ralph 循环:让 AI 编程工具自己跑完所有任务
自从大规模开始让智能体 + Skill 干活,有一个事情会非常诱人,那就是让 AI 一口气把所有任务都做完,甚至干活可以一晚上不停。你当然可以一直给 AI 下指令,但大多数时候一个任务最多也就执行个十几分钟到一两个小时就停了,这是因为 AI 的上下文窗口有限,时间太长之后,AI 就干不太动了,质量直线下降。关于上下文长度的含义,在视频课和日课里都提过,大家可以去看。
自从大规模开始让智能体 + Skill 干活,有一个事情会非常诱人,那就是让 AI 一口气把所有任务都做完,甚至干活可以一晚上不停。你当然可以一直给 AI 下指令,但大多数时候一个任务最多也就执行个十几分钟到一两个小时就停了,这是因为 AI 的上下文窗口有限,时间太长之后,AI 就干不太动了,质量直线下降。关于上下文长度的含义,在视频课和日课里都提过,大家可以去看。
今天给圈友介绍的 Ralph 就是为了解决这个问题的。它可以多次唤起 AI 工具,完成一个小任务、提交代码或数据、记录进展,然后开始下一次,直到所有任务全部做完才停下来。对于一个大任务,它会自动进行拆解,每次只做一件事,每次都是全新的上下文。
既然上下文空间有限,Ralph 靠什么记住每次的进展呢?靠的是三个文件。
prd.json 是任务清单,每个用户故事有一个完成标记。Ralph 每次启动,都会挑一个未完成的任务去做,做完标记通过,继续下一轮。
progress.txt 则是智能体的学习日志,每次循环结束后自动追加发现的新规律、踩的坑等等。每次开始新的任务时,只要读这个文件就有了前辈留下的经验。
而 git 是最底层的记录,在每次任务迭代完成后,它会自动提交一次,确保你生成的所有代码和文件都可以回溯,出问题能定位到哪一轮引入的。
整个循环靠 ralph.sh 这个脚本跑起来,默认最多跑 10 次,用完可以继续触发。