Skip to content

卡兹克的 Agent 系统 ​

副标题:一个非专业用户用一年时间搭出的个人 Agent 自动化体系——事件中台、模型分工、自建 CI、飞书批奏折。

一句话定义(stated):把 Agent 当同事而不是工具——事件推动工作,规则决定谁来做,人只批奏折。

背景:从设计师到"自己的皇帝" ​

作者自述一年前是完全不懂开发的设计师,一年后搭起了自己的 Agent 自动化系统,做出了百万月活的公益产品 AIHOT 并开源(约 9000 star),还花了 5 天给公司做了一轮 AI 化改造。这篇文章是他对自己近一年系统的一次完整拆解。

文章的引子来自 DeepSeek 的《Super-agent 设计探索》:

一个人通常只能同时跟进 3 到 5 个活跃的会话。单任务的上限取决于模型能力,多任务的上限取决于人的注意力。

作者用朱元璋废丞相的故事做了类比:洪武十七年,八天收到 1660 件奏札、三千多件事,皇帝再勤政也顶不住,只能说出"朕一人处此多务,岂能一一周遍"。今天的 Agent 用户面对的是同一个结构性问题——所有任务的起点都是你,你不打开窗口,什么都不会发生。

他的解法不是"更努力地多开几个窗口",而是把任务发生的起点从人身上拿掉,用信号触发 Agent;Agent 能自己处理的就处理掉,只有拿不准的才升级到人。他把这种能力称为领导力。

系统全貌 ​

text
定时任务 / Webhook / 飞书 / GitHub / 邮件 / 告警
                        │ 统一事件格式
                        ▼
              ┌───────────────────┐
              │   自动化中台       │  规则匹配、去重、派单、留痕
              │   (轻量服务器)   │  rules.json
              └───────────────────┘
                        │ 长轮询接单(≤50s)
        ┌───────────────┼───────────────┐
        ▼               ▼               ▼
   Claude Code      Codex(Sol)      Codex(Terra)
   主力开发          运维 / 审查      浏览器 / 电脑操控
        │               │               │
        └───────────────┴───────────────┘
                        │ 提交 PR 后交棒
                        ▼
              ┌───────────────────┐
              │     CI 中台        │  审查→检查→合并→发布→核实
              │   (本地 M4 Mac)  │  每个任务一台全新虚拟机
              └───────────────────┘
                        │ 只有"必须拍板"的事
                        ▼
              飞书 AI 助理「小卡」→ 卡片 → 点击决策

整条链路里,人只出现在最后一步。作者称之为批奏折。

模块一:自动化中台——所有事件的唯一入口 ​

为什么需要中台 ​

事件来源五花八门:飞书消息、机器人、邮件、系统告警、GitHub 事件、定时任务。如果每接一种事件就写一套脚本,接三五个还行,接到几十个一定会乱。所以作者自建了一个很小的独立服务,部署在一台轻量服务器上,专门管理事件触发、规则匹配和结果回收,后来把定时任务也统一纳入了。

统一事件格式 ​

不管事件从哪来,进入中台时都被压成一条很短的消息,只含几样东西:

字段作用
来源哪个系统发来的
类型如 feedback.new
对象涉及哪条记录 / 哪个项目
一句话摘要足够人快速判断
回链回到原会话或原始记录的地址

例如"虚实中台发来 feedback.new #12",就是同事又提了一条新意见,编号 #12。格式统一之后,后面的规则匹配、去重、派单才有共同的判断基础。

rules.json:把"谁来做"写成配置 ​

所有规则集中在一个 rules.json 里。作者以"同事意见"为例,描述的逻辑大致是:

  • 对产品新意见、同事补充、以及已经拍过板的决定;
  • 交给 M5 上的 Claude Code;
  • 在项目代码目录里,用 hub-feedback 这个 skill 处理;
  • 给 Agent 的指令只有一句:按 skill 里对应的那一节办;
  • 每条意见单独开一轮,同一条意见同时只跑一轮,最多三条并发;
  • 做完后只在需要人决策时才通知,否则不推送。

下面是按原文描述重建的示意结构,不是原文逐字:

json
{
  "match": { "source": "hub-feedback", "type": "feedback.new" },
  "executor": "claude-code@M5",
  "model": "claude-opus-5.5",
  "cwd": "~/code/hub",
  "skill": "hub-feedback",
  "instruction": "按 skill 对应章节处理;每条意见单独一轮,同一条同时只跑一轮,最多 3 条并发",
  "notify": "decision-only"
}

长轮询:不把家里的 Mac 暴露到公网 ​

Webhook 能把消息推到中台,但中台推不到作者家里和办公室内网的 Mac。于是反过来做:每台 Mac 上跑一个接单程序,挂在 中台上等活,一次最长等 50 秒,有活立刻接走,没活就重新挂上。这样 Mac 不需要公网入口,延迟也接近实时推送。

中台带来的五个好处 ​

  1. 接新事件变简单:不用写新脚本,在 rules.json 加一条规则,几分钟生效。
  2. 换 Agent / 换模型变简单:哪类事交给谁只是规则里的一行字,出了更好的模型随时替换。
  3. 统一去重:网络抖动、同事补充说明、又贴一张图,都会产生重复事件;如果每条都叫醒 Agent,同一件事会有多个 Agent 同时改,必然冲突。中台统一去重。
  4. 单一出口:所有 Agent、所有任务要找人都只走"小卡"这一个入口,避免多个脚本、多个机器人把飞书刷屏。
  5. 数据沉淀:每件事何时来、从哪来、交给谁、结论是什么、是否需要人留意、后来怎么解决,全部留在中台数据库,还能跳回当时 Agent 干活的会话。哪条流水线最忙、哪个 Agent 干得最多、哪类事老出问题,一眼可见。

作者还做了一个可视化网页,把自动化流水线像种田游戏一样展示出来,并与现实时间和天气打通——现实下雪,自动化小镇也下雪。这是个人趣味,但也说明可观测性本身会反过来推动系统被维护。

模块二:Agent 执行——模型分工与本地部署 ​

模型分工 ​

作者的前提很现实:Token 不是无限的。即使开了 200 美元的 Claude 会员,猛用三天也能消耗近 90%。不同模型擅长的方向也不同,所以需要调度,追求整体性价比而不是单点最强。

模型角色主要工作
Claude Opus 5.5主力开发自动化开发、复杂需求、需要主观能动性和决策的活;几个核心项目的大部分代码
GPT-6.1 Sol运维 + 审查告警、每日系统日报、到期复查;查 bug 并直接修;同时负责 PR 审查
GPT-6.1 Terra浏览器 / 电脑操控操控登录好各账号的 Chrome,抓没有 API、正常拿不到的数据(平台舆情、GEO 检查)

有一条原则作者特别强调:做决策和做管理的模型,必须是智力和主动性最强的。"不能用笨逼来指挥聪明的",否则会乱套。他自己日常主动触发的任务也都交给 Claude,而不是用更弱的模型去指挥强模型。

为什么坚持本地 ​

作者有两台 Mac Mini:M5 Pro 是日常主力,M4 跑 Agent 自动化任务,两者通过局域网互通,基本都在本地,没有上云。原因有四条:

  1. 代码仓库、发布权限、飞书身份、登录好各种账号的 Chrome 全在这两台机器上;上云就要在每家云复制一份登录和权限,既麻烦又不安全。
  2. 很多国内服务在海外云端 Agent 上不可用,跨境访问北京的服务器经常慢和超时。
  3. 浏览器类任务尤其如此,微信等产品在云虚拟机浏览器里直接崩。
  4. 两台机器本来就是现成的,一直开着功耗也很低。

代价是本地机器成为单点,需要自己负责可用性、备份和物理安全。

Skill = 沉淀下来的 SOP ​

每个自动化任务基本都配一个专属 Skill。作者对 Skill 的理解很朴素:它就是沉淀给 Agent 用的 SOP,里面附带规则、参考资料和脚本。

例如每周日早上的"大扫除"定时任务,配的 Skill 写的是:把这一周合进来的屎山找出来删掉——同一件事写了两遍的、为个案打的补丁、停用了却没拆干净的、变成流水账的文档,能删的直接删掉,再上线。

好处是解耦:想改任务细节就改 Skill,不用改 Agent 执行本身的逻辑,清晰、可控、可管理。

模块三:CI 中台——Agent 的活到 PR 为止 ​

为什么要自建 ​

量太大了。仅 AIHOT 一个项目,2026 年 10 月就合入近 1000 个合并请求,平均一天二三十个,每个还要来回跑几遍检查。GitHub 自带 CI 即使开会员也只有每月 3000 分钟免费额度,按这个提交量,每月超额费用要 50 美元以上。

于是作者在闲置的 M4 Mac Mini 上自建了 CI 中台:机器现成、性能更强、在北京跑得比 GitHub 的机器快。作者也提示,如果有 Linux 机器做 CI 会更合适;ARM Mac 上是模拟环境,但对他够用。

五步流水线 ​

关键边界:Agent 的活干到"提交代码、开 PR"就结束了,它自己不能上线。 后面全部交给 CI 中台。

步骤做什么关键约束
1. Agent 审查每个 PR 合入前先过一遍 Codex(GPT-6.1 Sol)审查只读、不能改、不能联网、读不到密钥;只报真会出错的问题,不报代码风格;最多审 3 轮
2. 检查类型检查、全部测试、构建、数据库只能加不能改等硬规则任一条不过就不能合;每个任务开一台全新虚拟机,跑完连机器带身份一起删
3. 合并审查和检查都通过后由 GitHub 自动合并两项规则写死在 GitHub 上,任何 Agent、任何工具都绕不过
4. 发布合入主干后自动触发发布流程派给 M4 上单独开的发布虚拟机
5. 核实等发布流程跑完,再去线上确认当前版本已包含这次改动确认真的上线后,把结果写回 GitHub,这一轮才结束

审查的规则与数据 ​

作者借鉴了 Anthropic 的《How the Claude Code team does code review》:每个改动合并前都审,但最多审 3 次。早期也遇到过 Codex 无限挑错、审 10 轮还在磨叽的情况,所以把轮数上限写死。

审查规则同样重要:

  • 审查者只读,不能改代码;
  • 不能联网,不能读密钥;
  • 只报真会出错的问题,不报"可以写得更好"的风格问题——否则能给你挑几十条,改到天荒地老。

作者给出的两周数据(四个项目):

指标数值
审查的 PR298 个
Codex 报出的问题333 条
合并前修掉306 条
其中最严重一档51 条
单次审查中位耗时2 分多钟
审查占该任务 Token5%–15%
从交代码到上线中位耗时2–3 分钟

这套流程的核心不是"AI 审查一定比人强",而是把验收变成不可绕过的流水线:写代码的模型和审代码的模型分开,审查、检查、发布各司其职,Agent 没有直接上线的权限。

模块四:在飞书上批奏折 ​

能自动解决的都自动解决了,最后能推到人这里的,一定是需要决策或影响较大的事。

什么才配推到人面前 ​

早期踩过坑,有时一天推几十条,严重消耗注意力。现在只保留几类必须由人拍板的决策:

  • 删数据;
  • 停服;
  • 花钱;
  • 对外发消息;
  • 改产品方向;
  • 新建或轮换密钥;
  • 修改权限。

其余事情 Agent 全权做完上线。

票拟与批红 ​

作者用明代政务做类比:奏章先交内阁,大学士把处理建议写在小票上贴在奏章上,叫票拟;皇帝看一眼,同意就用红笔批下去,叫批红。

他的飞书卡片就是 Agent 写的票拟:卡片里给出背景、建议动作和选项,人只需要点击;等在审批处的 Agent 收到决策后继续干活,卡片自己改成结论。例如某天晚上有人混进 AIHOT 的飞书群、移除了推送机器人后退群,这个此前未知的漏洞触发报错,进而触发整条自动化工作流,最终给他推了一张卡片。

决定台账 ​

为了不重复打扰人,仓库里维护了两份文件:

  • 「卡兹克定的事」:只记录本人亲口做出的决定,带原话和日期;
  • 「定了不做的事」:记录被拒绝过的事情,Agent 以后再碰到直接照此回答,不再拿来问。

这本质上是把人的判断外化成可检索的策略,与 DeepSeek 把授权写成 Policy / Mandate 是同一个方向,只是个人版更轻。

唯一坚持手工的事:用户反馈 ​

有一件事作者完全没有交给 Agent:用户反馈。每一条他都亲自看,把有价值的亲手复制给 Agent 去执行,解决后给对方邮箱发一封真诚的回信。

这既是质量控制,也是一种仪式感——系统可以接管流程,但不应该接管关系。

可复用的落地清单 ​

作者反复强调这是非专业用户的个人探索,不是标准答案。但其中的顺序对普通用户很有参考价值:

阶段最小动作判断标准
1. 找事件把重复工作改成定时任务或 Webhook事情能在你不打开窗口时发生
2. 建入口所有事件先进入一个统一队列 / 中台新增来源不用写新脚本
3. 写规则用一份规则文件描述"什么事件交给谁、何时问人"换模型只改一行
4. 本地执行Agent 跑在自己的机器上,给最小权限凭证不出内网
5. 自动验收审查、测试、构建、发布都进流水线Agent 无法直接上线
6. 决策收口只保留不可逆 / 高代价 / 对外的决策给人每天打断次数可计量
7. 沉淀判断建"定的事 / 不做的事"台账同一个问题不问第二遍
8. 先观察再放开新流程先只记录"本来会做什么"行为符合预期再执行

边界与风险 ​

  • 是个人经验,不是基准测试:文章没有对照组,收益主要来自作者自己的体感与业务结果。
  • 模型与价格有时效性:文中出现的模型版本、会员价格、额度都只代表 2026 年 11 月前后的状态。
  • Token 成本真实存在:200 美元档位猛用三天消耗近九成,自动化越密,成本越需要单独核算。
  • 本地单点:两台 Mac 承担了执行、CI、凭证和浏览器身份,机器故障就是系统性故障。
  • 权限面很大:登录态 Chrome、发布权限、飞书身份集中在一处,必须靠最小权限、只读审查、临时虚拟机等手段隔离。
  • 品味依赖:什么该自动化、什么必须手工(例如用户反馈),高度依赖作者自己的判断,难以直接复制。

关联词条 ​