一个人如何用 AI Loop 模式完成任务

2026年5月13日

AI工具效率

为什么需要 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 的执行循环是这样的:

  1. 读取 TASK.md,理解当前进度
  2. 写出代码改动
  3. 运行测试验证
  4. 测试通过 → git commit / 不通过 → 回到步骤 2
  5. 检查是否满足完成条件
  6. 没完成 → 继续下一步;完成 → 自动停止

你偶尔用 /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,省掉的是你反复纠偏的时间。