2026年6月15日 2 分钟阅读

跑 3 个 AI 编码 Agent 24/7?这里有一份实战指南

tinyash 0 条评论

单个 Claude Code 或 Codex CLI 已经能帮你写不少代码了。但如果你想让 3 个(甚至更多)AI 编码 Agent 同时、不间断地干活呢?这可能听起来像科幻,但实际上今天的基础设施已经准备好了。

最近 HN 上一位开发者分享了他连续 3 天同时运行 3 个 AI 编码 Agent 的经验。本文把他的方案拆解为 7 个关键技术步骤,从 headless 模式到成本优化,让你也能搭建自己的 24/7 AI 开发团队。

问题:订阅额度 30 分钟烧光

先讲一个现实问题。3 个 Agent 同时工作,Claude 的 $200 订阅额度(Pro/Pro Max)可能在 30 分钟内烧光——即使切到 Sonnet 4.6 也一样。API 按 token 计费的价格比订阅贵约 40 倍。

作者的解决方案很聪明:

  • 用最强模型(Fable 5 / Sonnet)做分析、设计、拆任务
  • 用本地模型(Qwen3.6:36B + Ollama)做执行——免费但慢
  • 用强模型验证工人成果,发现问题时创建新修复任务

这套三层架构让 $200 的额度可以撑几天,而非 30 分钟。

第一步:Headless 模式 — 给 Agent 去掉交互界面

要让 Agent 24/7 运行,第一件事就是让它不需要人盯着终端敲回车。AI 编码工具都有 headless 模式:

工具Headless 参数
Claude Codeclaude -p "你的指令"
Codex CLIcodex --exec "指令"
OpenCodeopencode run "指令"

-p / --exec / run 的区别:Claude Code 的 -p 标志会直接执行单条指令然后退出;Codex 的 --exec 类似;OpenCode 的 run 子命令则更适合在脚本中调用。不管用哪个,核心目标是一样的——脚本式调用,无需人工交互。

第二步:Ask Human — 解决 Agent 卡住的问题

Headless 模式有个致命问题:Agent 遇到需要用户确认的事情会卡住。上次睡觉前让它跑自动化,结果凌晨 3 点它在等你回一句”yes”——这就是为什么需要专属的 Ask Human MCP 工具。

作者实现了一个 MCP Server(github.com/sermakarevich/claude/tree/main/mcp/ask_human),作用很简单:

  1. Agent 需要确认时,调用 ask_human 工具
  2. 消息被发送到 Telegram(或其他通知渠道)
  3. 你可以在手机上回复,回复内容自动返回给 Agent

这样即使你在睡觉,Agent 也能在早上收到你的回应继续工作。

第三步:Beads — Agent 的任务队列

3 个 Agent 同时工作,必须解决一个核心问题:任务分配和冲突避免。多个 Agent 抢同一个任务怎么办?一个任务被重复执行怎么办?

作者的方案是 Beads — 一个轻量级分布式图谱任务追踪器,底层使用 Dolt(Git 风格的 SQL 数据库)。Beads 的核心功能:

  • 创建任务时定义依赖关系(task A → task B → task C)
  • 每个任务有状态(pending / in_progress / done / failed)
  • 优先级排序
  • 自动去重:一个任务不会被多个 Worker 同时认领
  • 层级结构:父任务可包含多个子任务
beads task create "实现用户登录模块" --depends-on "设计数据库Schema"
beads task list --status pending --limit 5
beads task claim TASK-0042 --worker worker-1

这套机制保证了即使 3 个 Worker 同时在线,也不会出现”撞车”或重复劳动。

第四步:Worker Artifacts — 记录中间状态

如果 Worker 在运行中途被重启(机器重启、进程被杀、模型 OOM),它能不能从断点恢复?

答案在于 Worker Artifacts。每个任务对应一个独立的文件夹,里面存放:

.beads/TASK-0042/
├── plan.md          # 实现计划
├── status.md        # 当前状态
├── knowledge.md     # 已发现的知识
├── events.jsonl     # 事件日志
└── stderr.log       # 错误输出

Worker 的 prompt 里明确指令:启动时先检查 artifacts 文件夹是否存在,如果存在则从中恢复进度。这样即使 Worker 崩溃重启,阅读 plan.md 和 events.jsonl 就能接上之前的工作。

第五步:Git Worktree — Worker 隔离

3 个 Agent 同时在同一个仓库里写代码,会互相覆盖吗?会的。这就是 Worker 隔离的必要性。

作者的方案是 Git Worktree——Git 原生的多工作目录功能。工作流如下:

  1. Worker A 拿到任务,在专属 worktree 中实现
  2. Worker A 提交 PR/完成通知
  3. Worker B(自动触发)在另一个 worktree 中验证实现、运行测试
  4. Worker B 如果测试通过,将 worktree merge 回主分支
  5. Worker B 创建修复/改进的新任务
git worktree add ../project-worker-001 feature/login-module
cd ../project-worker-001

为什么不用分支(branch)?因为多个 Worker 同时 checkout 不同分支时,主工作目录的 git index 会被频繁重写。worktree 让每个 Worker 拥有完全独立的目录和 index,不会互相干扰。

第六步:简单编排器 — 让它们自动化循环

有了 Beads、Artifacts、Worktree,还需要一个 Orchestrator(编排器) 来管理整个流程。作者的做法出奇地简单——一个 无限循环脚本

#!/bin/bash
while true; do
  # 检查 Beads 中是否有待处理的任务
  NEXT_TASK=$(beads task list --status pending --limit 1 --format json)
  if [ -n "$NEXT_TASK" ]; then
    # 启动 Worker(可以是任意编码工具)
    claude -p "请实现 Beads 任务 $(echo $NEXT_TASK | jq -r '.id')"
  fi
  sleep 30  # 每 30 秒检查一次
done

这个编排器可以运行在后台(tmux / screen / systemd 服务),持续监控 Beads 并触发新的 Worker。

第七步:Coder Agnostic — 不绑定单一工具

最后一层抽象:Worker 不关心你用哪个 AI 编码工具。同一个编排器可以混用 Claude Code、Codex CLI、OpenCode 甚至本地模型。作者的经验是:

  • Claude Code:最擅长复杂分析和设计任务
  • Codex CLI:适合标准化编码任务(生成模板代码、写测试)
  • OpenCode:适合验证和重复性调试
  • 本地 Qwen3.6:适合简单但量大的执行任务(免费)
case $TASK_TYPE in
  "design")    worker="claude -p" ;;
  "implement") worker="codex --exec" ;;
  "test")      worker="opencode run" ;;
  "fix")       worker="claude -p" ;;
esac

成本优化策略

跑 3 个 Agent 最大的挑战是成本。以下是几种方案对比:

方案月费用速度质量
纯 API(Sonnet 4.6)$1000+
Claude Pro + 本地 Qwen$200 + $0中-高
Bedrock Qwen(按 token)~$200
租 96GB GPU~$1400/月高(可跑大模型)

作者的推荐:强模型 → 本地模型 → 强模型的三层架构,用 Claude Pro 的额度做分析和验证,用 Ollama + Qwen3.6:36B 做执行层——2 张 GPU 卡共 36GB 显存足以运行 256K 上下文窗口。

一件事:何时让人介入

HN 评论里有人点出了一个关键问题:最难的不是编码,而是编排、审批和判断何时让人接手。即使最聪明的 Agent,也会遇到:

  • 需要访问生产数据库的权限审批
  • 涉及法律/合规的决策
  • 架构方向的选择(多个方案需要人类判断)

这就是 Ask Human MCP + Telegram 集成的价值所在——Agent 做能做的事,关键节点交给人判断,不会因为等人而阻塞整个流水线。

总结

24/7 多 Agent 编排不再是理论。本文的 7 步方案——Headless 模式、Ask Human、Beads 任务队列、Worker Artifacts、Git Worktree 隔离、简单编排器、Coder Agnostic 设计——构成了一套可以立刻上手的实战框架。

关键是拥抱一个理念:强模型做设计,弱模型做执行。让 $200 的额度撑几天而非半天,让本地免费的模型承担 80% 的编码量。当你早上醒来,看到 3 个 Agent 已经通宵完成了 2 个 feature、修复了 3 个 bug 的时候——你会觉得这套设置值得。

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。