推出 Tenex 的公民开发者 SDLC,这是一个六阶段生命周期,将非技术员工用 AI 构建的内容从个人原型转化为整个公司可以依赖的生产级产品。
作者:Alex Lieberman([@businessbarista](https://x.com/@businessbarista))、Arman Hezarkhani([@ArmanHezarkhani](https://x.com/@ArmanHezarkhani))、Suchi Patel、Ashwin Kadaru([@AshwinKadaru](https://x.com/@AshwinKadaru))
一个 [Tenex.co](https://tenex.co/) 框架。
TLDR 快速总结
公民 SDLC 是一个六阶段生命周期(创意、统一入口、分类、预配置、构建、运行与变更),它将非技术员工用 AI 构建的软件从个人原型转化为受管控的生产级产品。贯穿整个生命周期有一条原则:AI 负责劳动,确定性代码设定防护栏,人类处理例外情况。它的存在是因为 AI 将编写代码的成本降至几乎为零,并将瓶颈转移到下游——确保所构建的内容是可靠的,并在上线后对不断增长的应用群进行管控。
我们的一位客户是一家投资公司。其投资组合运营团队的一名成员(从未编写过一行代码)构建了一个仪表盘,现在她整个团队每天使用。该仪表盘跟踪数十家投资组合公司的价值创造工作。她通过提示 Claude 来构建,迭代了大约两个月。每一行代码都由 AI 编写。
而且效果很好。视图正确,工作流程符合团队实际运作方式,采用率立竿见影。她在任何工程师介入之前就勾勒出了正确的产品。
这并非运气。几十年来,理解业务问题的人几乎从来不是能构建软件来解决问题的人。弥合这一差距是一项艰巨的任务:产品经理将她的问题转化为规格说明,工程师将规格说明转化为代码,还要在路线图上排在所有其他任务之后。从想法到工具,数月过去了,最终交付的是别人对她意图的诠释。
这一差距刚刚被打破。构建能力已转移到真正理解流程、了解数据含义并每天沉浸在工作流程中的人手中。她第一次就构建了正确的东西,因为她就是源头。没有人站在中间翻译她的话,也没有人曲解她的意思。这是公民开发的承诺,她兑现了。
然后我们看了下内部结构。
整个应用程序是一个 HTML 文件。540 KB。大约 5,300 行。主数据集作为一个 80 KB 的数据块存在于一行中。当文件需要更新时,AI 附加了补丁函数,每次应用加载时都会重写值。保存工作意味着应用重写自己的 HTML,下载到你的笔记本电脑,然后你以新版本的形式重新上传到共享驱动器。如果两个人同时编辑,最后保存的胜出,另一个人的编辑会消失。
有一天,一个保存函数在文件中寻找一个标记,没找到,然后它将其拥有的内容写回。整个 540 KB 的应用程序被截断为 7 字节。在一次无声的写入中,她团队每天依赖的仪表盘消失了,而构建它的方式没有任何机制来捕获、阻止或恢复它。
大多数领导者听到这个故事后,会认为公民开发是一种需要关闭的负债。我们认为这是错误的教训,据此行动的公司将会失败。正确的教训是:她出色地完成了自己的工作。没有人建造出软件可以上线的道路。
瓶颈转移了
几十年来,构建软件一直是昂贵的部分。它缓慢、稀缺且昂贵,整个软件开发生命周期就是为了保护它而发展起来的。规格说明、工单、冲刺、代码审查:传统 SDLC 中的每个仪式都存在,因为编写代码是瓶颈。
AI 将这个阶段压缩到几乎为零,瓶颈已经转移。当任何人都可以在一个下午构建一个可用的应用时,昂贵的工作不再是构建。而是之后的事情:确保所构建的内容可靠且安全,并在上线后对不断增长的应用群进行管控。

GIF
而构建不会放缓,这产生了两个需要解决的问题:
第一,内部质量。非工程师从空白页面提示一个 Agent,会收敛到一种今天能用但永远无法维护的 hacky 软件。540 KB 的文件并非异常,而是在没有护栏的情况下构建的默认输出。
第二,蔓延。每个团队都想要自己的应用,而没有一个中央 IT 团队可以手动构建和运营数十个应用。没有护栏,每个应用都会根据构建者或模型选择的任何技术栈来构建:不同的数据库,不同的认证方案,秘密随意存放在任何地方。如果阻止这些请求,它们不会停止,只会转入地下。无论哪种方式,你继承的不仅是一个应用群,还有它们下面混乱的基础设施,而 IT 无法合理保护、支持或解释其中任何一个。
所以每个公司都将面临一个真正的问题:如何让非技术人员交付真正的内部软件,而不用继承这个应用群?
三个默认答案都失败了:
1) 封锁。 请求排队,耐心耗尽,影子应用仍然会被构建。现在你什么都看不到。你看不到的东西就无法管控。
2) 放任不管。 让非工程师使用没有结构的 AI 工具,并庆祝这些演示。这就是你得到 540 KB 文件的方式。而且你无法事后通过审查来解决。当一个单体文件出现在代码审查中时,它已经是单体了。必须在起点就防止它。
3) 审查所有内容。 对每个变更都设置人工审批。你的 IT 团队人手不足,构建量正在爆炸式增长,现在每次部署都要等待审查者的日程。审查要么扼杀采用率,要么变成橡皮图章。两种结果都违背了目的。
所以答案不是另一份政策文档,而是一个生命周期:一个真正的 SDLC,专为永远不会自称开发者的人设计,将护栏构建到平台中,而不是写在备忘录里。一条道路,将构建从第一个简单的语言创意一直带到受管控的生产环境,而无需要求构建者成为工程师。人提供意图;平台提供纪律。
贯穿每个阶段的一个原则是:AI 负责劳动,确定性代码设定防护栏,人类处理例外情况。 AI 起草、分类和编写。代码决定什么被允许。人只在真正需要判断的地方被投入。记住这个分工;这是让整个体系可扩展的关键。
我们称之为公民 SDLC。六个阶段,每个阶段都受管控。

第一阶段
创意
一个人用简单的语言描述应用,借助 AI 的帮助:它做什么,谁使用它,它接触什么数据,谁拥有它。只需几分钟,读起来像一份备忘录。它同时作为所有下游工作的简要说明。这是运营模式的第一个动作:AI 将一段杂乱的想法转化为结构化的工件。
以下是实际的样子。基金财务部门的人输入:“我想要一个资本催缴通知的追踪器。现在是一个电子表格,我手动更新,每周五通过邮件发送。” AI 会问一个入职分析师会问的问题。还有谁需要看到它?基金财务和投资者关系部门的十二个人。数据今天存在哪里?Box 中的一个电子表格,只读就行。你不在时谁拥有它?她的经理。杂乱的想法变成了简要说明:目的、用户、数据源、访问级别、所有者,甚至对应用形态的初步猜测。一个 PRD(产品需求文档),实际上,由从未听说过 PRD 一词的人编写。

GIF
目前什么都没有。没有代码,没有访问权限,没有基础设施。这是故意的:公司在应用存在之前就形成了对其的看法,而不是在它成为关键支撑六个月之后。
第二阶段
统一入口
每个请求都通过一个结构化的统一入口,提交的同一动作直接将其放入分类流程。简要说明既是请求,也是 IT 看到的工单、永久记录,以及每个人都可以搜索的目录中的条目,同时完成。没有走廊里的请求,没有人情,没有影子管道。你看不到的东西就无法管控,你找不到的东西就无法分享。统一入口从第一天起就让这两点成立。
这个阶段消灭了影子管道。跳过统一入口的构建仍然可以在笔记本电脑上作为原型存在,但也就到此为止了。将原型转化为团队可以依赖的软件的一切都位于这个阶段的下游:真正的存储、公司登录、部署管道、实际运行的地方。这些都不会到达一个从未通过统一入口的构建。你可以绕过统一入口;但这样做的话,你永远无法超越原型。
第三阶段
分类
AI 沿着两个维度对请求进行分类。形态: 这是什么类型的应用?对员工实际构建的内容的逆向审计几乎总是归结为一个短列表:工件生成器、工作流自动化、CRUD 应用和交互式仪表盘。命名形态告诉你它需要什么架构,并为下一阶段提供可用的道路。破坏半径: 如果这个构建出现问题,可能造成多大损害?我们通过四个维度来评分:
- 范围与能力: 它能接触什么,是只能读取还是也能写入?
- 可逆性与自主性: 是否有人工参与,操作是否可以撤销?
- 暴露面: 谁看到输出,它能在公司外部传播多远?
- 数据敏感性: 它交互的数据有多机密?
但这里有一个让这个流程可信的规则:AI 建议。代码决定。 模型读取简要说明并分类;然后 IT 编写的策略代码检查每个分类是否符合规则。看看它在资本催缴通知追踪器上的表现。形态:交互式仪表盘。破坏半径:内部基金数据,十二个内部用户,只读,有人工参与,没有与现有应用重叠。每个维度都在批准的阈值内,所以它被批准了,没有人争论。
现在改变一个事实。假设追踪器还需要 LP 承诺数据。简要说明可以多么有说服力都没用;这一个改变就将数据敏感性维度推到了 IT 设定的阈值之上,请求就会转到人工处理。中间没有做出任何判断。规则要么匹配,要么不匹配。
三种出路:
- 批准。 破坏半径在每个阈值内,简要说明完整,信心高。在我们客户那里,大约 90% 的请求以这种方式自动解决。
- 复用。 它与现有应用重叠,因此请求者被导向该应用的所有者,而不是构建重复品。重复品被合并,而不是倍增。
- 升级。 某个维度超过了阈值,或者信心低。IT 和安全部门的人工会收到完整的请求作为上下文。

GIF
第十个请求,那个例外的,仍然会带着完整的简要说明到达人工的桌面。其他九个从来不需要。
第四阶段
预配置
这里的关键是让 IT 能够大规模地批准:预配置不是 IT 失去对交付内容的控制,而是 IT 的控制上游化。IT 不是事后审查每个应用,而是编写一次可用道路,每个应用都诞生在这条道路上。一个人批准,平台根据其形态从道路上为应用打上印戳:一个仓库、公司登录、一个部署身份、一个私有环境以及它自己的数据库,所有这些都定义为 IT 拥有和版本化的基础设施即代码。几分钟内预配置完成。
这是唯一运行高级权限的时刻,并且有一个人在前面。每个应用都是隔离的、受管控和审计的:它自己隔离的环境,没有公共地址,没有存储的云秘密,从第一天起就有仅追加的审计轨迹。安全工作只发生了一次,在道路上。没有应用需要重复它。
因为道路是根据形态编写的,人工审批是默认姿态,而不是永久性成本。新颖的形态和高破坏半径的构建会永久保留人工关卡。但是,一旦某个形态的道路在足够多的构建中证明了自己,该道路上低破坏半径的请求可以自动预配置。这与“将人类判断保留给尾部”的逻辑相同,只是提前了一个阶段:早期你更多地将请求路由给人,随着模式得到验证,界线向自动化移动。

而道路还承载着与基础设施同等重要的一件事:AI 规则手册。继承的仓库在每个会话中向编码 Agent 提供一套指令,编码从实际失败中学习到的反模式。不要内联超过 1 KB 的数据块。不要添加在应用加载时重写数据的函数。这就是如何在不要求构建者知道任何最佳实践的情况下解决内部质量问题:道路让 Agent 遵循它们。每一个规则都是一道伤疤,背后都有一个故事(你已经读到了一个)。
第五阶段
构建
构建者在受控的云工作空间内提示他们的编码 Agent(Claude Code、Codex 等),永远不在自己的笔记本电脑上。笔记本电脑上的终端 Agent 会继承那里的所有东西:邮件、同步驱动器、浏览器 cookie、缓存的凭据。在工作空间中,Agent 只能看到项目。其他什么都没有。
工程师通常会携带的一切都由护栏代替:在我们客户那里,有四个层次的 35 个护栏,构建者无法关闭。

合并层包括专为 AI 生成的代码设计的漂移检查:文件大小预算,没有超大的内联数据,审计日志合规。通过则合并,否则不合并。当检查失败时,构建者要求 Agent 修复并重新推送。
人类不审查常规变更。检查就是审查。常规变更以 CI 的速度移动,而不是以审查者日程的速度。到达人类的是后果性的尾部,由机械检测发现:破坏性的模式变更、新的依赖项、对 Agent 自身约束的更改、任何涉及基础设施的东西。这些会等待一个人。其他什么都不等。当新的问题逃脱时,修复方法是新的自动化检查,而不是更多的人类审查。系统通过编码经验教训来变得更严格,而不是通过增加会议。
还记得开头的仪表盘吗?其中两个漂移检查会在第一周就触发它。80 KB 的单行数据块会在第一次提交时就导致 CI 失败,比任何故障模式固化之前早几个月。
第六阶段
运行与变更
六个月后,资本催缴通知追踪器仍在运行,这就是生命周期发挥价值的地方。投资者关系部门有人对三月份通知中的电汇截止日期提出质疑。审计轨迹在 30 秒内给出答案:谁更改了该字段,何时更改的,以及更改前的内容,这些记录在与编辑本身相同的事务中。没有人需要从邮件链中重构真相。当构建者更换团队时,所有权会转移到指定的继任者,而不是消失在一句“不知道”中。如果她完全离开公司,她的登录信息会失效,她打开的所有门都会同时关闭。追踪器也包括在内。下个季度的功能请求沿着与第一次提交相同的道路进行。
管控基于信号,而不是年度审计。追踪器的使用指标显示另外两个团队也在依赖它,因此它得到升级和投资。自四月以来没人打开的货币仪表盘会被归档,而不是留在菜单中腐烂。没有人会怀念它。所有权从第一天起就分配好,所以没有东西会比构建者活得更久且无人认领。未使用的应用是失败,而不是奖杯。目标从来不是应用数量:它是一个活生生的目录,你的员工真正信任,而不是被遗忘的软件墓地。
随着目录从十个应用增长到两百个,中央团队无法再照看所有内容,监督必须向外推给拥有应用的团队。何时以及如何分权是一种判断,它会随着投资组合的增长而变化。这里的管控是一种你需要不断调整的姿态,而不是一次设置好的控制。
维系整个体系的规则
有一个触发点我们教给每个客户,因为它能回答 90% 的“这需要完整流程吗?”的问题:第二个消费者规则。 它之所以有效,是因为那是风险状况变化的时刻。
某人在自己的笔记本电脑上为自己构建分析,数据访问受限?破坏半径低,管控轻。图表、备忘录和脚本他们自己运行,不需要部署管道。但是,当第二个人想要直接使用输出,而不是要求作者刷新时?破坏半径跃升:更大的范围,数据传播更远,其他人依赖它正确。现在它是软件了,它升级到完整的生命周期,故意地,作为一个明确的事件。相同的数据源,相同的身份,新的道路。
这一条规则就是为什么流程不会淹没人们。大多数构建从未越过这条线。那些越过的正是值得这种仪式的内容。
我们坦诚面对的事情
没有平台能让首次构建者编写完美的代码。我们不声称能做到。这些层次的存在是为了让一个错误是一个小边界内的不便,而不是整个公司的事件。每个层次正好覆盖上一层无法覆盖的内容:

而审计不阻止任何事情,但它让每个事件变得简短、可解释和可归因。这就是糟糕的下午和糟糕的季度之间的区别。
公民开发并非旨在取代专业工程。受监管流程中的系统记录、任何面向客户或面向投资者的内容、为外部用户构建的应用、任何停机带来财务惩罚的内容:这些仍然属于工程部门,统一入口从第一天起就将它们路由到那里。它取代的是瓶颈。它民主化了内部工具的尾部,这些工具从来不值得一个正式的工程项目,并以路线图队列永远无法提供的速度交付它们。一个没有边界的框架只是一个口号;这个框架知道它不适合什么。
实际改变的事情
在投资公司,第一个通过该平台的应用就是促使它诞生的那个:开头故事中的仪表盘,在道路上重建。相同的屏幕。相同的构建者。现在有了真正的存储、公司登录和每次编辑的历史。它再也不能将自己截断为 7 字节,因为导致它的那类代码无法合并。
大约 90% 的请求已经自动解决,而且这个比例只会增长。非技术构建者制作的大部分内容本质上是低破坏半径的。内部、大多只读、小受众的工具。随着每个形态的道路证明自己,越来越多的这些构建变得安全,可以在没有人类参与的情况下预配置和部署。人类的注意力继续集中在后果性的尾部,并在其他地方越来越稀疏。
批准今天只需几分钟,而且趋向于即时,因为拒绝已经内置。
每个公司都即将拥有数百名构建者。大多数公司仍在决定是害怕这一点还是为之兴奋。获胜的公司不会是拥有最多构建者的公司。它们将是拥有最佳道路的公司。





