Claude Code Routines 实战:把 AI 编程助手变成准时的自动化同事

真实案例引入:深夜 11 点的 PR 终于有人 review 了 王海(化名)是一家中型 SaaS 公司的后端工程师。团队采用 monorepo 结构,每到周五晚上,积压的 PR 少则七八个,多则十几个。手动 review 耗时耗力,完全丢给 AI review 工具又担心质量。 他尝试的解法:用 Claude Code Routines 配置了一个每周五 20:00 自动运行的代码审查 routine。Claude 会主动拉取本周所有未合并的 PR,按模块分类,生成结构化 review 报告推送到 Slack。第二天早上,他只需要花 20 分钟过一遍 AI 的报告,重点关注高风险变更。 这不是科幻场景——这是 Claude Code Routines 已经支持的真实能力。 背景:Claude Code 不只是交互式工具 Claude Code 最早以"终端里的 AI 搭档"定位——你提需求,它在本地仓库里翻代码、写文件、跑测试。但这套模式的本质还是被动响应:你在,它才动。 2026 年 4 月 14 日,Anthropic 正式发布 Routines 功能(官方文档,HN 热度 700+),将 Claude Code 的能力边界从"交互式"扩展到"自动化"。你可以定义一组任务,让它按时间表、按 GitHub 事件、或按 API 调用触发,在 Anthropic 托管的云端基础设施上自动执行——不需要保持终端打开。 框架核心拆解 触发模型:三种自动化路径 Routines 支持三种触发机制,覆盖了开发者日常中最常见的自动化场景: ...

April 16, 2026 · 3 min · Hypho

让 AI 打工人永不宕机:OpenClaw 离散状态机架构全解

一个几乎每个团队都踩过的坑 去年年底,某中型技术团队上线了一套"AI 自动编程流水线"——基于 GPT-4 和代码仓库,每天自动完成 Issue 分解、代码编写和 PR 提交。前三天一切顺利,团队颇有成就感。 第四天早上,他们发现:Agent 在凌晨 3:17 因为一次 API 超时陷入死循环,在 Slack 群里疯狂刷屏了 400 多条错误日志,但没有任何机制让它停下来。值班工程师被叫醒后花了 2 小时才手动终止进程、清空状态、重置上下文。 这不是某家公司的个别故障。当我们把 LLM 放进一个需要长时间运行的自动化流水线时,几乎必然遇到三个结构性难题:LLM 无状态、任务周期远超单次调用时长、API 不稳定。而大多数团队用来解决这些问题的方案,要么过度依赖人工盯守,要么干脆祈祷 API 别出问题。 OpenClaw1 试图回答一个更根本的问题:如果把 AI Agent 当作一台计算机而不是聊天机器人来设计,这些问题是否可以被工程化地解决? 为什么说"AI 编程助手"这个定位错了 在深入 OpenClaw 的架构之前,需要先纠正一个常见的理解偏差。 当我们用"AI 编程助手"来描述 Claude Code、Copilot Workspace 这类产品时,隐含的假设是:人类的每一次操作,都是一次独立的、完整的会话。用户给一个指令,AI 给一个回复,结束。 但一旦你开始构建自动化流水线,这个模型立刻崩塌——因为流水线的核心特征是:异步性(任务可能跨越数小时甚至数天)、容错性(中途可能有 API 超时、网络抖动、模型幻觉)和状态持久性(下一轮执行必须知道上一轮做到哪了)。 OpenClaw 的核心洞察是:LLM 本身是一个无状态的"CPU",而不是一个有记忆的"服务器"。 因此,要构建长期运转的 AI 流水线,必须给它配上一块"硬盘"——也就是持久化的状态文件。 这就是 OpenClaw 的架构起点。 离散状态机:把连续任务切成互不干扰的阶段 OpenClaw 采用了离散状态机(Discrete State Machine)的设计思想。简单来说:它不要求 AI 在一次调用中完成整个复杂任务,而是把任务切分成多个阶段(Phase),每个阶段都有明确的输入文件、输出交付物和状态转移条件。 stateDiagram-v2 [*] --> Idle: 项目初始化 Idle --> Phase1_Architecting: 启动架构设计 Phase1_Architecting --> Phase1_Architecting: 执行中 Phase1_Architecting --> Waiting_HITL: 架构文档生成完毕 Phase1_Architecting --> SelfHeal: 超时/崩溃检测 Waiting_HITL --> Phase2_Coding: 人类批准 Waiting_HITL --> [*]: 人类拒绝 SelfHeal --> Phase1_Architecting: 重试 SelfHeal --> Phase1_Architecting: 跳过(已完成) Phase2_Coding --> Phase2_Coding: 执行中 Phase2_Coding --> Waiting_HITL: 危险操作需确认 Phase2_Coding --> Phase3_Testing: 编码完成 Phase3_Testing --> Phase3_Testing: 执行中 Phase3_Testing --> [*]: 测试通过/终止 每一轮调度(通常是 Cron 触发),Agent 醒来后第一件事不是"直接干活",而是读取状态文件,确定自己处于哪个 Phase、上一轮完成了什么、接下来该做什么。 ...

March 19, 2026 · 2 min · Hypho