模块 6 · 第 6

出了问题,责任全在你一个人头上

是什么

AI 帮你写了代码,但它不会帮你承担后果。数据泄露了、用户受损了、账单失控了——这些后果全部落在你身上。只有当你真正意识到这一点,你才会认真对待验收、安全和每一个发布决定。

解决什么问题

如果心里默认"出了问题是 AI 的锅"或者"这么小的项目不会出什么事",你就会跳过那些看似麻烦但至关重要的检查环节,直到一个本可以避免的灾难降临。

最后一课,也是第一课

走到这里,你已经了解了很多——AI 的能力边界、版本管理、运行环境、密钥安全、成本控制、数据保护、系统性思维、验收的手艺。

这些知识是你作为建造者的工具箱。但所有工具箱都需要一个前提才能发挥作用:你真的把自己当作这个项目的负责人。

这听起来像是废话,但在实际操作中,很多人并没有真正接受这一点。

AI 不是你的免责声明

当项目出了问题时,没有人会去追究 AI 的责任。用户不会关心代码是谁写的——他们只会找到发布这个产品的那个人,也就是你。

  • 如果用户的密码被泄露了,受影响的用户不会去投诉 ChatGPT 或 Claude,他们会来找你。
  • 如果你的应用因为一个 bug 导致用户的数据丢失了,"这是 AI 写的代码"不是一个有效的辩解。
  • 如果你使用了违反许可协议的开源代码,律师函会寄到你的信箱,而不是 AI 的。

AI 是你的工具。它不为你做的决定负责,正如锤子不会为钉歪的钉子负责。

"这么小的项目不会出什么事"

这是另一个常见的心理陷阱。

你可能觉得:我的项目用户就那么几个,不涉及支付,数据量很小,不值得花那么多精力去做安全检查。

但现实是:

  • 密钥泄露和项目规模无关——只要你把密钥推送到了公开仓库,爬虫不会因为你是个人小项目就放过你。
  • 数据泄露和用户数量无关——即使只有十个用户,他们的隐私同样值得保护。
  • 法律风险和你的意图无关——不知道自己违规了,不是免罚的理由。

"小项目不会出事"是一种侥幸心理。侥幸有时候会成功,但它从来不是一个可靠的策略。

发布前的最后一道闸

在你决定把项目发布上线、让真实用户开始使用之前,做一次完整的自检。这不需要很长时间,但它可能是你和一场灾难之间的最后一道防线。

安全方面:

  • 所有的密钥和凭证都通过环境变量管理了吗?代码中没有硬编码的密钥吗?
  • 如果有用户密码,它们是经过哈希处理后存储的吗?
  • 你的网站使用了 HTTPS 吗?

成本方面:

  • 你了解你使用的每一项服务的计费模式吗?
  • 免费额度用完后会发生什么——自动停止还是自动开始计费?
  • 你设置了预算告警或用量上限吗?

数据方面:

  • 你的数据库有备份机制吗?
  • 你试过从备份中恢复数据吗?
  • 你收集的用户数据是否都有明确的用途?有没有可以少收的?

合规方面:

  • 你使用的依赖包的许可协议是否允许你的使用方式?
  • 如果面向用户收集数据,是否有隐私政策说明?

代码方面:

  • 你的代码在版本管理之下吗?有可回退的提交记录吗?
  • 你只测试了"好天气"路线,还是也试过了边缘场景?

这不是负担,这是你的力量

如果你觉得以上这些检查很麻烦,我完全理解。你只是想做一个有趣的项目,为什么要操心这么多事情?

但请换个角度想:正是因为你有能力做这些检查,你才配得上"发布上线"这个决定。

任何人都可以让 AI 写出一段能跑的代码。但能够判断这段代码是否安全、是否可靠、是否对用户负责——这需要的是你一路走来积累的常识、判断力和责任感。

这些东西,AI 替代不了。

在这个站点的宣言中,我们写过一句话:建造的门槛虽然降低了,但当软件面对真实用户时,最终对其质量、数据和安全负责的依然是你。

这不是一句遥远的警告。当你的手指悬在"发布"按钮上方时,这句话就是你需要问自己的最后一个问题:

我准备好为这个产品负责了吗?

如果答案是"是",那就按下去。你已经准备好了。

指挥与验收

一边讲怎么让 AI 帮你做,一边讲怎么看出 AI 做砸了。

指挥怎么让 AI 帮你做

指挥

在按下"发布上线"之前,做一次最后的自问:"如果这个系统出了最坏的情况——数据泄露、功能崩溃、用户受损——我准备好承担后果了吗?"如果这个问题让你犹豫,那就说明还有工作没做完。

连接到