商业产业 Hacker News AI 2026-08-11T00:33 正文 ok 808 words

🔶 AI 编程及其不满

英文标题:🔶 AI Coding and Its Discontents

一名曾因 Claude Code 而转向 AI 编程的资深硅谷工程师表示,AI 生成的功能曾两次导致产品崩溃,并让他面临被解雇的风险。文章指出,AI 代理生成的代码表面合理,却可能隐藏难以发现的缺陷;如果开发者缺乏细致审查,追求速度反而会损害系统可靠性。除质量问题外,全面外包编码给 AI 还可能带来枯燥的工作流、阻碍初级开发者成长,以及不断上升的 token 成本。作者认为,AI 编程工具依然很有价值,但行业仍需探索可持续的人机协作方式,而非将 AI 视为无所不能的“无限机器”。
打开原文相关 3 · 机会 0
media3.4 KB media235.2 KB

中文

今年 1 月,我收到了一位硅谷资深软件工程师的来信。他自称原本是 AI 怀疑论者,但在第一次尝试 Claude Code 后便被说服了。“一夜之间,它改变了我做工作的方式,”他写道,“它真的、真的很好。”

据他解释,他已不再使用标准开发环境。相反,他“完全使用 Claude Code”完成工作:在终端窗口中与这一工具交互,并让它代为编程。

“如果让我猜,”他总结道,“我会说,一项原本要花我一周的任务,现在两天就能完成。”

去年冬天,我调查了 300 多名软件开发者,了解 AI 如何改变他们的工作。大多数人讲述了类似的经历:从亲自编写代码,转向指挥 AI Agent。这个新工具在该行业迅速变得无处不在,速度令人震惊。

这个故事之所以与其他人相关,是因为 AI 编程工具已成为 AI 能力的典型例证——在这项技术将颠覆性地推进至我们的工作与生活之际,它只是众多后续变化中的第一步。

但如果现实情况要复杂得多呢?****

上周,我收到了同一位资深工程师的新消息;他想为自己的故事补充一段令人警觉的后记……

“我写信是想向你更新我对于 AI 在软件工程中现状的看法,”他开头说道,“因为我的态度已经发生了相当大的转变。”

他告诉我,自己使用 Claude Code 生成的功能曾两次导致产品崩溃。他的老板告诉他,如果再发生一次,他就会被解雇。“在我的职业生涯中,我以前从未遇到过这样的质量问题。”

问题在于,AI Agent 生成的代码看起来很合理,却可能包含“难以察觉的 bug”,最终引发重大问题。因此,你应该认真审查 Agent 的输出,但这并不容易。正如这位工程师告诉我的,理解并非自己亲手编写的代码是“出了名地难”,因此这个额外步骤“很容易被直接忽略掉(尤其是在我们都试图将开发速度提升到‘10x’的时候)”。很快,系统就开始出问题。

“这些编程套件很有用,也让开发者的生活更轻松,”他总结道,“但它们同样会助长懒惰。”

为应对这些问题,这位对 AI 幻灭的工程师已回到主要手写代码的方式。以下是他对当前理念的解释:

“慢慢地、稳扎稳打地亲自编写代码,并将 LLM 用于范围狭窄或特别烦人的任务(例如编写测试或一次性脚本),才是产出最高质量代码的最佳方式,因为这是唯一能够真正理解代码的方式。”

关键在于:他并不孤单。

我越来越多地从软件行业的其他人那里听到类似的抱怨(例如,可参见今年 5 月的这期播客节目)。Claude Code 等工具可能令人感觉像魔法,但将所有代码生产都外包给 AI 的策略,目前并不可持续。

除了可靠性问题之外,这种做法往往还会造成令人麻木的工作流,并形成一种环境:初级开发者将永远无法积累成长为高级开发者所需的专业能力,而高级开发者本应能够设计复杂系统。

与此同时,随着前沿实验室削减对底层计算成本的补贴,为寻找可用结果而尽可能烧掉更多 token 的旧习惯,正变得成本高昂到难以承受。

从外部看,软件开发似乎是 AI 潜力的最佳样板;从内部看,它却一团糟。

这并不意味着程序员会放弃 AI;它对编程语言的驾驭能力太有价值,无法忽视。但我认为,行业还需要做更多工作,探索如何以一种真正有效的方式将 AI 整合进这个行业。

这是一个关键点。

过去这一年令人疲惫不堪。前沿实验室的公关部门非常出色地让我们相信,AI 的发展正以惊人且足以改变世界的速度发生。但如果拉远视角,就会发现,自去年夏天以来,几乎每一项“突破”都集中在计算机代码和数学这两个狭窄领域;它们由高度结构化的语言定义,并且拥有海量的专业训练数据。

然而,即使在这个对 AI 而言堪称最佳情境的环境中,我们仍在艰难摸索,试图弄清究竟该如何以长期合理的方式使用这些工具。

这并不意味着 AI 无法发挥作用,或是毫无用处。但它确实强调了一个重要事实:AI 不是一台能解决我们所有问题、并最终在冰冷而令人困惑的世界中赋予我们意义的魔法“无限机器”。它是一项普通的技术,也许我们该开始以这种方式谈论它了。

English / 原文

Back in January, I received a note from a senior software engineer in Silicon Valley. He described himself as an AI skeptic who became converted after trying Claude Code for the first time. “Overnight, it changed the way I do my job,” he wrote. “It’s really, really good.”

As he explained, he no longer used a standard development environment. Instead, he “exclusively uses Claude Code” to get the job done, interacting with the tool in a terminal window and allowing it to program on his behalf.

“If I had to guess,” he concluded, “I’d say a task that would have taken me a week now takes me 2 days.”

This past winter, when I surveyed more than 300 software developers to learn how AI was transforming their jobs, the majority told a similar tale of shifting from writing their own code to instructing AI agents. The speed with which this new tool became ubiquitous in this industry was stunning.

This story matters for the rest of us because AI coding tools have emerged as the prime example of the power of AI—the first step of many more soon to come on this technology’s disruptive march through our work and our lives.

But what if the reality here is more complicated?****

Last week, I received a new message from that same senior engineer who wanted to share an alarming addendum to his tale…

“I’m writing to give you an update on my current thinking about the state of AI in software engineering,” he began, “because my attitude has shifted quite a bit.”

He told me that features he generated using Claude Code ended up crashing their product on two different occasions. His boss told him that if it happened one more time, he’d be fired. “I’ve never had quality issues like this before in my career.”

The problem is that code produced by an AI agent looks reasonable, but can contain ‘hard-to-spot bugs’ that end up causing major problems. As a result, you should carefully review your agent’s output, but this is difficult. As the engineer told me, it’s “famously hard” to understand code you didn’t write yourself, so this extra step becomes “easy to just blow it off (especially when we are all trying to ‘10x’ our velocity).” Soon, systems start to break.

“The coding harnesses are useful and make life as a developer easier,” he summarized, “but they also encourage laziness.”

In response to these issues, this disillusioned engineer has returned to largely programming by hand. Here’s how he explained his current philosophy:

“Writing your own code, slowly but surely, and using LLMs for narrow or particularly annoying tasks (say like writing tests or throw-away scripts), is the best way to produce the highest quality code, since it’s the only way to properly understand it.”

Here’s the thing: he’s not alone.

I increasingly hear similar rumbles from many other people in the software industry (see, for example, ​this podcast episode​ from May). Tools like Claude Code can feel like magic, but the strategy of outsourcing all code production to AI isn’t currently sustainable.

In addition to reliability issues, it often engenders a mind-numbing workflow and an environment where junior developers will never acquire the expertise to become senior developers capable of designing complex systems.

Meanwhile, as the frontier labs reduce their subsidies on underlying computing costs, the old habit of burning through as many tokens as possible in search of workable results is proving prohibitively expensive.

From the outside, software development seemed like the poster child for AI’s potential. On the inside, it’s a mess.

This doesn’t mean that coders will abandon AI; its facility with programming languages is too valuable to ignore. But I think there’s a lot more work to be done trying to figure out how to integrate AI into this industry in a way that actually works.

This is a key point.

This last year has been exhausting. The PR departments of the frontier labs have done an excellent job convincing us that AI developments are occurring at an astounding, world-changing rate. But if you zoom out, it becomes clear that almost every “breakthrough” since last summer has concerned the narrow domains of computer code and math, which are defined by highly structured languages and come accompanied by massive amounts of specialized training data.

And yet, even in this best-case-scenario setting for AI, we’re still struggling to figure out how to actually use these tools in a way that makes sense in the long run.

This doesn’t mean that AI doesn’t work or is useless. But it does emphasize an important truth: AI is not a magic “infinity machine” that can solve all our problems, and ultimately deliver us a sense of meaning in a cold, confusing world. It’s a normal technology, and perhaps it’s time we start talking about it that way.