模块 6 · 第 6 节
出了问题,责任全在你一个人头上
是什么
AI 帮你写了代码,但它不会帮你承担后果。数据泄露了、用户受损了、账单失控了——这些后果全部落在你身上。只有当你真正意识到这一点,你才会认真对待验收、安全和每一个发布决定。
解决什么问题
如果心里默认"出了问题是 AI 的锅"或者"这么小的项目不会出什么事",你就会跳过那些看似麻烦但至关重要的检查环节,直到一个本可以避免的灾难降临。
最后一课,也是第一课
走到这里,你已经了解了很多——AI 的能力边界、版本管理、运行环境、密钥安全、成本控制、数据保护、系统性思维、验收的手艺。
这些知识是你作为建造者的工具箱。但所有工具箱都需要一个前提才能发挥作用:你真的把自己当作这个项目的负责人。
这听起来像是废话,但在实际操作中,很多人并没有真正接受这一点。
AI 不是你的免责声明
当项目出了问题时,没有人会去追究 AI 的责任。用户不会关心代码是谁写的——他们只会找到发布这个产品的那个人,也就是你。
- 如果用户的密码被泄露了,受影响的用户不会去投诉 ChatGPT 或 Claude,他们会来找你。
- 如果你的应用因为一个 bug 导致用户的数据丢失了,"这是 AI 写的代码"不是一个有效的辩解。
- 如果你使用了违反许可协议的开源代码,律师函会寄到你的信箱,而不是 AI 的。
AI 是你的工具。它不为你做的决定负责,正如锤子不会为钉歪的钉子负责。
"这么小的项目不会出什么事"
这是另一个常见的心理陷阱。
你可能觉得:我的项目用户就那么几个,不涉及支付,数据量很小,不值得花那么多精力去做安全检查。
但现实是:
- 密钥泄露和项目规模无关——只要你把密钥推送到了公开仓库,爬虫不会因为你是个人小项目就放过你。
- 数据泄露和用户数量无关——即使只有十个用户,他们的隐私同样值得保护。
- 法律风险和你的意图无关——不知道自己违规了,不是免罚的理由。
"小项目不会出事"是一种侥幸心理。侥幸有时候会成功,但它从来不是一个可靠的策略。
发布前的最后一道闸
在你决定把项目发布上线、让真实用户开始使用之前,做一次完整的自检。这不需要很长时间,但它可能是你和一场灾难之间的最后一道防线。
安全方面:
- 所有的密钥和凭证都通过环境变量管理了吗?代码中没有硬编码的密钥吗?
- 如果有用户密码,它们是经过哈希处理后存储的吗?
- 你的网站使用了 HTTPS 吗?
成本方面:
- 你了解你使用的每一项服务的计费模式吗?
- 免费额度用完后会发生什么——自动停止还是自动开始计费?
- 你设置了预算告警或用量上限吗?
数据方面:
- 你的数据库有备份机制吗?
- 你试过从备份中恢复数据吗?
- 你收集的用户数据是否都有明确的用途?有没有可以少收的?
合规方面:
- 你使用的依赖包的许可协议是否允许你的使用方式?
- 如果面向用户收集数据,是否有隐私政策说明?
代码方面:
- 你的代码在版本管理之下吗?有可回退的提交记录吗?
- 你只测试了"好天气"路线,还是也试过了边缘场景?
这不是负担,这是你的力量
如果你觉得以上这些检查很麻烦,我完全理解。你只是想做一个有趣的项目,为什么要操心这么多事情?
但请换个角度想:正是因为你有能力做这些检查,你才配得上"发布上线"这个决定。
任何人都可以让 AI 写出一段能跑的代码。但能够判断这段代码是否安全、是否可靠、是否对用户负责——这需要的是你一路走来积累的常识、判断力和责任感。
这些东西,AI 替代不了。
在这个站点的宣言中,我们写过一句话:建造的门槛虽然降低了,但当软件面对真实用户时,最终对其质量、数据和安全负责的依然是你。
这不是一句遥远的警告。当你的手指悬在"发布"按钮上方时,这句话就是你需要问自己的最后一个问题:
我准备好为这个产品负责了吗?
如果答案是"是",那就按下去。你已经准备好了。
指挥与验收
一边讲怎么让 AI 帮你做,一边讲怎么看出 AI 做砸了。
指挥
连接到