AI 时代下的敏捷开发:独角兽创始人如何实现当日上线

Published in TrendAI27 May 20265 min read

The Sprint System Underneath

上周五,一个想法在午饭前浮现。到下午时分,它已成为一个可用的产品,并已部署上线,取代了我多年来一直使用的 3,997 行电子表格。

三个小时。从想法到生产环境,当日完成。

我的路线图第四阶段——为期十二个月的 Fusion Growth 愿景——悄然降临在一个个人费用追踪器上。我在 Build Log #3 中写下了那一刻。但我没有写的是,是什么让这一切成为可能。

不是更智能的 agent。这个 agent 几个月来大致相同。

其底层改变的是一个流程主干。六项运营纪律,独角兽创始人被告知在当前规模下不需要这些。

正是这些要素,将“有趣的演示”变成了“下午三点前上线”。

What Got Built

六大支柱,自 Sprint 1 以来并行强化。各自平平无奇。合力则威力无穷。

1. Sprint cadence

六天周期,周一至周六。每天结束时,在 `tos_time_log` 中记录时间日志——我做了什么,花费时间,剩余时间。每个 sprint 结束时进行回顾并重新调整 backlog。一个名为 `v_sprint_burndown` 的 Supabase view 向我展示了实际进度,而非计划进度。Solo 创始人会跳过 cadence,因为没有团队需要协调。这是错误的理由。cadence 是心跳。没有它,工作会膨胀以填满你给它的任何时间窗口。

Sprint burndown chart over six days, Monday to Saturday on the X-axis, capacity hours on the Y-axis. A dashed planned line falls diagonally from full capacity at top-left to zero at bottom-right. A solid teal “actual” line tracks just above the planned line through Wed, dips below it on Fri, lands at zero on Sat. Small dot markers on each weekday represent EOD time-log entries. Dark editorial background, white axes, teal accent for actuals, amber dot for retro marker on Saturday. Clean flat chart style.

The six-day heartbeat — burndown from `v_sprint_burndown`.

2. Lean agile

一个真实的 backlog,而非愿望清单。包含描述、成果和待办事项的 stories。下方是带有估算和实际时间的 tasks。所有这些都存在于 `projects/tri-venture-phase-01/` 下的 markdown 文件中,以及两个 Supabase 表中——`tos_task_state` 用于实时状态,`tos_time_log` 用于累计时间。BUD 门户渲染它。agent 读取它。当我说“start task E27.1-3”时,agent 已经知道 story、成果和已完成的工作。没有项目管理软件。只有 git 加上 Postgres。

Three-tier nested hierarchy diagram. Outer rounded rectangle labelled “Backlog”. Inside, three story rectangles stacked vertically — one expanded to reveal its fields: description, outcome, what-to-be-done. Underneath the expanded story, two task pills showing estimate vs actual hours. A small tag at the bottom reads “git + Postgres”. Dark editorial background, amber accent on the active story, soft white labels, subtle dotted lines connecting story → tasks. Modern flat illustration.

One real backlog. Stories carry intent. Tasks carry time.

3. CI/CD

每个项目都在 `git push` 时部署。推送到 `dev`,Cloudflare Pages 构建预览。推送到 `master`,它构建生产版本。没有发布窗口。没有手动部署。没有人为地阻碍“在我机器上能用”到“用户已上线”之间的字节流。pipeline 就是部署。taikim-finance 从本地 commit 到 `finance.taikim.com` 只需我保存文件时相同的操作。

Horizontal flow diagram. Left: a developer terminal tile showing `git push` on a dark background. Middle: a branching diagram — one arrow forks up to “dev” and one down to “master”. Right: two Cloudflare Pages tiles — “Preview” labelled `.pages.dev` and “Production” labelled `finance.taikim.com` — each with a small CF orange dot. Glowing arrows show the bytes flowing instantly with no human gate. Dark editorial background, electric blue accent on the master path, soft teal on dev. Clean modern flat illustration.*

The pipeline is the deploy.

4. QA regression

每个界面都有自己的测试套件——Next.js 应用使用 Jest 结合 React Testing Library 和 MSW,Python 服务在 s07 上使用 pytest。每次 push 都会运行测试。一个红色测试会阻止构建。这不如统一的 harness 优雅,但更真实地反映了每个应用实际的需求。当一个操作员并行交付六个界面时,regression 不是可有可无的——它是唯一能防止昨天的工作在今天的 commit 下悄然崩溃的保障。

A grid of small test-status tiles arranged in three rows of eight — most showing green ticks, with one red cross. A horizontal build-pipeline arrow runs left-to-right beneath them and visibly stops at the column with the red tile. Floating labels overhead read “Jest + RTL + MSW” (left half) and “pytest” (right half). Mood: protective, sharp. Dark editorial background, vivid green for passing tiles, accent red for the single failing test, white labels. Modern flat illustration.

A red test blocks the build. Yesterday’s work doesn’t quietly rot.

5. Codified doctrines

绑定性的架构规则,以书面形式记录,agent 无需重复询问即可应用。Thin-host doctrine:一切都在 Docker 中,host 保持最小化。Resumable-pipeline doctrine:每次提交都能在后端宕机后幸存。Web-design-defaults doctrine:每个 webapp 都应包含 back-to-top、自定义 favicon 和主题切换器。Backup doctrine、monitoring doctrine 等等。现在共有十二条。每条都是我做过一次决定,无需再争论。它们存在于 `core/operations/` 中,agent 在编写任何代码之前都会阅读它们。

A stack of twelve thin document tiles, slightly fanned, each labelled with a doctrine name (Thin-host, Resumable-pipeline, Web-design-defaults, Backup, Monitoring, and seven more). The top three are slightly raised and glow softly. A small folder icon at the side labelled `core/operations/`. An arrow flows from the top of the stack into a stylised agent silhouette on the right. Dark editorial background, violet accent on the highlighted doctrines, white labels, subtle paper-stack shadow. Modern flat illustration.

Decided once. Applied every time.

6. Persistent agent context

repo 根目录下的 `CLAUDE.md`,每次会话自动加载。`~/.claude/projects/` 下的每个项目的自动记忆。一个 `tos-docs` repo,其内容已足够丰富,可作为业务的长期记忆。结果就是我在 Build Log #3 中所说的 repeat-free working——我不再每天早上重新介绍 ventures、stack 或规则。入职成本降至零。Build Log #3 讲述了这一转变。本文则讲述了它所实现的可能性:cadence 和 discipline 最终可以复合,因为没有任何东西会在一夜之间重置。

A central glowing agent node on the right, surrounded by three orbiting tiles on the left feeding light into it. Top tile: a `CLAUDE.md` document with subtle frontmatter visible. Middle tile: a folder labelled `~/.claude/projects/` containing small memory cards. Bottom tile: a `tos-docs` repo tile thick with subdirectories (`core/`, `bau/`, `projects/`). Streams of cyan light flow from each tile into the agent. Mood: resident, embedded, settled. Dark editorial background, cyan accent, white labels. Modern flat illustration. No readable text inside files.

The agent doesn’t onboard each morning. It’s already home.

Six-pillar substrate diagram. Three pairs of columns, each labelled: Sprints / Lean Agile (left), CI/CD / QA Regression (middle), Doctrines / Persistent Context (right). Under each pillar, the actual components: tos_time_log + v_sprint_burndown | markdown stories + tos_task_state | CF Pages git-push deploy | Jest/RTL/MSW + pytest | core/operations/ doctrine files | CLAUDE.md + auto-memory. A bottom band labelled “1-day idea → production.” Above the pillars, an upward arrow into a stylised “AI Layer” block. Dark background, accent colour per pair (teal / amber / violet), white labels.

Below the AI layer — the process substrate that makes same-day possible.

The Decisions That Mattered

一些值得一提的决定:

Lean-agile lite 优于 Scrum、Jira 或 Linear。一个操作员与一个 AI agent 不需要 ticket board、仪式堆栈或分配角色。Linear 非常适合团队;当 assignee 总是你时,它的 queue 模型就会失效。Notion 页面在第三周就会腐烂。git 中的 markdown stories 加上 Supabase actuals 表,为我提供了 Scrum 中真正有用的 10%——backlog、story、task、estimate、actual、retro。agent 读取它们的方式与读取代码相同。 – 六天 sprints 优于公司默认的两周——也优于一周。对于 solo 规模来说,两周太长;burndown 在十四天中有九天是谎言。一周的 sprints 没有喘息空间,每次 retro 都会变成恐慌。六天让我每天都有 EOD log,周六的 retro 能够真正暂停,周一的重新开始感觉像是一个全新的开始,而不是宿醉。 – Git-push deploys 优于手动发布窗口或审批门控的 CI。发布窗口是团队协议,当团队只有一人时就不存在。审批门控是为了防御十分钟前不在键盘前的人——同样不存在。Cloudflare Pages 在 push 时自动部署:`dev` 到预览,`master` 到生产。唯一的门控是我输入 `git push origin master` 而不是 `git push origin dev`——这正是正确的门控。 – Per-project test suites 优于 Nx 或 Turborepo 等统一 harness。taikim-finance 和 trendmedia.au 没有任何共同点——不同的 frameworks、mocks、fixture data。强迫它们进入一个 rig 会增加我不想支付的协调成本。每个界面都有自己的 regression:Next.js 应用使用 Jest + RTL + MSW,Python 服务在 s07 上使用 pytest。不那么 DRY,但更真实,红色测试信号更快。 – Doctrines as written artifacts 优于部落知识或 wiki 页面。记忆会漂移;agent 记忆也会漂移。wiki 页面在单独的工具中腐烂,有自己的访问仪式。如果规则只存在于我的脑海或聊天记录中,下一次会话就会从头开始重新辩论——agent 一半时间会得出不同的答案。`core/operations/` 中的 doctrines 是 git 跟踪的、agent 可读的,并且在提交的那一刻就具有约束力。

What This Actually Enables

1-day-to-production 循环。不是作为噱头——而是作为工作假设。

现在,当我想到一个新工具时,我的默认期望是它今天就能上线。这个 substrate 带来了这种期望。Sprints 承载 cadence。backlog 承载 intent。CI/CD 承载字节。Tests 承载安全。Doctrines 承载架构。Persistent context 承载记忆。

agent 读取所有这些。我输入指令。工作通过 substrate,以已部署产品的形式从另一端输出。

The Thesis, Revisited

Lean agile、CI/CD、sprints、QA regression——这些是行业曾认为是企业专属的实践。对于 solo 操作员来说太重了。在你拥有团队之前无法承受的开销。

当操作员只是人类时,这是事实。当操作员是人类加上一个能同时处理所有六个支柱的 resident agent 时,这就不再是事实了。

我一直在问自己——现在也问你——这个问题:

你的业务中,你一直跳过的流程层是什么,因为你是唯一一个运营它的人?

把它加进去。你认为你无法承受的 discipline,正是让一切成为可能的东西。

从想法到生产环境的当日完成不是未来的承诺。它是 AI 底层 substrate 在你停止跳过它时悄然实现的能力。

Feature Image: A wide editorial illustration showing a solo founder at a clean home-office desk, mid-afternoon light, laptop open with a finished product on screen — calm and unhurried. Beneath the desk and floor, a subtle architectural x-ray reveals six glowing vertical pillars supporting a thin platform that the desk rests on. Each pillar is a different accent colour (teal, amber, violet, blue, green, cyan) and glows softly, with small abstract icons hinting at sprints, deploys, tests, and documents. The pillars feel structural — load-bearing, not decorative. Warm-cool palette: amber and cream above, deep blue and electric teal below. Modern flat editorial illustration with cinematic depth. No text. No readable code. Honest, grounded, optimistic. 16:9 aspect.