乐于分享
好东西不私藏

不会编程也能做App吗

不会编程也能做App吗

VIBE CODING & AGENTIC ENGINEERING

不会编程也能做App吗

AI 已经能从一句需求生成界面、代码和测试。但“能运行”距离“能交付”仍然隔着需求、边界、安全与维护。不会写代码的人可以开始做 App,却更需要学会寻找错误。

现在做一个App,看起来从未如此简单。

你只要对AI说:“帮我做一个记账工具,要有登录、分类统计和漂亮的图表。”几分钟后,页面出现了,按钮能点,数据也会变化。

社交平台上,这种演示常常以一句话结束:不会编程的人,也能独立开发软件了。

这句话并不完全错。AI已经大幅降低了把想法变成原型的门槛。但原型能运行,和产品能够安全地交给别人使用,中间还有一段最容易被忽略的路。

AI编程真正降低的是“生成代码”的门槛,却把更大的责任推到了“验证代码”的一边。

这篇文章不比较哪款AI写代码更快,也不承诺用一句提示词创业。我们想做的是拆开“做出一个App”这句话,看看普通人到底可以做到哪里,又必须学会验收什么。

01|AI编程已经从“补全代码”走向“接任务”

早期的AI编程工具更像输入法:你写出函数开头,它补全后面的几行。今天的代码智能体已经可以读取整个项目、修改多个文件、运行命令、执行测试,并提交一份等待审查的改动。

这是一种工作方式的变化。人不再需要逐行告诉AI写什么,而是可以描述目标:“修复这个登录问题”“增加导出功能”“把旧接口迁移到新版本”。

但任务越完整,AI拥有的操作范围也越大。它可能安装依赖、修改配置、读取环境变量、访问网络,甚至触碰部署流程。能力提升的同时,错误影响也从“一行代码写错”扩大到“整个系统被错误修改”。

因此,GitHub和OpenAI在介绍代码智能体时,都把测试、日志、草稿式提交、权限边界和人工审查放在核心位置。真正的趋势不是AI独自交付,而是AI生成一份可验证、可审查的工作成果。

02|“做出一个App”,其实包含五层工作

当一个页面出现在屏幕上,我们很容易把它当成产品已经完成。但软件不是一张能交互的海报。

第一层:界面

页面是否好看,按钮能不能点击,手机和电脑上是否正常显示。这是最容易被演示、也最容易被AI快速完成的一层。

第二层:功能

金额如何计算,重复提交怎样处理,不同用户能做什么,业务规则是否前后一致。这里需要的不是代码语法,而是对需求的准确理解。

第三层:数据

数据保存在哪里,刷新后会不会丢,多设备怎样同步,删除、导出、备份和迁移是否可靠。

第四层:安全

用户身份如何验证,普通用户能否看到别人的数据,密钥有没有被写进前端,恶意输入会不会破坏系统。

第五层:交付

如何部署、监控、更新和回滚;服务崩溃后谁会收到提醒;依赖停止维护时怎么办。

AI最容易生成可见界面,产品成本往往藏在界面之下

一个App能打开,只能证明它通过了演示;能被别人长期使用,才说明它接近产品。

03|为什么AI代码经常“看起来对,实际上不完整”?

AI很擅长生成符合常见模式的代码。登录页像登录页,购物车像购物车,接口也有熟悉的名字。这种“像真的”会给人很强的完成感。

问题在于,AI主要根据你提供的上下文和项目中已有模式做推断。没有写清楚的部分,它只能替你做决定。

你说“支持登录”,它可能默认只做邮箱密码,却没有验证码、找回密码、登录限速和会话失效;你说“保存数据”,它可能只存在浏览器本地;你说“管理员可以查看全部记录”,它可能只隐藏了按钮,却没有在服务器端检查权限。

这些代码往往能通过最表面的演示,因为演示只走了一条正常路径。真正的问题藏在空值、重复点击、断网、并发、权限切换和恶意输入里。

AI不会主动知道你没有说出的业务规则。需求中的空白,最后会变成代码里的默认决定。

04|一次可复现的验收实验

你可以让任意一款AI编程工具生成一个最小任务管理App:新增任务、修改状态、删除任务,并保存到本地。不要先告诉它测试条件。

页面生成后,不要马上评价“成功”。依次做下面六件事:

创建一个空标题任务;

连续快速点击两次新增按钮;

输入一段很长的文字和特殊字符;

刷新页面、关闭浏览器再打开;

删除一项后尝试恢复;

把存储数据手动改坏,再重新打开页面。

这个实验不需要你懂编程,却能快速暴露产品是否处理了输入校验、重复操作、界面溢出、数据持久化、误删除和异常恢复。

如果AI修复了这些问题,再让它为每个场景补自动测试。然后故意改坏一个关键判断,确认测试真的会失败。测试始终显示绿色,不代表它覆盖了重要风险;测试能在错误出现时变红,才有意义。

05|普通人也能掌握的五层验收法

第一层:需求验收

先不看代码,只问:它解决的是原来的问题吗?把需求写成“谁,在什么情况下,要完成什么,成功标准是什么”。

第二层:功能验收

从用户角度走通最重要的三条路径,并记录每一步预期结果。不要只点一次按钮,要检查刷新、返回和重复操作。

第三层:边界验收

主动输入空值、极长内容、错误格式和重复数据;模拟断网、超时、权限不足和服务不可用。验收的核心不是证明它能工作,而是寻找它不能工作的地方。

第四层:安全验收

确认密钥不在前端代码中,不同用户的数据真正隔离,敏感操作需要再次确认,外部输入会被验证。涉及付款、医疗、身份和隐私数据时,还需要专业审查。

第五层:交付验收

检查部署说明、自动测试、日志、备份和回滚。问清楚:如果明天更新失败,怎样恢复到今天的版本?

五层验收法:从“是否能用”走向“是否可交付”

06|不会读代码,怎样监督AI写代码?

不会逐行阅读代码,并不等于完全无法验收。普通人可以把抽象的技术判断,转成可观察的证据。

让AI先复述需求,并列出它做了哪些假设;

要求它先给修改计划,再开始写代码;

每个功能都配一组正常、异常和权限测试;

要求提供变更清单、运行日志和测试结果;

让第二个模型或静态扫描工具做独立检查;

高风险功能交给有经验的开发者审查。

这里最重要的能力不是背诵术语,而是提出可验证的问题。例如,不要问“安全吗”,而要问“普通用户能否通过修改网址看到管理员页面的数据”。

同样,不要接受“已完成测试”这句话。要让AI说明运行了哪些测试、哪些没有运行、失败时看到了什么,以及测试环境与真实部署有什么差别。

07|AI编程真正抬高了哪一种门槛?

AI确实降低了语法门槛。过去需要搜索文档、搭建框架和反复调试的工作,现在可以由智能体快速完成。

但当生成速度提高十倍,审查压力也会迅速增加。一个人一天能手写的代码有限,却可能让AI生成几十个文件。代码越多,隐藏问题、重复实现和未来维护成本越难看见。

于是,稀缺能力从“能不能把代码写出来”,转向了三件事:能否定义问题,能否设计验证,能否为上线结果负责。

AI编程没有让工程消失,只是把工程的重心从生产代码,移到了约束、验证和维护。

08|什么项目适合用AI快速做,什么项目不要冒进?

适合快速尝试

个人使用的小工具和一次性数据处理;

原型、内部演示和需求验证;

影响范围小、数据可恢复的自动化;

有清晰输入输出、容易测试的功能。

需要谨慎或专业审查

支付、账户、权限和用户隐私;

医疗、法律、金融等高风险决策;

连接生产数据库或能够删除重要数据;

大量用户依赖、无法轻易回滚的服务;

你无法说明失败后果的项目。

一个简单判断是:如果这个App出错,你能否在十分钟内发现、停止并恢复?如果不能,就不要只凭“页面看起来正常”上线。

09|普通人使用AI编程的最小安全闭环

写清目标、用户、数据和不可接受的失败;

让AI先列计划、假设和风险,不要直接生成;

在隔离环境或测试项目中运行;

为核心路径和异常情况建立自动测试;

人工走查界面、权限和数据变化;

先小范围发布,并保留备份;

监控错误,确认能够快速回滚。

让AI生成、测试和修正,但把最终发布留在可控闭环中

结尾|真正的“不会编程也能做App”,缺的不是下一句提示词

不会编程的人,今天确实可以做出过去难以独立完成的原型和小工具。这不是营销幻觉,而是一次真实的生产力变化。

但我们需要重新定义“做出”。生成一个能运行的页面,是开始;理解用户需求、保护数据、覆盖异常、完成部署并承担维护,才是交付。

AI可以帮你写代码、补测试、查漏洞,甚至解释每一次修改。可它不会自动知道你的业务底线,也不能替你决定哪些风险可以被用户承担。

所以,下一次AI在几分钟内生成一个App,不妨先别问“它写得有多快”,而是问:我有什么证据相信它在真实世界里不会轻易出错?

未来真正拉开差距的,不是谁最会让AI生成,而是谁最会让AI证明。