Knowledge

九类 AI Agent 无人值守运转软件公司全流程

九类 AI Agent 无人值守运转软件公司全流程

想法纸盒投入流水线,九只机械臂协同装配,出口送出带火箭标的应用盒

系列:Idea-to-Production · 实践篇。同系列还有《人不在环内》(概念)、《十三个阶段与它们的工件》(机理)、《文档即可执行资产》(方法论);分层背景见《为什么要拆成三个仓库》,调度机件见《无人值守调度的三件机件》。

一个人类只提供想法,系统把它交付到生产——组织图、运行手册、审计轨迹全在 git 里。这篇完整走一遍:从一条人写的任务开始,经过需求、架构、实现、测试、发布,直到产品上线并被循环照看,全程没有任何一步在等人类批准。

为什么值得看

每个”AI 帮我写 App”的演示都停在同一个地方:人还在开车。总得有人评审 PR、点部署、写发布说明、半夜看错误日志。真正有意思的问题不是”Agent 能不能写一个函数”,而是一整个交付组织能不能无人值守地运转。

我们的答案一句话:人提供想法,系统交付到生产,人不在环内。 本文不涵盖模型选型、提示词技巧和成本工程——只讲动机、最难的那个坑、让它成立的架构,并附循环运转中的真实界面。

你将学到三点

  1. 用机器关卡替代审批关卡。 等人签字的环不是自主环。质量要靠自动检查点来执行:逐交付物评审、集成面评审门、端到端测试——而不是靠会议。
  2. 任务派发分两棒,切在工件边界上。 需求产出后派发设计类任务;实现计划产出后,才派发构建、测试、发布类任务——每条任务在被创建的那一刻起就是自足可执行的。
  3. 绝不让 Agent 自己排班。 一个角色可能多实例并发,谁自己续命下一次触发,谁就在重复产出。周期性工作的所有权在中心调度器,它只推给恰好一个在线实例。

动机:为什么非要把人从环里请出去?

起点是一人公司之梦:创始人只做战略,其余一切——产品规划、架构、设计、工程、QA、发布、运营、增长、治理——是真的被完成,而不是被”辅助”。

“人不在环内”为什么是一条精确主张、而不是营销话术?因为它逼着你解决三件半自动系统永远不必解决的事:

人的固定岗位随之上移一层:在系统之上工作——读每周治理报告,改进背后的 Agent、技能、工作流与知识——而不是在系统之内当逐任务的闸门。

最大的挑战:Agent 会逐字执行文档

问题很多,但有一个压过所有其他:阶段之间的交接物是文档,而 Agent 会把文档逐字执行——包括其中的歧义。

当”写给人类看的架构文档”变成下一个 Agent 的输入,我们付出的学费是:

对策最终沉淀成四条不容协商的不变式:

不变式 它强制了什么
文档先行 文档先于兑现它的实现而变化;文档与代码的漂移是 bug,不是杂务
术语一次定死 角色 ID、阶段字母、任务词汇表只定义一处;改名必须跨仓库清扫
每阶段具名工件契约 每个阶段消费与产出具名工件(requirement.md → solution.md → plan.md → 代码 → 发布)——这就是 Agent 之间的 API
只追加审计 每次认领、释放、过期、作业运行都记录在案、永不改写——环必须在事后依然可追问

给所有在建 Agent 管线的人的通用教训:把文档当代码对待。它们有类型化的接口、会藏 bug、而且真有人会去生产环境里运行它们。 在我们的案例里,那个”有人”一周 7 天、一天 24 小时地跑。

它是怎么工作的

三个仓库,三种职责

系统按变化速度和所有权切分:

仓库 本质 公司类比
知识层 角色定义、技能、阶段工作流、领域知识——纯内容,客户端无关 员工手册
调度层 控制中心(项目、任务、原子认领锁、作业运行器、审计)+ 工作实例客户端(拉任务 → 拼提示词 → 启动 AI CLI) 办公室与工单系统
档案层 开发期草稿、已发布应用文档、运行报告、任务模板 档案室与橱窗

知识层说”下一步做什么”,调度层说”哪个实例、什么时候、且只有一个工人去做”,档案层存”做出了什么”并喂给下游。

九个角色,一块任务看板

创始人坐在战略位,之上是九个专职角色 Agent:产品与项目管理、工程架构、全栈工程、UI/UX 与文案、QA 与发布、服务与数据运营、市场与增长、行政与财务,外加平台侧负责锁回收与失联标记的看门狗哨兵。每个角色以一个或多个工作实例运行——按角色绑定 Agent、技能、工作流、知识库(符号链接,绝不复制,改动即时生效),背后接哪家 AI CLI 由你配置。

生命周期:从想法到生产的十三个阶段

工作沿 A–M 阶段流动:需求 → 架构与 UI 设计(并行)→ 详细设计 → 测试策略 → 实现规划 → 仓库脚手架 → 实现 → 端到端测试 → 发布 → 运营与增长报告。每个阶段各有一种文档工件、一份自己的工作流文件。

没有人类在场,靠两个机制让循环保持诚实:

两棒派发:让”一条人类任务”够用的一招

人类只写一条任务。项目管理 Agent 随后分两棒派发其余一切:

人类 ──► [阶段 A 任务] ──► requirement.md
                                 │
                    ┌── 第一棒:派发设计与脚手架 ──┐
                    │   B ∥ C → D → E → H → F      │
                    └──────────────┬────────────────┘
                                   │ plan.md + 仓库骨架就绪
                    ┌── 第二棒(带依赖) ───────────┐
                    │  I 实现任务(按特性,来自 plan.md)│
                    │  J E2E 任务(按特性,Depends On I)│
                    │  K 发布任务(Depends On I + J)    │
                    └──────────────┬────────────────┘
                                   ▼
                            终端用户(生产环境)

实现任务在 plan.md 存在之前根本无法有意义地撰写——而 plan.md 又依赖全部上游设计完成。把派发切在 requirement.md / plan.md 的工件边界上,保证每条任务出生即自足。每个特性的 E2E 任务在该特性真实 UI 完成的那一刻解锁——QA 从不需要等整个应用构建完。

发布不是终点

Initial Launch 之后,常驻循环接管——全部由中心推送,没有一个自己续命:

循环 节奏 负责角色
客户 issue 分诊 → 任务 每日 项目管理
PR 质量巡检 每日 架构
E2E 门禁(仅当代码有变更) 每日 QA
迭代发布(零变更自动跳过) 每月 1 日、15 日 QA
运营 / 增长 / 健康报告 双周派发、7 天窗口 运营与增长
治理报告 每周 行政
事故响应与自主回滚 严重违规触发 QA

客户在第 3 天报的 bug,随第 15 天的发布上线。issue 的关闭是两阶段的——修复提交只打 fix-applied 标签,真正关闭发生在携带该修复的发布完成时:客户永远不会被告知一个还下载不到的”已修复”。

界面实拍:概念落到运行系统里

准备阶段是每台工作站一次性投入:为每个角色建实例、绑定资源、注册启动,之后舰队按角色自行领活。

一台工作站上按角色运行的多实例舰队:每个角色绑定自己的 Agent、技能与工作流

人类的全部贡献:先创建项目——

在控制中心创建项目:人类贡献的第一步

再写那条唯一的”想法转需求”任务:

撰写唯一的人类任务:想法转需求,此后再没有一步等待人类批准

从此看板自己长满:

由 Agent 派发并推进的任务看板:在人类零干预下自己长满

你可以旁观一个 Agent 的工作现场——实时的工具调用与进程状态:

任务执行中的实时状态流:工具调用与进程状态可实时旁观

落地后自动给出运行摘要——耗时、写入文件、最终报告:

任务完成后的运行摘要:耗时、写入文件与最终报告自动落地

控制中心仪表盘一眼看清循环现状——任务按状态与角色分布、在线实例、今日过期锁:

控制中心仪表盘:任务按状态与角色分布、在线实例与今日过期锁一眼看清

最后一段流程动画,完整回放第一跳”想法到需求”的端到端过程:

想法到需求第一跳的端到端回放:从人写任务到 requirement.md 产出

取舍与诚实的边界

总结

  1. 把人请出环不是目的,是逼迫器。 没人可签字之后,质量被迫机器化、排班被迫中心化、观测被迫内置化——这三样才是真正赚到的东西。
  2. 最值得直接搬走的原则是”文档即可执行资产”。 当 Agent 逐字消费你的规格,歧义就是生产缺陷——给你的文档一个类型化接口,把漂移当 bug 修。
  3. 对你自己的工作该问的那个问题:哪一个人类动作,如果写得好,能让整条管线从它生长出来?先把它之后的派发自动化掉,再在你今天停下来等批准的位置,逐一补上机器关卡。

📖 Read in English

← Back to all articles