猿代码
Ape Coding [fiction]

原始链接: https://rsaksida.com/blog/ape-coding/

## Ape 编码:历史与复兴 “Ape 编码”——人类刻意手写软件代码的实践——源于对人工智能驱动(代理)编码的兴起的反弹。 最初,它是一个贬义词,用来形容无法使用人工智能工具的开发者,后来被担忧人工智能生成软件的可靠性和可理解性的批评者所接受。早期的代理编码存在复杂性、质量控制以及缺乏真正的 AI 理解等问题,导致了回归和人类开发者失业。 倡导者推动回归人类编写的代码,认为其质量更优,并提供更大的控制力,但这些努力最终失败,因为人工智能技术迅速发展。 然而,Ape 编码作为一种娱乐活动却意外复兴。围绕这种实践涌现出社区,吸引了重视刻意工艺、教育效益,甚至手动编码的冥想方面的爱好者。现代“Ape 编码者”合作进行雄心勃勃的项目,例如为人工智能设计的语言(𒀯)编写的人工编译器,其灵感来自 Linux 内核的规模和寿命。虽然主要是一种爱好,但 Ape 编码现在被视为积极的信号,代表着好奇心和对计算机科学更深入的参与。

这个黑客新闻的讨论围绕着用户rmsaksida发布的名为“猿类编程”的虚构短篇故事。故事讲述了一个名叫普路托的角色,他创造了“自主抹黑代理”(APEs)——能够生成大量在线诽谤内容的项目。 普路托吹嘘,一个APE就能产生“巨量恶意内容”(megaBraden),甚至可以绕过在线防御。他用一个虚构的个体测试了这个系统,导致数千条死亡威胁指向一个不存在的人。 这个帖子引发了困惑,评论者质疑这是否是讽刺或AI生成。作者澄清这是原创小说,并俏皮地将价值判断留给读者。另一条评论简要提到了名为“C'”的新规范语言,从而减少代码量。
相关文章

原文

Ape coding is a software development practice where a human developer deliberately hand-writes source code. Practitioners of ape coding will typically author code by typing it on a computer keyboard, using specifically designed text editing software.

History

The term was popularized when agentic coding (coding performed by AI agents) became the dominant form of software development. Ape coding first appeared in programming communities as derogatory slang, referring to developers who were unable to program with agents. Despite the quick spread of agentic coding, institutional inertia, affordability, and limitations in human neuroplasticity were barriers to universal adoption of the new technology.

Critics of agentic coding reappropriated the term during a period of pushback against society’s growing reliance on AI. Effective use of the primitive AIs available at the time demanded a high level of expertise, which wasn’t evenly distributed in organizations. As a result, regressions in software products and disruptions in electronic services were frequent within the first stages of adoption.

Ironic usage of ape coding as a positive description became commonplace. It highlighted a more deliberate approach to building software: one defined by manual craftsmanship, requiring direct and continuous human involvement.

Rationale

The central view of ape coding proponents was that software engineered by AIs did not match the reliability of software engineered by humans, and should not be deployed to production environments.

A recurring argument in favor of this perspective was based on comprehensibility. The volume of code AI developers could produce on demand was much larger than what human developers were able to produce and understand in a similar timeframe. Large and intricate codebases that would take an experienced human engineer months or years to grasp could be produced in hours. The escalating complexity of such codebases hindered efforts in software testing and quality assurance.

AI skepticism also played a part in the critique of agentic coding. There was widespread speculation on whether the nascent AIs of the period possessed true understanding of the tasks they were given. Furthermore, early AI implementations had deficiencies related to context length, memory, and continual learning, affecting quality and consistency of output.

Other defenses of ape coding reflected concerns about the impact of AI on labor markets. Despite the shortcomings of AI-written software, human developers were increasingly replaced by agents, with examples of high profile companies laying off large portions of their IT staff.

Tangentially, the responsibilities of human software engineers shifted when an essential aspect of their work (coding) was automated. The activities that remained were more similar to management, QA, and in some cases assistant roles. A common observation was that the human engineers who were still employed no longer enjoyed their line of work.

Advocacy for human-written software

Ape coding advocates argued that a return to human-written software would resolve the issues introduced by AI software development. Interest groups campaigned for restrictions on agentic coding, subsidies for AI-free software companies, quotas for human developers, and other initiatives in the same vein.

Although ape coding advocacy enjoyed a brief moment of popular support, none of these objectives were ever achieved.

Decline

Advances in AI quickly turned ape coding into an antiquated practice. Technical arguments for ape coding did not apply to newer generations of AI software engineers, and political arguments were seen as a form of neo-Luddism. Once virtually all software engineering was handed over to AIs, the concept of ape coding fell into obscurity.

Revival and modern practice

A resurgence of interest in ape coding has revived the practice among human hobbyists. Communities and subcommunities have formed where ape coders—as they came to be known—discuss computer science topics, including programming languages and software engineering.

Prominent ape coding clubs have attracted hundreds of thousands of members who exchange ideas and human-written programs. The clubs organize in-person as well as virtual gatherings where teams of ape coders collaborate on software projects.

The main value of modern ape coding appears to be recreational. Ape coders manifest high levels of engagement during coding sessions and report feelings of relaxation after succeeding in (self-imposed) coding challenges. Competitive ape coding is also popular, with top ranked ape coders being relatively well-known in their communities.

Aside from recreation, humans pursue ape coding for its educational value. Many have described ape coding as a way to gain a deeper understanding of the world around them. While an interest in ape coding was initially perceived as an unusual quirk, it is currently seen as a positive trait in human society, signaling curiosity.

Members of the software archaeology community published a series of articles on the human-written Linux kernel that had a deep impact in the larger ape coding world.

Considered by ape coders to be the ultimate work of human software engineers (in scale, complexity, and longevity), Linux inspired a wave of initiatives to build large scale software projects featuring thousands of human collaborators.

The most promising of these efforts is based on studies by the AI-written software interpretability community. The goal is to produce an entirely human-written compiler for the AI-designed programming language 𒀯. A fully compliant implementation is estimated to be many times as complex as the Linux kernel, but a prototype with limited scope is within human capabilities and is currently the primary focus of enthusiasts.

Results so far have been encouraging, as the latest version of h-𒀯 is able to build functional binaries for small programs. However, the initiative has recently suffered a setback as core contributors to its codebase left to work on a fork. The split was motivated by heated debates on whether C is the most suitable programming language for the project; dissenters expressed a desire to rewrite it in Rust.


© Rômulo Saksida

Everything in this website was written by a human

联系我们 contact @ memedata.com