不会编程不是一种优势,也不是一道永久壁垒。它只是你此刻的起点。
第二天,小明带着昨天写好的几张“清晰意图卡”又来了。纸上已经有了用户、场景、输入和输出,可他坐下以后没有打开电脑。
Jason:“怎么不开始?”
小明:“越写清楚,我反而越害怕。AI 可以生成代码,但我看不懂。它写错了怎么办?它留下安全问题怎么办?如果项目真的有人用了,我是不是连哪里坏了都不知道?”
Jason 没有立刻安慰他。
Jason:“这些担心是对的。不会编程不是值得炫耀的标签。看不懂结果、无法判断风险,也确实会限制你。”
小明:“那我是不是应该先学几年编程,再回来做项目?”
Jason:“不必走到另一个极端。你不需要等到掌握全部语法才有资格开始,也不能因为 AI 会写代码,就假装技术已经不重要。”
小明:“那中间那条路是什么?”
Jason:“带着一个很小的真实项目开始,同时把黑箱一点点变成半透明盒子。”
一、AI 降低的是启动门槛,不是责任门槛
过去,一个不会编程的人想做网页,往往要先学习较长时间,或者先找到开发者。今天,他可以用自然语言生成原型、解释代码和修复常见错误。启动门槛的确下降了。
但项目一旦进入真实使用,责任并不会因为代码由 AI 生成而消失。用户数据是否安全、结果是否正确、系统失败时如何处理,仍然需要人判断。
Jason:“AI 可以替你搬很多砖,但它不能替你对房子是否会塌负责。”
小明:“所以我不需要第一天成为工程师,但要知道自己在建什么。”
Jason:“对。第一步不是读懂每一行代码,而是看懂项目结构。”
二、先从“一个页面、一个动作、一个结果”开始
小明:“我第一版是不是也要做登录、数据库、支付、管理后台?”
Jason:“先问:没有这些东西,你能不能验证核心问题?”
小明:“比如专业方向复核工具,用户填完信息,系统给出几个探索方向和风险问题。第一轮甚至可以不登录。”
Jason:“这就对了。登录、支付和复杂权限都可能重要,但“重要”不等于“第一天必须做”。”
Jason 在纸上画了三个方框。
一个新手的第一个项目,可以只是一个本地网页、一张表单和一个结果页。它不需要假装是一家成熟公司的完整平台。
三、把代码从黑箱变成半透明盒子
小明:“可代码还是 AI 写的。我应该学到什么程度?”
Jason:“先分三层。”
- 第一层:方向识读。知道哪个文件负责页面,哪个模块负责数据,报错大致发生在哪个环节。
- 第二层:局部修改。能看懂变量、组件、状态、接口和基础条件判断,能让 AI 解释修改前后的差异。
- 第三层:系统判断。逐渐理解权限、数据库、部署、日志、性能和安全,知道什么时候必须请专业开发者复核。
Jason:“你不必第一天达到第三层,但不能永远停在“只要能运行就行”。”
小明:“这和传统从语法第一章开始,有什么不同?”
Jason:“不是不学基础,而是让基础在真实问题里出现。你先知道为什么需要一扇门,再去理解门框、合页和锁。这样学到的知识会与结果连接。”
四、新手与 AI 协作的安全动作
- 每次修改前先让 AI 说明:准备改哪些文件、为什么改、可能影响什么。
- 一次只改一个可验证目标,不把十个需求塞进一次指令。
- 让 AI 为关键代码添加解释,但不要用解释代替实际测试。
- 不把真实密码、身份证明、客户数据和未脱敏资料随意粘贴给模型。
- 项目涉及支付、医疗、法律判断、未成年人数据或高风险自动控制时,必须提高人工和专业复核级别。
- 保留可回退版本。新改动出错时,能够回到上一个能运行的状态。
五、第一版到底应该小到什么程度?
小明:“如果第一版太简单,别人会不会觉得我没能力?”
Jason:“新手常常把复杂当成能力,把功能数量当成价值。可一个功能很多、没人用的系统,并不比一个真正解决问题的小工具更高级。”
小明:“所以第一版的目标不是证明我什么都会。”
Jason:“是证明你能让一个问题完成闭环。”
简单不是低级。好的简单,是你知道哪些复杂性现在可以不做。
本谈铁律
本谈作业|最小项目结构卡
项目名称: 先用一句能被普通人理解的话命名。
第一个用户: 不要写“所有人”。
发生场景: 他在什么时候、什么地点或什么流程中遇到问题?
核心动作: 用户只需要完成哪一个主要动作?
必要输入: 第一版真正不可缺少的信息。
可判断输出: 用户看完以后,如何判断有没有帮助?
第一版页面: 尽量控制在 1-3 个。
暂不实现: 至少写下 5 项有价值但现在不做的功能。
我需要看懂的技术: 文件、数据、接口、错误或部署中的哪一部分?
必须请专业人员复核的部分: 涉及安全、隐私、支付或专业责任时填写。
三位测试用户: 写真实姓名或明确身份。
自检清单
□ 核心功能超过 3 个时,我是否还能继续删减?
□ 没有登录、支付或复杂数据库,是否仍能验证核心问题?
□ 我是否知道主要文件、输入、处理和输出分别在哪里?
□ 我是否为重要修改保留了可回退版本?
□ 我是否知道哪些结果必须人工或专业复核?
□ 我能否在 3 分钟内向测试用户讲清楚这个工具?