virgo777/buddyme/autonomous-loops
Claude Code and agent skill by virgo777/buddyme
- community
Checking that the SKILL.md file is still in the repository.
自主运行 Claude Code 循环的模式与架构 —— 从简单的顺序流水线到 RFC 驱动的多智能体 DAG 系统。
Install
npx vskill@latest install virgo777/buddyme/autonomous-loopsSKILL.md
自主循环技能 (Autonomous Loops Skill)
用于自主运行 Claude Code 循环的模式、架构和参考实现。涵盖了从简单的 claude -p 流水线到完整的 RFC 驱动多智能体(multi-agent)DAG 编排的所有内容。
适用场景
- 设置无需人工干预即可运行的自主开发工作流(Workflows)
- 为你的问题选择合适的循环架构(简单 vs 复杂)
- 构建 CI/CD 风格的持续开发流水线
- 运行具有合并协调机制的并行智能体(Agents)
- 在循环迭代之间实现上下文(Context)持久化
- 为自主工作流添加质量门禁(Quality gates)和清理环节
循环模式频谱 (Loop Pattern Spectrum)
从最简单到最复杂:
| 模式 | 复杂度 | 最适用于 | |
|---|---|---|---|
| 顺序流水线 (Sequential Pipeline) | 低 | 日常开发步骤、脚本化工作流 | |
| NanoClaw REPL | 低 | 交互式持久化会话 | |
| 无限智能体循环 (Infinite Agentic Loop) | 中 | 并行内容生成、规约驱动的工作 | |
| 持续 Claude PR 循环 (Continuous Claude PR Loop) | 中 | 带有 CI 门禁的多日迭代项目 | |
| 去杂质模式 (De-Sloppify Pattern) | 附加项 | 任何实现步骤后的质量清理 | |
| Ralphinho / RFC 驱动的 DAG | 高 | 大型功能、带合并队列的多单元并行工作 |
1. 顺序流水线 (Sequential Pipeline, claude -p)
最简单的循环。 将日常开发分解为一系列非交互式的 claude -p 调用。每次调用都是一个带有明确提示词(Prompt)的专注步骤。
核心见解
如果你无法理解这样的循环,那就意味着你甚至无法在交互模式下驱动 LLM 修复你的代码。
claude -p 标志(flag)以非交互方式运行 Claude Code 并提供提示词,完成后退出。通过链式调用构建流水线:
关键设计原则
- 每个步骤都是隔离的 — 每次
claude -p调用都有一个新的上下文窗口(Context window),这意味着步骤之间不会有上下文污染。 - 顺序很重要 — 步骤按顺序执行。每一步都建立在前一步留下的文件系统状态之上。
- 负面指令是危险的 — 不要说“不要测试类型系统”。相反,添加一个单独的清理步骤(参见 去杂质模式)。
- 退出码会传播 —
set -e会在失败时停止流水线。
变体
使用模型路由 (Model Routing):
带有环境上下文:
带有 `--allowedTools` 限制:
2. NanoClaw REPL
ECC 内置的持久化循环。 一个具有会话意识的 REPL,它同步调用 claude -p 并带有完整的对话历史。
工作原理
- 从
~/.claude/claw/{session}.md加载对话历史。 - 每个用户消息都会发送给
claude -p,并将完整历史作为上下文。 - 响应会追加到会话文件(Markdown 作为数据库)。
- 会话在重启后依然持久存在。
NanoClaw 与顺序流水线对比
| 使用场景 | NanoClaw | 顺序流水线 | |
|---|---|---|---|
| 交互式探索 | 是 | 否 | |
| 脚本自动化 | 否 | 是 | |
| 会话持久化 | 内置 | 手动 | |
| 上下文累积 | 随轮次增长 | 每个步骤都是新的 | |
| CI/CD 集成 | 较差 | 优秀 |
详见 /claw 命令文档。
3. 无限智能体循环 (Infinite Agentic Loop)
双提示词系统,用于协调并行子智能体(sub-agents)进行规约驱动的生成。由 disler 开发(致谢:@disler)。
架构:双提示词系统
模式
- 规约分析 — 编排器读取定义生成内容的规约文件(Markdown)。
- 目录侦察 — 扫描现有输出以找到最高的迭代编号。
- 并行部署 — 启动 N 个子智能体,每个子智能体都获得:
- 完整的规约
- 唯一的创意方向
- 特定的迭代编号(无冲突)
- 现有迭代的快照(用于确保唯一性)
- 波次管理 — 对于无限模式,部署 3-5 个智能体为一个波次,直到上下文耗尽。
通过 Claude Code 命令实现
创建 .claude/commands/infinite.md:
调用:
分批策略
| 数量 | 策略 | |
|---|---|---|
| 1-5 | 所有智能体同时运行 | |
| 6-20 | 每批 5 个 | |
| infinite | 3-5 个一波,逐步提升复杂度 |
关键见解:通过分配确保唯一性
不要指望智能体自我区分。编排器会分配给每个智能体特定的创意方向和迭代编号。这可以防止并行智能体之间出现重复的概念。
4. 持续 Claude PR 循环 (Continuous Claude PR Loop)
生产级 Shell 脚本,在持续循环中运行 Claude Code,创建 PR、等待 CI 并自动合并。由 AnandChowdhary 开发(致谢:@AnandChowdhary)。
核心循环
安装
使用
跨迭代上下文:SHARED_TASK_NOTES.md
关键创新:一个在迭代之间持久存在的 SHARED_TASK_NOTES.md 文件:
Claude 在迭代开始时阅读此文件,并在迭代结束时更新它。这弥合了独立 claude -p 调用之间的上下文差距。
CI 失败恢复
当 PR 检查失败时,Continuous Claude 会自动:
- 通过
gh run list获取失败的运行 ID。 - 使用 CI 修复上下文启动一个新的
claude -p。 - Claude 通过
gh run view检查日志、修复代码、提交并推送。 - 重新等待检查(最多重试
--ci-retry-max次)。
完成信号
Claude 可以通过输出一个魔术短语来发出“我完成了”的信号:
连续三次迭代发出完成信号将停止循环,防止在已完成的工作上浪费额度。
关键配置
| 标志 (Flag) | 用途 | |
|---|---|---|
--max-runs N | 在 N 次成功迭代后停止 | |
--max-cost $X | 花费 $X 后停止 | |
--max-duration 2h | 经过指定时间后停止 | |
--merge-strategy squash | 合并策略:squash, merge, 或 rebase | |
--worktree <name> | 通过 git 工作树并行执行 | |
--disable-commits | 演练模式(不进行 git 操作) | |
--review-prompt "..." | 为每次迭代添加审查者阶段 | |
--ci-retry-max N | 自动修复 CI 失败(默认:1) |
5. 去杂质模式 (The De-Sloppify Pattern)
适用于任何循环的附加模式。 在每个实现者(Implementer)步骤之后添加一个专门的清理/重构步骤。
问题所在
当你要求 LLM 通过 TDD 实现功能时,它对“编写测试”的理解可能过于死板:
- 测试 TypeScript 的类型系统是否工作(测试
typeof x === 'string') - 为类型系统已经保证的事情编写过度防御性的运行时检查
- 测试框架行为而不是业务逻辑
- 过度的错误处理掩盖了实际代码
为什么不使用负面指令?
在实现者提示词中添加“不要测试类型系统”或“不要添加不必要的检查”会有副作用:
- 模型会对所有测试都变得犹豫不决
- 它会跳过合理的边界情况测试
- 质量会不可预测地下降
解决方案:独立的清理阶段
与其限制实现者,不如让它彻底发挥。然后添加一个专注的清理智能体:
在循环上下文中使用
关键见解
与其添加会影响下游质量的负面指令,不如添加一个独立的去杂质阶段。两个专注的智能体优于一个受限的智能体。
6. Ralphinho / RFC 驱动的 DAG 编排 (RFC-Driven DAG Orchestration)
最复杂的模式。 一个由 RFC 驱动的多智能体流水线,它将规约分解为依赖 DAG(有向无环图),通过分层质量流水线运行每个单元,并通过智能体驱动的合并队列(Merge queue)落地。由 enitrat 开发(致谢:@enitrat)。
架构概览
RFC 分解
AI 阅读 RFC 并生成工作单元:
分解规则:
- 倾向于更少且内聚的单元(尽量减少合并风险)
- 尽量减少跨单元的文件重叠(避免冲突)
- 将测试与实现保持在一起(绝不要将“实现 X”和“测试 X”分开)
- 仅在存在真实代码依赖时才建立依赖关系
依赖 DAG 决定执行顺序:
复杂度层级 (Complexity Tiers)
不同的层级对应不同的流水线深度:
| 层级 | 流水线阶段 | |
|---|---|---|
| trivial (琐碎) | 实现 → 测试 | |
| small (小型) | 实现 → 测试 → 代码审查 | |
| medium (中型) | 调研 → 计划 → 实现 → 测试 → PRD 审查 + 代码审查 → 审查修复 | |
| large (大型) | 调研 → 计划 → 实现 → 测试 → PRD 审查 + 代码审查 → 审查修复 → 最终审查 |
这可以防止在简单的更改上进行昂贵的操作,同时确保架构更改得到彻底审查。
独立的上下文窗口 (消除作者偏见)
每个阶段都在自己的智能体进程中运行,具有自己的上下文窗口:
| 阶段 | 模型 | 用途 | |
|---|---|---|---|
| 调研 | Sonnet | 阅读代码库 + RFC,生成上下文文档 | |
| 计划 | Opus | 设计实现步骤 | |
| 实现 | Codex | 按照计划编写代码 | |
| 测试 | Sonnet | 运行构建 + 测试套件 | |
| PRD 审查 | Sonnet | 规约合规性检查 | |
| 代码审查 | Opus | 质量 + 安全检查 | |
| 审查修复 | Codex | 处理审查中发现的问题 | |
| 最终审查 | Opus | 质量门禁(仅限大型层级) |
核心设计: 审查者绝不是编写代码的人。这消除了作者偏见(author bias)—— 这是自我审查中最常见的疏漏来源。
带有剔除机制的合并队列 (Merge Queue with Eviction)
质量流水线完成后,单元进入合并队列:
文件重叠智能:
- 非重叠单元以推测方式并行落地
- 重叠单元逐个落地,每次都进行变基
剔除恢复: 被剔除时,完整的上下文(冲突文件、diff、测试输出)会被捕获,并在下一次 Ralph 循环中反馈给实现者:
阶段间的数据流
工作树隔离 (Worktree Isolation)
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingbuddyMe/skill_library/skills/autonomous-loops/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/virgo777/buddyme/autonomous-loops)