编码智能渐近性
Coding Intelligence Asymptotics

原始链接: https://fi-le.net/asymptotics/

## 自动化编码的软件未来 本文探讨了完全自动化软件开发的影响,消除了人类在编码速度和智能上的限制。核心论点是代码库将大幅*增加*规模,潜在的瓶颈将是编译时间而非开发人员的努力。 起初,人工智能可能会偏向于拥有最多现有数据的技术,但随着资源的无限可用,它最终将优化为*最佳*工具,即使这些工具需要显著的“转换成本”或目前属于利基市场(如APL或FPGA编程)。这些人工智能创建的工具最初可能对人类来说显得笨拙,最终将变得面目全非。 这使得雄心勃勃的规格成为可能,但也突出了关键的“对齐问题”——确保人工智能优化为*我们*期望的结果。充足的开发时间也允许前所未有的代码验证水平,包括形式化规范、正确性的数学证明和严格的红队测试,消除依赖关系并保证功能。虽然一些理论上的优化可能仍然不切实际,但许多这些转变即将开始影响软件开发。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 编码智能渐近线 (fi-le.net) 6点 由 fi-le 2小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:
相关文章

原文

18th of December, 2025

What happens to software when all coding can be cheaply automated? We typically think of software as being constrained by the intelligence and time budget of the people who develop it. Here we lift that restriction and consider the case of unlimited software development intelligence, where humans are not involved in the coding part at all.

The length of a codebase limits how quickly changes can be made. For a given bug, a smart developer can rule out some proportion of the code that surely doesn't contain the error, then a debugger or tests can iteratively rule out more and more of the remaining parts. If that last part resembles a binary search over the number of lines N, then this scales as log(N). A search over fixed-length combinations of k lines also scales as log(N).

Since this is a very flat type of scaling, additional developer time buys us many more orders of magnitude of codebase length. Other more prosaic bottlenecks to producing a lot of code, such as typing speed, also fall away. We conclude that by default, codebases will become much larger in the future. It seems silly to think about it, but it could be that the limiting factor will be the compilation time.

The stack used in today's coding projects is largely determined by what developers are already skilled at doing. It is rare for teams to develop with technologies they're not previously familiar with; languages, libraries and tools all have switching costs. Observing the recent paradigm of pretrained language models, one could be tempted to assume that this also continues with artificial intelligence: the languages etc. with the most data available get picked. Approaching the limit of infinite developer time though, it first becomes more efficient to eat the switching costs for the most appropriate tools, then to create entirely new tools, and finally to write the best possible binary directly.

The kinds of tools that this enables seem very hard to reason about. Some of today's areas in programming that are most bottlenecked by developer time might be unusual paradigms (like array programming APL), tools that have a horrible user experience (like FPGA-programming in Xilinx), or difficult ways of reasoning which inherently have an alien, antimemetic quality (like theorem proving in Agda). The programming tools that machines create for themselves might at first feel similarly awkward to humans, that is until they become completely unrecognizable to human programmers.

The above enables much more ambitious specs in the first place. The system writing the spec is finally bottlenecked by the readout of the constraint optimization it is solving for with the software, which could be about human preferences, some other physical process, or an output of a reference piece of software. Specs become longer by default, but here it pays off for us humans to keep oversight and make sure the spec contains the kinds of things we want to see in there. Here we run up against the alignment problem: it might be that ultimately the hardest part of all of this is to specify the correct constraint optimization.

This leads us to a neat feature of the infinite developer time paradigm. We can start asking for code with levels of guarantees that would be practically impossible for human teams. For starters, we need no dependencies, since it costs nothing to write everything from scratch. But we can think much bigger still, like demanding that the spec is logically formalized, to then mathematically prove that the produced code conforms to that spec, and red-teaming all the different ways the spec could fail to be what we actually wanted.

Asymptotics need not be informative for the orders of magnitude we are at (i.e., nobody does matrix multiplication with Coppersmith-Winograd), but some of the ideas laid out here will already play out soon, and are ready for early adopters.

联系我们 contact @ memedata.com