凌晨3点,你的GitHub仓库还在冒绿点。不是你在加班,是一个bash脚本在替你打工。
Mario Hayashi,前Google工程师、现独立开发者,最近公开了他的「单兵作战」配置:用cron定时任务、tmux会话管理和Claude(Anthropic的AI助手),搭了一条能自主选题、写代码、开PR、处理评审意见的完整流水线。他管这叫「Ralph循环」——名字借自Geoffrey Huntley的开源方案,核心逻辑简单粗暴:任务→实现→测试→提PR→清空上下文,周而复始。
为什么不是直接用Cursor或Devin?
Hayashi的答案是隔离。不是隔离人与机器,是隔离机器的每一步。
他把流程切成四个独立阶段:规划、构建、测试、验证。每个阶段有明确的输入输出,能单独失败、单独重试,不会牵一发而动全身。「Agent擅长短平快的任务,范围一扩就崩。结构比模型大小更重要。」他在博客里写得很直白。
这套思路和他之前做的Xero费用审计CLI一脉相承:先搭好代码框架和规则边界,再把模型塞进去。顺序不能反。很多人反着来——先让AI写,再人工擦屁股——结果越擦越脏。
具体实现上,tmux负责给每个阶段开独立会话,cron负责定时唤醒,bash脚本负责串流程。Claude Code(Anthropic的终端AI工具)作为执行终端,按结构化提示词干活。所有「记忆」存在git提交记录和结构化文件里,不在模型的上下文窗口里。
「失败安全」比「一次成功」更重要
Hayashi反复提一个词:fails safely(安全失败)。
他的流水线设计里,每个环节都能优雅挂掉。测试没过?回滚到上一步。代码风格不对?触发lint检查并自动修复。Claude生成的实现和任务描述对不上?直接拒掉,发通知等人类介入。「我负责决定做什么、合不合并。中间的一切,能自动就自动。」
这套机制跑通后,他的日常变成了:早上扫一眼Claude昨晚开的PR列表,审代码、给反馈、点合并。复杂需求手动拆成子任务丢进队列,简单bug修复完全放手。相当于雇了一个不会累、不会抱怨、但偶尔会犯蠢的初级工程师——而且时薪按API token计费。
有个细节很有意思:他坚持每次迭代后清空上下文。不是舍不得token,是怕模型「记住」太多反而跑偏。git才是唯一可信的状态源。这和当下很多「智能体」追求长记忆、多轮对话的产品路线截然相反。
单人团队的规模悖论
Hayashi的配置暴露了一个正在被验证的假设:小团队的瓶颈从「写代码的人手不够」转向了「代码写完后谁来看」。
他的流水线解决了前半段,后半段仍卡在自己身上。PR可以批量开,但合并前的代码审查没法批量做。这也是他没把这套系统叫「全自动」而是「自主」的原因—— autonomy(自主性)和automation(自动化)之间,差着一个人类判断的缝隙。
目前这套脚本还在频繁迭代。他每发现一次边界情况就改一次prompt,每遇到一次幻觉就加一层校验。用他自己的话说:「还在flux(流动状态),这篇博客只是今天的快照。」
开源社区的反应两极。一部分人觉得这是「 vibe coding」的终极形态——用氛围感写代码,人类只负责拍板;另一部分人质疑,当调试成本超过省下来的时间,这套系统会不会变成新的技术债。Hayashi没回应这些争论,他的GitHub仓库最近三个月提交了47次,全是给Ralph循环打补丁。
如果你也是一人公司,会愿意把凌晨的绿点交给一个bash脚本吗?还是宁可自己熬着,至少知道哪行代码为什么崩?
热门跟贴