BRIDGES

Large Models are 3D Printers at Bit Layer

A yellow 3D printer actively printing a blue classical bust on a desk, surrounded by several completed blue sculpture-style portrait busts, set against a green wall with hexagonal wooden shelving units mounted above.

Read this in other languages: 简体中文

Someone once offered an insight: people tend to overestimate the short-term impact of a technology, while underestimating its long-term impact. This observation is particularly useful for long-term thinking. If we treat technological progress as a marker of productivity growth, and then compare productivity cycles with the performance of related public companies, we find that capital markets tend to amplify short-term technological breakthroughs — or eventually discover that the technology’s value cannot justify its valuation — causing significant swings in a company’s stock price. Yet in the long run, companies that continuously invest in technological progress tend to generate returns that far outpace inflation.

That said, this is not an article about investing — perhaps I’ll explore that topic another time. The point I want to make here, following that same logic, is that the current enthusiasm around large language models is very likely overestimated in the short term.

I have a theory that supports this from a different angle. The miniaturization and widespread adoption of electronic devices should, in theory, make more people comfortable using them. And yet the prevailing reality is that people who are called “Generation Z,” or even younger, have poor computer skills (at least in China). By the same logic, the idea that “everyone can code” remains, for the foreseeable future, a statement that needs so many qualifications it can be as long as the Equator.

First, “everyone can code” was already a fact before LLMs arrived. The internet has long been full of free learning resources, and free integrated development tools have made it possible for beginners to start programming. Second, what most people actually need isn’t the ability to code, but the ability to solve problems — or more precisely, the outcome of having their problems solved. If your problem happens to be solvable through code, and you lack the time, energy, or aptitude to learn programming, then an LLM might be a perfectly reasonable solution.

Not long ago I came across the idea that “a large language model is a 3D printer.” I thought about it for a moment and found the metaphor explained everything. A 3D printer at the atomic (physical) level is fundamentally about rearranging matter; what an LLM produces — whether plain text, code (which is also text), or multimedia — is fundamentally about rearranging bits. We just call it “generation.”

I still remember when 3D printing was in its early, heady days more than a decade ago, and people were confidently declaring “we can 3D print an entire building.” It sounds a lot like today’s claim that “artificial intelligence will replace programmers.” Yet a decade later, manufacturing hasn’t exited the stage of history — if anything, Washington is loudly campaigning to bring it back to American soil. That doesn’t mean 3D printing has stagnated: from hobbyist modeling communities to professionals using it for rapid prototyping, 3D printing is more widespread than ever before.

By that same token, if someone declare that “software development can be entirely handed off to AI”, then they are probably about as premature as claiming you can print a house. Just as building a house requires integrating materials, structural mechanics, and cost considerations, software engineering is a systems discipline — and the algorithms that LLMs excel at are just one piece of the big picture. Software builders need to understand business requirements and design in order to hold a complete architectural vision in mind. Beyond that, targeted optimization — compressing execution time, refining user experience — is the kind of work that only comes from long, accumulated experience.

Following this logic, the claim that “our generation may be the last of the handcraft programmers” is most likely wishful thinking (or, “scaring ourself”). Someone without a solid grasp of software architecture is unlikely to formulate requests that are both precise and appropriate. “Precise” doesn’t mean something like “build me a note-taking app” — even within a domain as specific as note-taking software, the outcome varies enormously depending on the underlying logic and structure. In my own practice, the instructions that yield the highest success rate from LLMs are things like: “I need an endpoint; here is its logic, here is how it should be recorded in the database, and here is what it should return on error.” Someone without long-term experience building software would find it very hard to construct a prompt like that on short notice — just as an untrained person can’t simply sit down and produce a model ready for 3D printing.

Another common misreading of LLM-assisted coding is the idea that software will become “disposable.” This is even more far-fetched. “Software” — or “programs” — is an enormous category, much like how a house, a smartphone, and a plastic takeaway container are all “objects.” If all software were disposable, would that include WeChat, Taobao, Facebook, or even Chrome? Are you really going to ask an LLM to write you a browser from scratch every time you want to browse the web? Or build an entire social network from the ground up every time you want to message someone? Clearly, none of that is realistic.

My pushback against these claims doesn’t mean LLMs are useless in software development. On the contrary — just like 3D printing — you can absolutely use an LLM to produce a rough prototype in the early concept stage, then use it as a foundation for evaluation and further development. Going further: just as 3D printing is used to produce individual components, you can use an LLM to help you build or even discover algorithms you’re unfamiliar with, or to generate personalized scripts — much the same way people use 3D printing today.

So, at least for now, I believe that every sensational claim made in the name of LLMs overlooks the complexity of software engineering and runs counter to the gradual curve along which technology and society actually evolve. In the long run, LLMs will not only improve the efficiency of software development, but also enable software to deliver increasingly personalized experiences — for instance, by using LLMs to generate context- and user-specific programs on the fly. And that, as it happens, is exactly the state of coexistence that 3D printing and manufacturing have ultimately found their way to.

Feature image: Unsplash

#AI #LLM #Software Development