AI 编程的隐藏成本(以及如何有意识地使用它)

发布: (2026年4月28日 GMT+8 04:59)
4 分钟阅读
原文: Dev.to

Source: Dev.to

“AI 并没有弄坏你的代码。是你对它太过信任了。”

GitHub Copilot、ChatGPT 等 AI 工具正在改变我们编写软件的方式。你敲一行注释……瞬间就出现了完整的函数。感觉像魔法。

但有一个令人不舒服的事实:如果不小心,AI 会悄悄让你成为更差的工程师。这并不是反 AI——我每天都在使用它。

AI 编程的负面影响

1. 你停止深入思考

AI 给你答案,而不是理解。

def calculate_discount(price, discount):
    # Looks correct…
    return price * (1 - discount)

如果 discount = 20 而不是 0.20 会怎样?AI 并不会验证业务逻辑——它只会生成代码。

2. 缺乏上下文

AI 可能生成看起来整洁的代码,却忽视了生产环境的顾虑:

  • 没有分页
  • 没有限流
  • 没有身份验证
  • 没有缓存

你刚刚制造了一个生产风险。

3. 自信却错误的代码

AI 听起来很正确,即使它是错的。

List list = Arrays.asList("a", "b", "c");

Arrays.asList() 返回的是固定大小的列表,尝试添加或删除元素会抛出 UnsupportedOperationException。AI 漏掉了这条细微的语言规则。

4. 技术债务爆炸

AI 优先考虑“让它工作”,而不是“让它可扩展且易维护”。

function processOrder(order) {
    // No design pattern
    // No extensibility
    // Hard to maintain
}

生成的代码难以扩展和维护,导致技术债务不断累积。

调试能力下降

如果 AI 写了所有代码,当出现问题时会怎样?你只能在不完全理解的代码上进行调试。

谨慎使用 AI

1. 将 AI 用作草稿,而不是决策

错误做法: “AI 写的,直接上线。”
正确做法: “AI 写的,我再验证一下。”

2. 始终添加约束

不要只要求一个通用的 “用户 API”,要具体说明:

“编写一个带分页、限流、身份验证并具备错误处理的 API。”

示例(更好的 API):

if (limit > 100) {
    res.status(400).json({ error: "Limit exceeds maximum of 100" });
    return;
}
const users = await db.getUsersPaginated(page, limit);
res.json({ users });

3. 把 AI 当作初级开发者

  • 彻底审查代码。
  • 质疑假设。
  • 测试边缘情况。

4. 向 AI 提问 “为什么”,而不仅仅是 “什么”

不要只说 “给我代码”,而是:

“解释权衡、边缘情况和风险。”

5. 将 AI 用于重复性工作

最佳使用场景:

  • 样板代码
  • 测试用例
  • 文档
  • 重构建议

避免在关键架构决策上依赖 AI。

问题不在于 AI 本身——在于盲目信任。最优秀的工程师不会用 AI 替代思考,而是用 AI 放大思考。

0 浏览
Back to Blog

相关文章

阅读更多 »