AI生成的代码能运行,就可以使用了吗? / If AI-Generated Code Runs, Is It Ready to Use?

AI时代的判断力 · 第37篇

“能够运行”只证明代码在某个输入下没有立刻失败。它没有证明边界情况正确、依赖可信、数据安全、性能足够,也没有证明代码解决了真正的问题。

从底到顶建立验证金字塔

  1. 理解:逐段说明代码做什么;无法解释的部分先不采用。
  2. 静态检查:格式、类型、依赖、许可证、已知漏洞和秘密信息。
  3. 单元测试:正常、空值、极值、错误格式与恶意输入。
  4. 集成测试:权限、网络、数据库和外部服务在真实边界下工作。
  5. 人工审查:由熟悉业务与安全的人检查设计,而不只检查语法。
  6. 受控上线:小范围部署、监控、速率限制和回滚方案。

一个有效的反向提示

不要继续改写代码。请列出它可能失败的五种方式,并为每一种设计一个能证伪当前实现的测试。

让生成代码的同一个模型自我评价可以发现明显问题,却不能算独立验证。至少使用确定性的测试工具,并让最终责任人看过关键路径。

参考资料


了解 Geoffrey Chen 的更多信息

订阅后即可通过电子邮件收到最新文章。