AI 是个黑盒子:看不见的过程,摸不着的逻辑
让AI帮你写一段代码,它秒秒钟给你一大段。看起来能跑,逻辑也通顺。但你真的敢直接用它吗?
问题不在于AI写代码的速度,而在于你看不到它是怎么想到这段代码的。它为什么用这个数据结构而不是那个?为什么异常处理放在这里而不是那里?为什么这个变量名起这个名字?
你统统不知道。这就是黑盒问题。
一、黑盒是什么
所谓黑盒,就是你给AI一个输入,它给你一个输出,但中间的过程对你来说是完全不可见的。
你问"帮我写一个爬虫脚本",AI给你一段代码。你不知道:
- 这段代码是从哪个项目的代码片段"学"来的?
- 它为什么选择用requests而不是httpx?
- 它的错误处理覆盖了哪些情况,漏了哪些?
- 它有没有悄悄引入了一个你不需要的依赖?
你只能看到结果,看不到推理过程。就像你去餐厅点菜,菜端上来你只能尝味道,看不到后厨怎么做的。
二、黑盒的三层危险
第一层:你不知道AI"知道"什么
AI的知识有截止日期。如果你问它2025年5月之后发生的事,它可能一本正经地编造一个答案。更可怕的是,它编造的东西看起来非常合理——有具体时间、具体数据、具体人名,但你一查全是假的。
这叫"幻觉"(Hallucination)。AI不是在撒谎,它是真的"认为"自己说的是对的。因为它本质上是在预测"接下来应该出现什么词",而不是在"查找事实"。
第二层:你不知道AI"理解"了什么
AI可能误解你的需求,但给出的答案看起来完全正确。比如你说"帮我写一个定时任务",AI写了一个用time.sleep的循环。技术上没错,但如果你要的是cron job级别的可靠性,这段代码在生产环境里就是个定时炸弹。
AI理解了"定时"这个词,但没理解你的真实场景。
第三层:你不知道AI"省略"了什么
AI给你的答案往往是"主干",省略了大量细节。这些细节可能是:
- 边界条件处理
- 异常情况的兜底逻辑
- 性能优化的注意事项
- 安全方面的隐患
它不是故意省略,而是这些细节在训练数据中出现的频率较低,所以AI的"注意力"没有放在上面。
三、真实案例:AI写的代码差点让我翻车
我在用AI帮我写一个GitHub Actions的自动化脚本时,遇到过一个典型问题。
AI给我写了一个完整的workflow配置,看起来非常专业:有checkout、有setup-node、有npm ci、有build、有git push。我差点直接复制粘贴就用。
但仔细一看,发现两个问题:
- git push之前没有
git pull --rebase,如果远程有新的提交,push会直接失败 - 没有设置
contents: write权限,push步骤会报权限错误
这两个问题,AI的代码里都没有处理。不是AI不会写,而是它不知道你的仓库可能有协作提交,不知道GitHub Actions的默认权限限制。
如果我没有逐行检查,这个脚本在GitHub上跑起来就会直接报错。
四、如何打开黑盒:人工验证的四个步骤
既然AI是黑盒,那正确的做法就是把黑盒拆开来检查。
步骤一:通读一遍,问"为什么"
不要只看结果对不对,要问AI"你为什么这么写"。让AI解释自己的思路。如果它解释不清楚,或者解释的逻辑有漏洞,那这段代码大概率有问题。
步骤二:逐行检查关键逻辑
重点检查:
- 错误处理是否覆盖了主要异常情况
- 边界条件(空值、超限、超时)有没有处理
- 权限和安全相关的配置是否正确
- 依赖的版本是否兼容
步骤三:实际跑一遍
能在本地跑的东西,一定要实际跑一遍。不要只看代码"看起来能跑"。很多问题只有实际执行时才会暴露——网络超时、文件路径不对、环境变量缺失。
步骤四:对比多个答案
让AI用不同的方式实现同一个功能,对比不同方案的差异。如果三种方案都用了同一种方法,那这个方法大概率是靠谱的。如果三种方案完全不同,那你就要仔细判断哪个更适合你的场景。
五、AI的正确使用姿势
把AI当"初级程序员"而不是"高级架构师"。
初级程序员写的代码能用,但需要你review。高级架构师写的代码你基本可以信任。AI目前的状态更接近前者——它能快速产出大量代码,但质量参差不齐,需要人工把关。
具体来说:
- 让AI做重复性工作:写模板代码、生成测试数据、写注释和文档——这些工作AI做得又快又好,出错概率低
- 自己做决策性工作:架构设计、技术选型、安全策略——这些需要你的经验和判断
- 让AI提供思路,自己做验证:AI说"你可以用Redis做缓存",你自己去查Redis的文档确认方案是否适合
六、黑盒不会消失,但会变透明
AI的黑盒问题是底层机制决定的,短期内不会消失。但好消息是,越来越多的AI工具开始提供"思维链"(Chain of Thought)功能,让AI把自己的推理过程展示出来。
这就像餐厅开了个透明厨房——你虽然不会做饭,但至少能看到菜是怎么做的,放了什么料。
在那之前,我们能做的就是:永远不要不经思考就信任AI的输出。 不管它看起来多完美,都要过一遍自己的判断。
AI是工具,不是权威。用好了是助手,用不好是坑。
