2倍,而非10倍:2026年与大语言模型共同编程
2x, not 10x: coding with LLMs in 2026

原始链接: https://obryant.dev/p/2x-not-10x/

截至2026年,大语言模型(LLM)已达成一个重要的生产力里程碑,其可靠性足以在自动化反馈循环中发挥作用。它们在具备客观、可验证验收标准的任务中表现出色,显著提升了代码编写效率。然而,作者认为,在代码可维护性或高质量文档编写等更具主观性的挑战上,大语言模型的发展已陷入瓶颈。 作者提出了“阶梯假说”:达到自动化门槛是最关键的一步,后续单纯的模型改进将带来边际效用递减。因此,预期中的生产力十倍增长不太可能仅仅通过更好的模型来实现,而是取决于行业如何重构工作流程以适应现有技术能力。 目前,作者将大语言模型视为一种迭代工具——即生成需要人类进行大量精修的草稿,而非替代工程判断。尽管“感性编程”(vibe coding)及其他实验性方法正日益流行,但作者对其在关键系统中的长期可行性持怀疑态度。目前来看,未来的发展方向在于优化以人为本的开发实践和沙箱环境;必须承认,虽然大语言模型极其有用,但离取代软件工程师还相去甚远。

这场 Hacker News 讨论探讨了大型语言模型(LLM)对软件工程生产力的真实影响,并对“十倍工程师”的炒作提出了质疑。 核心观点如下: * **阿姆达尔定律论点:** 批评者认为,由于编写代码仅占开发者总工作量约 25%(其余还包括规划、测试和审查),即便编写代码的速度显著提升,对整体产出的贡献也十分有限。 * **隐藏的生产力:** 一些观点认为,LLM 带来的并非仅仅是现有任务的提速,而是能够实现以往被忽略的新型工作,例如大规模重构或定制内部工具。 * **质量与额外开销:** 人们持续担心“代码臃肿”和 LLM 产生的噪音问题。许多用户反映,AI 生成的注释和文档往往会降低代码质量,导致代码审查变得“令人抓狂”,并增加了清理代码的时间。 * **“无限”例外:** 一个常见的反驳是,对于那些此前缺乏编程技能的人来说,LLM 提供了“无限”的提速,这实际上是降低了准入门槛,而非仅仅是加速了资深开发者的工作。 总体而言,共识认为对于特定任务,实现 2 倍的效率提升是现实的,但整体工程效率受限于开发生命周期中非编码环节的制约。
相关文章

原文

Something I've learned about myself over the past 6 months is that if I ever discover Harry Potter is nonfiction and magic is real, my reaction will be approximately "OK that's interesting, but is this magic stuff good for anything more complex than writing unit tests?"

LLMs have certainly passed that threshold of usefulness, though as of July 2026 and based solely on my own direct observations, they still have fundamental limitations such that I have not yet taken up woodworking as a contingency plan for "Software Engineer" becoming an extinct profession. Based on my mental model of why LLMs have become useful, I'm not sure that will change any time soon. Here's my hypothesis:

LLMs' increased rate of adoption in 2026 is largely due to them becoming reliable enough to run effectively in automated feedback loops. Now that they've passed that threshold, further improvements in model performance will have a much smaller impact on productivity than they have had previously.

An analogy is that to walk up a set of stairs you need to be tall enough to get up at least one step at a time, but being so tall you can take two or three steps at once matters a lot less.

LLMs are useful for coding because you can tell them "make a button that does X, then click the button and make sure it does X." They're able to iterate toward that goal in meaningfully sized steps instead of thrashing, and they're able to reliably predict when a human would say "yes the button now does X" or "no the button does not yet do X." As such, LLMs are useful for producing code that meets easily and objectively verifiable acceptance criteria which you provide explicitly.

And that is incredible. Stupendous. Life-changing. Maybe even a 2x improvement. However, there are still important questions in this line of work for which the answers cannot yet be predicted by an LLM with sufficient accuracy to be, in my opinion, useful. Such as:

  • "Is there a more maintainable way to structure this code?"
  • "Does this documentation include the right information and omit extraneous information?"

As such, I use LLMs mainly to produce a rough draft of the code which I then iterate on heavily, at least until I like the general structure. I've been a little sloppy when it comes to readability of individual lines/functions. (I have to include this hedge in case my coworkers read this post). And even with the line-level sloppiness, I still consistently underestimate how long that iteration is going to take. A working implementation used to mean a task was 80% done; now it's more like 20%.

As for documentation, I've found this simple instruction to vastly improve LLMs' output:

Never write READMEs, docstrings, or comments. I will write those myself later. And yes, I really mean this.

A potentially reasonable reaction to these limitations would be to say "LLMs have improved a huge amount over the past year and thus future improvements over the next year will likely make them much better at writing good documentation and maintainable code." But if you accept my staircase hypothesis, that reaction is a lot less certain. Being able to climb up a tall staircase doesn't mean you can swim.

So my current guess is that further model improvements alone are unlikely to get us to a 10x productivity boost over the dark ages of 2025. Instead I think most of the productivity gains in the foreseeable future will come from the industry retooling around the model capabilities we already have today.

I'm not an early adopter in this space. So far I've gone from using LLMs as a glorified search engine/Stack Overflow replacement (RIP), to having them code via interactive chat, to writing declarative specifications of the end state I want. Sandboxed environments have also been an MVP so that I don't have to grant the LLM permission to do something every 30 seconds. There's lots of work to be done in refining the workflows and tooling around this stuff.

I've also done some vibe coding (which I'm defining as "generating code without reading/understanding it all") for non-work / non-production things. I'm interested to explore that area more outside of work, and of course plenty of other people have been enthusiastically forging ahead. It's hard to know how viable that approach can be in the long term since there hasn't been a long term yet. But you know, maybe there's something there; maybe certain test practices/tooling and such will make it safe to rely on black-box LLM code even for operating critical infrastructure. Maybe we can get to a 10x improvement by routing around LLMs' fundamental weaknesses.

But in the mean time, I'll stick with my hand-crafted READMEs.

联系我们 contact @ memedata.com