上周,我让一个 Agent 帮我写了一个内部小工具。描述需求、等它跑、看到页面出来,前后不到十分钟。
那一刻我确实有点恍惚。界面美观,逻辑通顺,甚至连错误处理都帮我加了。如果我是个不懂代码的产品经理,我大概会觉得:完了,以后程序员真没饭吃了。
但紧接着,当我把这个小工具拿给后端同事,问他「如果要让团队其他人也能用、数据要存下来、不能被别人随便访问、出了 bug 我得知道哪儿错了」,他的表情变了。
他倒也没说什么狠话,就问了我几个问题——
「你这个数据存在哪儿?本地 localStorage 的话,换台电脑就没了。」
「有人同时操作怎么办?两个人改同一条数据,谁覆盖谁?」
「你登录怎么做的?没有登录的话,谁都能访问?」
「日志呢?出了错你怎么排查?」
我一个问题都答不上来。
那个十分钟写出来的小工具,在「变成一个真正的产品」这条路上,还没走出第一步。
这才是我想聊的——Agent 写代码确实牛,但从一段能跑的代码到一个能上线的产品,中间隔着一整个互联网工程体系。

一、十分钟写完的 App,和能上线的产品,是两码事
我先承认一件事:现在的 Agent 写代码能力,放在两年前我是不敢想的。
Claude Code 可以读懂一个中型项目的结构,在正确的位置加功能。Codex 可以在终端里自己改 bug、跑测试、提交 commit。国内的 Code Plan 类工具也能按需求生成完整的前后端代码。
你给它一段描述,它给你一个能跑的 Demo。这件事已经不是「能不能」的问题,而是「有多快」的问题。
但 Demo 和产品的区别在哪儿?
Demo 只需要证明「这个想法技术上可行」。产品需要保证「一千个人同时用不出事」「数据不会丢」「出了 bug 能定位到是哪行代码」「明天改个功能不会把整个系统搞崩」。
我见过太多这样的场景:一个非技术背景的朋友用 AI 工具生成了一个「网站」,兴冲冲地给我看,界面确实像模像样。但我问他:你这个网站的密码存在哪儿?他说不知道,AI 自动搞的。我说你打开数据库看看,他说什么是数据库。
这就是问题。Agent 帮你盖了一栋楼,但它没告诉你地基是怎么建起来的。
二、从「能跑」到「能上线」,中间至少有六道坎
我试着把「代码能跑」和「产品能上线」之间的差距,拆成几个具体的问题。你会发现,这些问题每一个都不只是「写代码」的事。
第一道坎:数据存在哪儿?
本地跑 Demo,数据存内存、存文件、存 localStorage 都行。关了就没了也无所谓。但真正的产品,数据是资产。你要选数据库——关系型还是文档型?MySQL 还是 PostgreSQL?数据量大了要不要分库分表?备份策略是什么?恢复演练做过吗?
这些问题 Agent 不会主动问你。你如果不主动告诉它,它就默认用最简单的方式糊上去。但你得知道要告诉它什么。
第二道坎:并发怎么办?
Demo 是一个人用的,产品是一群人用的。两个人同时改同一条数据怎么办?抢库存怎么办?消息队列用不用?分布式锁怎么加?数据库连接池设多大?
这些问题的答案不是「写一段代码」能解决的。它需要你对系统行为有预判。你至少得知道「并发」是个什么东西,才有可能意识到自己的系统需要处理它。
第三道坎:技术栈怎么选?
Agent 可以帮你用任何框架写代码,但它不会替你决定「为什么用这个」。
前端用 React 还是 Vue?如果团队里只有人会 Vue,你让 Agent 生成了一堆 React 代码,将来谁维护?后端用 Go 还是 Node.js?你们的运维团队能搞定 Go 的编译部署吗?用微服务还是单体?流量多大才值得拆?
这些决策,决定了未来一两年的技术债务和团队成本。
第四道坎:安全怎么做?
SQL 注入防了吗?XSS 呢?CSRF 呢?敏感数据加密存了吗?API 鉴权做了吗?第三方依赖有已知漏洞吗?
Agent 生成的代码,安全这件事它做得时好时坏。有时它会贴心地帮你加防护,有时它完全没管。问题在于——你如果不知道这些「安全概念」的存在,你连检查都不会检查。
第五道坎:日志和监控怎么做?
Demo 阶段,出错了刷新一下就行。产品上线后,凌晨三点报警响了,你得知道是哪个接口、哪行代码、什么参数导致的。
日志打在哪里?用什么采集?用什么看?慢查询怎么告警?流量异常怎么发现?
这些不是「写代码」,但这些东西不搞,产品上线就是蒙眼开车。
第六道坎:运维和部署呢?
是 Docker 部署还是直接跑在服务器上?CI/CD 怎么配?蓝绿发布还是滚动更新?域名、SSL、负载均衡、CDN 都配了吗?
我见过一个团队,Agent 帮他们写完了全部后端代码,功能完美,测试全过。结果卡在部署这一步整整一周。不是代码的问题,是他们根本不知道怎么把这堆代码变成一个能被人访问的网址。

三、但我必须说——Agent 对产品经理,简直是核武器级的生产力
前面一直在聊程序员。但我是产品经理出身,我必须补这一段。
说实话,Agent 写代码这件事,对程序员的冲击大不大?有,但在工程体系的保护下,不至于致命。但对产品经理来说,这件事是一个彻彻底底的正向杠杆。
以前产品经理怎么做调研?打开百度、微信搜一搜、知乎翻一翻,看到几篇文章摘几句放进 PRD 的「市场分析」。说句不好听的,就是复制粘贴加主观判断。至于信息来源是否全面、有没有遗漏关键竞品,全看个人勤不勤快。
现在呢?我让 Agent 去国内外的新闻、社交媒体、技术博客上抓最新动态。它会自己设计搜索方向、自己筛信息、自己去读那些我根本看不完的英文论文和 GitHub 讨论,最后给我一份结构化的产品调研报告。不是摘抄,是有判断、有对比、有结论的那种。
我做市场调研的速度,至少翻了三倍。
但调研只是开胃菜。真正的核武器,是 Demo。
以前产品经理验证想法只能靠画原型。Axure 拖一拖,Figma 连一连,搞几个简单交互动画,拿去给老板和研发看。好看吗?还行。但所有人心里都清楚——这就是个纸糊的房子。研发会说「你这个交互逻辑实际开发的时候走不通」,UI 会说「这个组件库里没有你这个样式」,老板会说「光看这个我不知道上线后到底什么样」。
现在呢?我直接让 Agent 给我出一个带真实功能的 Demo。增删改查是真的,登录注册是真的,数据流转是真的。演示效果和以前的原型比起来,完全不是一个物种。
我给研发看,研发一眼就明白要做什么。我给 UI 看,UI 知道自己要在什么基础上优化——甚至很多时候我都不需要 UI 了,Agent 自己就能把界面做得相当漂亮。我给老板看,老板觉得这东西好像已经做完了,预算审批都变快了。
这个冲击力,用过一次你就再也回不去画原型的日子了。
所以我的结论是:程序员不用慌,但产品经理如果不把 Agent 用起来,才是真的危险。 因为你旁边工位那个产品经理,可能已经用 Agent 出完下周评审的全部 Demo 了。
四、所以,什么样的人最危险?
聊到这里,我想说一个可能不太中听的观点——
AI 时代,真正危险的,不是程序员。是那些「以为不用学就能搞定一切」的人。
具体来说,有两类人可能需要重新想一想。
第一类:完全不懂技术、但想靠 AI 工具直接做产品的人。
AI 可以帮你写代码,但它不能替你理解「这个需求技术上意味着什么」。你如果不理解数据存储、不理解为权限模型、不理解前后端分离,你连需求都描述不清楚。你让 Agent 帮你做一个「用户系统」,它可能做了一个能注册登录的东西回来,但你没告诉它要考虑密码加密、会话管理、OAuth 接入、账号注销后的数据清理。不是 Agent 做不到,是你根本不知道这些东西需要被考虑到。
第二类:只会「写代码」、但完全不懂系统和架构的程序员。
如果你工作了三五年,但日常就是接需求、写 CRUD、调接口、上线,从来不想「这个系统为什么这么设计」「这个方案有没有更好的」,那确实要警觉一下。因为这些纯粹的「代码翻译」工作,Agent 已经在快速替代了。
但如果你是一个能想清楚「为什么用消息队列」「为什么拆这个服务」「为什么选这个存储方案」的人——Agent 只会让你更强,不会让你失业。
五、程序员真正的护城河,从来不是写代码
我认识的一个技术负责人跟我说过一句话,我印象很深——
「优秀的程序员和普通的程序员,差距不在谁代码写得更快更好看,在谁能在需求还没说清楚的时候,就已经在脑子里跑了一遍上线后可能出问题的场景。」
Agent 可以写代码,但它不会在写代码之前问:「这个功能上线后,如果用户量涨十倍,数据库扛得住吗?」
Agent 可以改 bug,但它不会在改完之后想:「这个修法会不会引入新的并发问题?」
Agent 可以生成架构图,但它不会追着你问:「这个方案的运维成本,团队能承受吗?」
这些「预判」和「追问」,来自经验、来自踩过的坑、来自对整个系统的理解。这不是靠 prompt 能补出来的。
所以我的结论其实很简单:AI 写代码越厉害,程序员的不可替代性反而越清晰——它被推到了更上游:决策、架构、判断、权衡。
写代码这件事正在变成「水电煤」,但决定在哪儿建房子、建什么样的房子、房子能不能扛地震,这些事,还远远轮不到 AI。
六、想听听你的想法如果你是一个完全不懂代码的产品经理或创业者,现在 Agent 已经能帮你十分钟生成一个 App 了——
你会选择「继续自己用 AI 做,边做边学」,还是「老老实实找/雇一个能兜底的技术合伙人」?
留言区见。

