production

4 posts

你的错误追踪器知道崩溃发生在哪里,但这无法帮你复现它

堆栈追踪告诉你崩溃发生的位置,而不是原因。以下是一种捕获-复现模式,能把生产环境崩溃转化为本地可调试的测试用例。

你确切知道生产环境在哪里崩溃了。堆栈追踪指向 的第 147 行。异常是一个针对 的 。你拉下代码,运行测试,全部通过。你用一个示例 payload 手动命中端点,它工作正常。 Bug 是真实的。客户在触发它。但你就是没法在自己的机器上复现。…

你的测试通过了。但你的数据仍然是错的。

Statistical debugging 将你的生产数据视为信号,将 bug 视为信号中的异常。以下是如何在不添加任何 unit test 的情况下发现数据损坏、off-by-one 错误和静默故障。

你的 test suite 是绿的。你的日志很安静。你的仪表盘没有红线。然而,3% 的用户收到的发票总额是负数,或者你的推荐模型正在默默地将已删除的产品排在第一位,或者你的聚合 pipeline 正在对某个特定时区的退款进行重复计数。 这些是数据 bug。它们不会抛出异常。它们不会导致 pod 崩溃。它们通过了你的…

恐惧 vs. 碾压:AI 编程的两种现实

AI 编程对能够从任何混乱中恢复的精英团队有效。其他人则只能面对恐惧、失败的 CI 和被放弃的实验。差距不在模型本身。

观察两个团队使用同一个 AI 模型,你会看到两种完全不同的结果。 第一个团队让模型构建一个界面。输出接近但不够准确。样式偏离了 Figma 文件。状态管理触及了不该碰的文件。构建在本地通过但在 CI…

AI 编程落地生产环境:为什么大多数团队半途而废

大多数团队尝试 AI 编程,代码上线后被 QA 驳回,然后放弃。问题不在于模型——而在于缺少让 AI 输出变得可信任的护栏。

大多数尝试 AI 编程的团队都遵循相同的轨迹。 他们一开始充满热情。模型在几分钟内生成了功能,他们把它发布了。QA 发现了一个 bug,于是他们发布了修复。QA 又发现了一个 bug,这次在一个本应毫无关联的 module 里。修复涉及十四个文件,QA 又发现了三个新问题。…