一个人如何用 AI Loop 模式完成任务
为什么需要 Loop 模式?
用 AI 写代码已经不是什么新鲜事了。但大多数人的用法是”一问一答”——你问一个问题,AI 给一个答案,然后你复制、测试、发现不对,再问下一个。这种模式在小任务上还好,遇到稍微复杂的事情(几十个文件、需要反复测试验证),来回切换的效率就崩了。
Loop 模式的思路很简单:把整个任务描述清楚,让 AI 在一个闭环里自动执行——写代码 → 跑测试 → 看结果 → 修 bug → 提交 → 继续下一步。你只需要在关键节点看一眼,其余时间做自己的事。
这篇文章以 Ralph Loop(OpenCode 生态下的 Loop 插件)为例,讲清楚怎么搭建这个工作流。
准备工作
在启动 Loop 之前,几样东西要有:
- 一个好用的 AI Coding 工具:Claude Code 或 OpenCode(OpenCode 更开放,可以切换不同后端模型)。
- 项目有测试:单元测试是最低要求,Loop 依赖测试反馈来判断”代码对不对”。没有测试的项目会让 AI 陷入”我觉得应该没问题”的幻觉。
- Git 干净:Loop 会频繁提交,工作区干净才能保证每次提交都是有意义的一步。
- 清晰的 spec / CHECKLIST.md:这是最重要的一条,后面会展开说。
核心:先写 Task Card,再写 Prompt
大部分人上来就开始写 Prompt,结果写了一堆又觉得不够清楚,来回改。正确的顺序是:先想清楚要交付什么,再把期望转成 Prompt。
一张好的 Task Card 包含这几项:
| 要素 | 写什么 |
|---|---|
| 目标 | 最终要交付什么 |
| 完成标准 | 什么情况下算 done |
| 边界 | 不做什么、不能碰什么 |
| 可用工具 | 能用的软件、API、数据源 |
| 停止条件 | 最多几轮、失败几次就停 |
有了这张卡,再写 Prompt 就很容易——它自然就变成了 Task Card 的扩展文本。
典型 Ralph Loop 工作流
启动 Loop 的两种方式:
方式一:简单 Shell 循环
while true; do
cat TASK.md | opencode run --continue
sleep 5
done
方式二:Ralph Loop 插件(推荐)
插件提供了 hook 机制、迭代次数限制、并行任务调度等,比裸 shell 循环更可控:
# OpenCode 下启动 Ralph Loop
/ralph-loop
启动后,AI 的执行循环是这样的:
- 读取 TASK.md,理解当前进度
- 写出代码改动
- 运行测试验证
- 测试通过 → git commit / 不通过 → 回到步骤 2
- 检查是否满足完成条件
- 没完成 → 继续下一步;完成 → 自动停止
你偶尔用 /loop-status 看一眼进度,或者翻翻日志,卡住的地方手动干预一下就行。
实战示例:批量扫描开源仓库漏洞
拿一个真实场景举例——遍历国内大厂的开源仓库(阿里巴巴、腾讯、字节跳动、百度、华为、美团等),用 Trivy 扫描高危漏洞。
TASK.md
任务:遍历国内大厂 100-500 stars 的公开仓库,扫描依赖漏洞。
步骤:
1. 如果未克隆,则 git clone --depth 1
2. 用 trivy fs 扫描 HIGH + CRITICAL 漏洞
3. 有高危 CVE 则记录到 reports/ 和 report.md
4. 避免重复处理(检查 processed_repos.txt)
输出要求:
- report.md:表格形式(Repo | Stars | High CVE | Critical CVE | 主要风险包 | 链接)
- 优先输出风险最高的几个仓库
完成条件:处理完至少 50 个仓库,或连续 10 个仓库无新高危条目。
配套 Shell 循环
while true; do
cat TASK.md | opencode run --continue
echo "本轮完成,30 分钟后下一轮..."
sleep 1800
done
把 TASK.md 写好,丢进 Loop,就可以去喝咖啡了。
几个实用技巧
- 省磁盘空间:扫描过的 repo 可以定期清理,只保留 reports 目录。
- Trivy 远程扫描:
trivy repo https://github.com/xxx/yyy可以不克隆直接扫,但不稳定时本地更可靠。 - 并行加速:用
xargs -P 4或 GNU parallel 同时扫多个仓库。 - 提高命中率:在 TASK.md 里加”只处理有
go.mod/pom.xml/package.json的项目”,过滤掉没有依赖管理的仓库。 - 监控进度:定期
cat report.md | tail -50查看最新结果,或让 AI 在 Loop 中自动生成摘要。
总结
Loop 模式的本质是把”人在回路中”变成”人在回路旁”。你不需要盯着 AI 一行行写代码,只需要把任务描述清楚,设定好边界,然后让它在循环里自己跑、自己修、自己停。
关键不在于工具(OpenCode 还是 Claude Code 都能做),而在于你有没有花时间把 Task Card 写好。一张好的 Task Card,省掉的是你反复纠偏的时间。