从“能跑”到“能交付”:个人开发者必须补上的工程化能力

内容管家 编程开发评论11字数 1995阅读6分39秒阅读模式
摘要能跑只是开始,能交付才是真正的分水岭。AI 编程时代,个人开发者必须补上日志、错误恢复、权限、数据迁移、校验审计和文档能力。

从“能跑”到“能交付”:个人开发者必须补上的工程化能力 封面图

本文是 AI 编程反思系列第 4 篇。

AI 编程最容易给人的第一种满足感,是“它跑起来了”。

页面能打开,按钮能点击,接口能返回,数据能写入,部署也成功了。这个时候人会很兴奋,觉得产品已经差不多成了。

但这几个月我越来越清楚地意识到:能跑只是开始,能交付才是真正的分水岭。

一个自用 Demo 可以只追求能跑,一个成熟产品必须追求可交付、可维护、可恢复、可追踪。

一、为什么“能跑”离“能交付”还很远?

能跑,通常意味着在理想条件下功能可以执行。输入是对的,网络是通的,接口是正常的,数据量不大,用户只有你自己。

但真实交付场景完全不同。用户会输错参数,接口会超时,任务会失败,权限会混乱,数据会重复,环境会变化,版本会升级,甚至你自己过一个月回来都忘了当初为什么这么写。

所以,产品从能跑到能交付,中间隔着一整套工程化能力。

AI 可以帮你把功能做出来,但如果没有工程化能力支撑,项目很容易停留在“我自己能用,但别人用起来不放心”的阶段。

二、第一项能力:日志和可观测性

很多个人项目出了问题之后,最痛苦的不是问题本身,而是不知道问题发生在哪里。

用户说失败了,你不知道是哪一步失败;后台显示异常,你不知道当时传了什么参数;任务没有完成,你不知道是接口挂了、网络断了,还是逻辑分支走错了。

这就是缺少可观测性的结果。

一个能交付的产品,至少要知道关键流程发生了什么。什么时候开始,什么时候结束,传入了哪些关键参数,调用了哪些服务,失败原因是什么,是否可以重试。

我现在做任何自动化流程,都会尽量让每一步留下痕迹。尤其是涉及采集、处理、质检、发布这类流水线时,没有日志就等于没有控制权。

三、第二项能力:错误处理和失败恢复

AI 生成代码时,经常会优先写“成功路径”。也就是一切正常时怎么走。

但产品真正考验质量的地方,往往是失败路径。

接口失败怎么办?任务执行到一半断了怎么办?用户重复点击怎么办?数据写了一半怎么办?第三方服务返回异常格式怎么办?

如果这些问题没有处理,项目看起来能跑,但一到真实环境就会变得很脆。

能交付的系统,一定要考虑失败恢复。

  • 失败后能不能重试?
  • 重试会不会造成重复数据?
  • 失败状态能不能被用户看见?
  • 管理员能不能定位原因?
  • 严重错误能不能回滚或人工介入?

这些能力不一定一开始就做到完美,但必须进入你的产品意识里。

四、第三项能力:权限和边界

个人开发者做自用工具时,很容易忽略权限。因为用户只有自己,后台也只有自己看。

但只要产品开始给别人用,权限就会立刻变成基础问题。

谁能查看数据?谁能修改配置?谁能触发发布?谁能删除记录?不同站点、不同用户、不同角色之间的数据是否隔离?

很多 AI 生成的代码在这方面很容易“先能用再说”。短期看没问题,长期就可能变成安全隐患。

所以从 Demo 走向交付,必须补上权限和边界意识。

五、第四项能力:数据结构和迁移

软件产品一旦持续迭代,数据结构一定会变化。

你今天觉得一个字段够用,明天可能要拆成三个字段;你今天觉得一个状态简单,后面可能要增加待处理、处理中、失败、已跳过、需人工确认等状态。

如果一开始完全不考虑数据演进,后面每次改动都会很痛苦。

能交付的产品,不只是当前数据能存,还要考虑以后怎么改、怎么迁移、怎么兼容旧数据、怎么避免历史记录丢失。

这也是 AI 编程容易忽略的地方。AI 可以快速给你建表,但它不一定会主动考虑长期数据演进。

六、第五项能力:发布前校验和发布后审计

越是自动化产品,越需要校验和审计。

比如内容自动发布工具,不能只是把内容推到站点上就结束。发布前要检查标题、正文、分类、标签、图片、链接、格式;发布后要回读确认是否真的写入成功,分类标签是否正确,特色图是否生效。

这类能力看起来琐碎,但它决定了产品是否可靠。

很多个人项目的问题就在于,只做了“执行动作”,没有做“确认动作”。AI 帮你调用了接口,但没有回读验证;AI 帮你保存了数据,但没有确认保存后的结果;AI 帮你部署了服务,但没有检查健康状态。

能交付的产品,必须重视闭环。

七、第六项能力:文档和可维护性

很多人觉得文档是给别人看的,但我现在越来越觉得,文档首先是给未来的自己看的。

AI 编程项目尤其需要文档,因为你可能并不是每一行代码都亲手写出来的。如果没有需求说明、架构说明、关键流程说明、部署说明,后面再回来维护会非常痛苦。

最低限度,你至少要留下这些东西:

  • 这个产品解决什么问题。
  • 核心模块有哪些。
  • 关键数据结构是什么。
  • 主要流程怎么跑。
  • 常见错误怎么处理。
  • 部署和升级要注意什么。

这些文档不一定要很长,但必须真实、可用、跟着产品更新。

八、AI 可以帮你工程化,但前提是你知道要工程化

这里我并不是说 AI 做不了工程化。恰恰相反,如果你提出明确要求,AI 可以帮你补日志、写测试、整理文档、设计错误处理、生成检查清单。

问题是,你要先知道这些东西重要。

如果你只要求 AI “把功能做出来”,它大概率会围绕成功路径写代码。如果你要求它“设计可重试、可审计、可回滚的流程”,结果就完全不一样。

这也是我现在对 AI 编程最大的变化:我不再只问“怎么实现”,而会问“怎么交付”。

九、结语:个人开发者也要有交付意识

过去个人开发者做产品,常常会把自己定位成“写工具的人”。能满足自己需求,能跑起来,就已经不错了。

但如果你想让产品真正给别人用,甚至商业化,就必须从“写工具”升级到“做交付”。

交付意识不是大公司专属。个人开发者更需要它,因为你没有庞大的测试团队、运维团队、客服团队来帮你兜底。

AI 可以让你更快写出功能,但工程化能力决定你能不能长期维护、稳定交付、让用户信任。

从能跑到能交付,是个人开发者必须跨过去的一道坎。

跨过去之后,AI 才真正从“代码生成器”变成“产品杠杆”。

内容管家

发表评论