商业产业 Hacker News AI 2026-10-07T09:15 正文 ok 731 words

不喜欢 AI 编程的理由

英文标题:🔶 Reasons to Dislike AI Coding

文章从“代码是否属于艺术”“AI 是否抢走就业”“编程是否被去人化”“软件工程是否依赖规则”以及 AI 公司治理等角度,逐一讨论反对 AI 编程的常见理由。作者认为,软件使用者通常为实际成果而非创作过程付费;只要开发者仍能交付有价值的软件,就不会因为 AI 能生成代码而失去其全部价值。文章还援引马克思关于机器与劳动的论述,指出问题的核心并非技术本身夺走工作,而是生产方式造成的异化。对于开发者而言,文中主张应将 AI 视为提高软件交付效率的工具,同时警惕大型 AI 公司可能带来的权力与利益问题。
打开原文相关 3 · 机会 0
media47.1 KB media32.1 KB media2.1 KB media5.0 KB media305.6 KB media799.4 KB media53.4 KB media33.5 KB

中文

代码即艺术

我此前在 艺术还是工具? 中谈过这一点。如果你将软件视为一种艺术产出,那么生成式软件就不是真正的软件,因为它不具备真正艺术标志性的、难以言喻的创造性。

对此没有什么反驳空间,只是想要软件的人通常并不是在为艺术品付费,而是在为结果付费。而使用某个成品所获得的结果,并不会因这个成品是如何制作出来的而有所不同。

这同样意味着,也没有什么理由能够支持这种观点,除非你将以下想法视为公理:可以被视为艺术的事物只能由人类创作;以及,使用这一套特定工具让人与作品之间产生了过大的隔离,而历史上没有任何其他工具组合曾被认为造成了过大的隔离。

AI 是就业窃贼

我此前也在 论工作机器 中谈过这一点。如果你认为自己受雇是为了敲出代码,而雇主如今能够使用一台会敲代码的机器,那么这台机器就“偷走了你的工作”。

但这份工作的本质从来不是敲代码,而是交付有价值的软件。仍然能够做到这一点的人,依然可以从需要完成这项工作的人组织那里获得报酬。而且,正如我在链接文章中所说,随着应用变得更高效,需求只会增加。

人类沦为肉身代理

如果你认为软件创作是一项人与人之间协作的事业,那么接收由软件生成的任务描述,再将其转化为提示词,让软件据此生成更多软件,就是一种去人化的体验。

这一直是社会数百年来的发展轨迹。以下引文来自 《机器片段》:

……一旦劳动资料被纳入资本的生产过程,它就会经历不同的形态变化,其最终形式是机器,或者更确切地说,是一个自动化的机器体系(机器体系:自动化体系只是其最完整、最恰当的形式,并且唯有这种形式才将机器转化为体系)。这一体系由一个自动机驱动,即一种能够自行运动的动力;这个自动机由众多机械与智力器官构成,因此,工人自身仅仅被纳入其中,成为其有意识的联结环节。……

因而,知识与技能的积累、社会大脑的一般生产力,均被资本所吸收并与劳动相对立;因此,它表现为资本的一种属性,更具体而言,在其作为真正的生产资料进入生产过程的范围内,表现为固定资本的一种属性。

这段文字由卡尔·马克思在约 1857 至 1858 年间写成,表明机械劳动和智力劳动原本都被设想将由机器取代(在预言智力劳动的异化时,马克思或许借鉴了他对当代数学家查尔斯·巴贝奇的了解)。在这种情况下,夺走工作的并不是技术,而是生产方式。鉴于编程属于智力劳动,而生产资料就是我们的头脑,我们理应能够夺取它们。

软件工程即规则

受 Bertrand Meyer 的 AI for Smarties 启发:如果你相信软件工程是对软件工程师神秘知识的谨慎运用,这些知识被封装在 SOLID 原则、“组合优于继承”、“善用你的类型”、迪米特法则等规则之中,那么 AI 就不可能编写软件,因为它并不遵循这些规则;它只是在生成恰好能够编译的文本。

但别忘了,计算史的大部分都涉及人们以经验主义方式开发软件:从 Stack Overflow 复制代码,再不断调整直至它能运行;从《Numerical Recipes》或《Sinclair User》的代码清单中抄写代码,再不断调整直至它能运行;编写宏来自动化复制阶段,诸如此类。

AI 公司是不良行为者

如果你相信大型 AI 公司由并不将人类最佳利益放在心上的人经营(延伸阅读:上文尚未引用的所有卡尔·马克思著作),那么 AI 编程就是糟糕的,因为它在支持这些公司。前提是你不允许创建其他公司,不允许使用非企业模型,例如学术模型或社区模型,等等。

关于 Graham

我让你能够更快速、更轻松地创建高质量代码。

English / 原文

Code as Art

I covered this before in Art or tool? If you think of software as artistic output then generated software isn’t real because it doesn’t have the creative ineffability that’s a sign of true art.

There’s no argument against this one except that the people who want software typically aren’t paying for artworks, they’re paying for outcomes. And the outcomes of using a given artefact are the same regardless of how the artefact is made.

That also means there’s no argument for this one, unless you accept as axiomatic the ideas that things that can be considered art should only be made by people, and that using this particular set of tools is too big a separation between the person and the work when no other historical set of tools was too big a separation between the person and the work.

AI as Employment Thief

I covered this one before too, in On working machines. If you think of typing in code as the thing you get paid for, and the employers now have access to a machine that can do the typing, then the machine “stole your jobs”.

Except that the job was never to type code, it was to deliver valuable software. People who can still do that can still get paid by organisations that need that to be done. And, as I said in the linked post, demand only increases as application becomes more efficient.

Humans as Meat Proxies

If you think that software creation is an interpersonal endeavour, then taking task descriptions generated by software and turning them into prompts that the software uses to generate more software is a dehumanising experience.

This has been the trajectory of society for centuries. Here’s a quote from the Fragment on Machines:

…once adopted into the production process of capital, the means of labour passes through different metamorphoses, whose culmination is the machine, or rather, an automatic system of machinery(system of machinery: the automatic one is merely its most complete, most adequate form, and alone transforms machinery into a system), set in motion by an automaton, a moving power that moves itself; this automaton consisting of numerous mechanical and intellectual organs, so that the workers themselves are cast merely as its conscious linkages. […]

The accumulation of knowledge and of skill, of the general productive forces of the social brain, is thus absorbed into capital, as opposed to labour, and hence appears as an attribute of capital, and more specifically of fixed capital, in so far as it enters into the production process as a means of production proper.

This passage, written by Karl Marx in about 1857-1858, shows that both mechanical and intellectual work was always intended to be replaced by machinery (in predicting the alienation of intellectual work, Marx probably relied on his knowledge of contemporary mathematician Charles Babbage). In this situation it isn’t the technology that takes the job, it’s the mode of production. And given that programming is intellectual work, the means of production is literally our heads, we ought to be able to seize those.

Software Engineering as Rules

Motivated by Bertrand Meyer’s AI for Smarties, if you believe that software engineering is the careful application of the mysterious knowledge of software engineers, encapsulated in rules like the SOLID principles, “prefer composition over inheritance”, “use you’re type’s good“, the Law of Demeter and so on, then AI can’t possibly write software because it doesn’t apply those rules, it just generates text that happens to compile.

Never mind that much of the history of computing involves people taking an empiricist approach to software: copying it from Stack Overflow and tweaking it until it works; writing it out from a listing in Numerical Recipes or Sinclair User and tweaking it until it works; writing macros to automate the copying phase, and so on.

AI Companies as Bad Actors

If you believe that the big AI companies is run by people who don’t have humanity’s best interests at heart (further reading: all the Karl Marx writings I didn’t already quote above), then AI coding is bad because it supports those companies. As long as you don’t allow for the creation of other companies, the use of non-corporate models like academic or community models, and so on.

About Graham

I make it faster and easier for you to create high-quality code.