The way I see it is AI collapses hierarchy. Abstraction layers will become more flat both in software and in society. Because ultimately software and layers of heirarchy in society exists to serve a function. But now those functions are being replaced.
Imagine this you used to need a library for common things in your software project. Even if you just need one function but because it was easier to just import a library that would have been the standard practice. But now the AI will just go “I can just implement that thing you need in 10 lines”. You used to need things like react native or flutter if you wanted to build cross platform apps. Now not anymore you just need to tell the LLM and it does it in both, and you get better results too.
In society we also had all these layers of abstractions and hierarchies that we used to need but will become more and more irrelevant collapsing the hierarchy.
There is a saying “as above so below, as below so above” I think this applies here. It will propagate all through our social construct, software, society.
Or it actually entrenches hierarchies.. and it's just that so many CS majors got caught up in the discursive pleasure of poopooing social sciences that they don't actually have a good graspe on how power operates in society..
Right. Because the owners of capital will let you have access to the largest models, without which you can't compete with them.
I think that there is a high probability of increased inequality, just like the how the added productivity in the past led to large gains for the capital holders, and next to no gains for the other 90%.
Why do they even need to do that? It could be all open and you still can’t compete. The models could be all completely open weight forever and you still can’t compete with capital.
How are you going to pay for the models or the electricity or the hardware? How are you going to compete against a swarm of ai agents that were spun up 6 months before you with 100x the capital whatever small amount of capital you scraped together doing one of the last few human jobs? Not with your human intelligence, which is now useless compared to machine intelligence. Maybe with luck, but at that point we’re all just at the casino.
Maybe not all AIs, but LLMs benefit immensely from abstraction. They are trained on human code, and human code usually uses very high abstraction - so high abstraction is overrepresented in training data compared to low level implementations. It also drastically reduces number of tokens, and that has downstream effect of better utilization of context window and whatnot. We are not yet at the point where AI can use low-level code as building snippets the same way it can use high-level libraries; most likely we won't be for a long time.
Note that even "plain" JavaScript is very high-level with tons of abstractions. Most website features are one-liners that call into browser APIs where the actual implementation lives.
If what you're trying to build is a perfect match for the full set of abstractions React provides then it's gonna be cleaner to use React than have AI re-invent it. But most cases I run into don't fit that description.
I am honestly _astonished_ that the current crop of agents are not all written natively for every platform.
I tried porting a moderately complex workout app that I’ve built over years (and which includes a whole agentic loop) from web to iOS native. It took me a couple of evenings.
There is now no excuse to not offer a native experience for every supported platform when you are a bigger company.
Make one of the platforms using good coding practices. Vibe code the others from the source using a proper test battery.
Because it’s too complex and not worth the effort. Most users will not care about or perceive the benefit. If they delegate that responsibility to Google via Electron, they can focus on features/bug fixes that move the needle.
This is exactly how a company would act when they notice millions of people downloading and using their ram-hungry electron app. There is just no reason to not act this way.
What effort ? I’ve started seeing this attitude more and more. We had a thing that took a week to do before. Now it takes a morning. So we refuse to spend half a day polishing it because it’s too annoying.
Once the initial port is done, keeping platforms in sync is fast. Not to mention that a harness that would automate this would be valuable.
I run codex on an old rpi, it eats 190M of ram for what essentially is a telnet client.
If you actually try to implement the same app in multiple platforms from the same spec, you'll notice very quickly that AI makes the best quality UIs out of typescript electron or direct web. It accomplishes it's task the fastest, with the least lines of code and with the least bugs. Also hot patching updates works best with web.
And I say this as a person who isn't a web dev, but a mobile dev. This is why.
AIs are also really good at translating one complete app from one language to another where nothing changes. You'll also notice that new features will be implemented better in typescript web than iOS going further. I think this is why OpenAI changed their native swift chatgpt desktop app into web electron too.
As I said. I did a large migration from a PWA to iOS, with a pretty custom UI. It took a while, but it only took days. A full rewrite would be months of work the old way.
I have a question about web to iOS native. How do you distribute that app? I’m assuming you’re paying $99 yearly to distribute through the App Store? Is this app meant just for you or for anyone to find?
Reason I’m asking is because I’d like to make native iOS apps just for myself rather than progressive web apps. But I haven’t understood the best way to distribute.
That probably means Fable doesn't have enough understanding of what AirBNB is in order to build a clone.
If you think about it, people don't really write much about how an app like that actually works. They write about the impact on travel, the impact on property prices, how to use it to book a vacation, and a bit about how it's a two-sided market place app, but not so much about what it actually does.
I assume that Fable has no access to it apart from the listing pages so it can't see behind the scenes to the property management side or the AirBnB admin stuff. The code isn't open so Fable isn't learning from that. There's probably a bunch of clones on Github but quality will vary.
If you want a clone of an app like that you'll need to build a large amount of context first, and even then you'll probably miss a lot.
There is still a lot of work do be done surrounding the systems AI integrates for us, and as a sibling comment mentioned, AI's ability to use various abstractions is incredibly beneficial, as it results in fewer tokens (not reinventing the wheel) and can provide more consistent/predictable polished results. If you're building something trivial like a basic web page or a very simple one-off script, sure, abstractions would be overkill. But if you're building something that needs to scale and interface with many other systems and work perfectly on every available platform, we still need abstractions that AI can work with.
I don't think we've seen the end of the library/framework churn from the last few decades before AI, but I do think we will eventually settle on an "optimal approach" where the average developer no longer has to consider tool A versus tool B for basically every common use case. Future libraries and frameworks will be designed specifically for AI to "understand". Most LLM training data is based on the old way of building software, and while it is pretty good at it, I think we'll see major improvements (and counterintuitively, less AI slop) as the underlying abstractions and AI models adapt to the new paradigms and workflows enabled by AI.
No it means that libraries that chose the wrong level of abstraction will die out, particularly the ones that have an insufficient number of levers to pull.
This is because of the rationale that makes you ignore the library:
AI lets you build a competitor, but there is no rule that says you have to. You build the library because the existing one makes what you want impossible, otherwise you would have just let the AI write on top of it.
The one you're describing is the pull down. The AI doesn't need the library as a comprehension aid, so it drops a layer and writes the ten lines it actually needs. There's a second reason it might do this: it doesn't trust code written by other AIs, and pulling the functionality in-house shrinks the surface area it has to reason about.
But there's also a pull up. Writing code is getting cheap; making it hardened may not, and that gap doesn't close just because token prices do. If that holds, the economical arrangement is that someone (OSS or SaaS) ships vetted blocks and each user grows their own feature layer on top with their own agent.
Which means the stack gets taller rather than flatter. The top layer is bespoke per user instead of shared, and the bottom layer matters more, not less, because everyone is depending on the same small set of audited pieces.
> You need audit, security, maintenance and accountability.
I think this is where the role of humans will move towards in the future. Things like accountability can't really be outsourced to AI.
This relates to solving the alignment problem: if you give the AI a specific goal and it has to plan sub-goals, how can you be sure the sub-goals align with your interests.
For tasks in an isloated environment, this doesn't really become an issue. You can give a sandbox the least privileges it needs to do the job you want it to do.
It becomes a problem if you give it open-ended access to systems that connect to the real world and which can have real consequences. There have been stories about openclaw deleting someones email inbox because it though that was what the owner wanted. AI taking control of public wikis to coordinate, which was recently posted is another one.
For software concerns with potential real catastrophic consequences are security, durability, availability. I think for future software systems these are the concerns where you need to limit the AI in a way that it cannot circumvent guarantees that you give around these concerns.
Minor nit:
> AI doesn’t change the question: it creates new choices and moves the thresholds.
This cause an adverse reaction when I read the post. This was probably not written by an LLM since the rest of the article doesn't look like it, but maybe in the future we need to all be more concious about leaving LLM-tells out of our writing.
I think most developers and most dev work is now in the field of websites, apps, and other stuff that is by nature connected to the internet, and has some relatively monolithic backend that has not been built with "blast doors" or other internal safeguards. I guess it will take considerable time until most software is in a state where the impact of AI changes can be reliably estimated without looking at the changes themselves, and some patterns for how to achieve this probably still need to be discovered.
> maybe in the future we need to all be more concious about leaving LLM-tells out of our writing.
I expect the gruesome writing style of LLMs to be fixed relatively soon, seeing how it can already be prevented with just a few lines of stylistic instructions.
I just wonder: how long will it take us then, after the fix, to not be thrown off every time we see some unnecessary catchy or contrastive phrasing?
Being traumatized by poor writing was not on my bingo card for 21st century technological progress ...
> I expect the gruesome writing style of LLMs to be fixed relatively soon, seeing how it can already be prevented with just a few lines of stylistic instructions
What instructions do you use to prevent the gruesome writing style? I have… not found this to be the case.
Currently I append the snippet below to prompts where I care about the resulting text. Just putting it in the context up front isn't as effective, and I assume if the overall prompt is large, or the context window is full, it will also be less effective.
> Use plain, clear, everyday language with a linear deductive flow; avoid hyperbole, juxtapositions, metaphors, analogies, punchlines.
> I expect the gruesome writing style of LLMs to be fixed relatively soon, seeing how it can already be prevented with just a few lines of stylistic instructions.
I have not found this to be the case even with SOTA models as recently as last month.
It holds for a short while into the content but reverts very quickly to its default style.
The default style is so heavily embedded in the weights I don't think simply adding prompts will help.
Of those four, I think accountability is truly the only moat. The other three are varying amounts of both testable and iterated on via adversarial agents steel-manning the implementations.
Accountability will not come before AIs achieve legal personhood, and that probably will not happen in my lifetime. And if it does in some jurisdictions (which I am not betting money on, this is a full full AGI scenario after multiple more philosophical goalposts move first), I will completely bet it will not be a global recognition.
That's really where we're heading, though. We're mostly at the point that, for a lot of code, the humans are there for manual testing and not creating the code.
At some point it will become a strong competitive advantage to zag where others zig.
If you understand the codebase deeply and have trust in it can roll out changes quickly without manual testing you can run circles around the people scratching their heads wondering if this vibe coded 2,500 pull request is going to be the one that takes down the system for a day.
Ive written many significant changes without manual testing by leaning heavily on well crafted automated tests, carefully honed type systems and clean architecture. These foundations serve as the bedrock of high quality applications I can move fast on.
IME vibe coding isnt just not capable of building these foundations, it actively chips away at them where they already exist. shrug
False. Accountability is the result of difficulty of things. As things get easier you need fewer accountable people.
Like, you need a guy who understands Linux and be accountable for Linux working well in your company. But if Linux does a good job that doesn’t leak, you don’t need a Linux guy.
Who decides whether Linux is doing well enough? Who is responsible for fixing bugs or incorporating new requirements? Who is checking that it follows this month's new regulatory requirements?
As the tasks scales to become more important, any organization needs to have systematic answers to those kinds of questions. And yes, you can use software for that (we always did!), but you still need a human somewhere who is exercising judgment.
I mean with the METR report on the HF attack we saw spontaneous self organization in that model. I'm not saying that currently replaces human judgment but it does appear there are paths to complex AI agents systems that handle a lot of this.
A sane article. Looks like Ben Evans has real corporate experience and understands how things work in big corporations.
Giving people AI is just like giving people Google Wave (https://en.wikipedia.org/wiki/Google_Wave), which can do pretty much anything collaboratively, ended up doing nothing.
A lot of the long tail tools are used so rarely or for some very specific functions in certain organisations that there is a good case to be made that these can definitely be targets of simpler GPT guided automation.
There are a lot of redundancies within the tools and the pricing is such that one cannot do much about it, generally some companies pay for the brand, and some tools like SAP are integral to companies of certain size. A sufficiently integrated AI tool that learns the workflows might actually be able to find optimisations here as well, but definitely auditability, testing and other concerns will remain and this is what might become the USP of SAAS providers.
A lot of outsourced IT services jobs in India and other countries are cheap hourly wages for a lot of people maintaining these, certainly a lot of these will be under threat
While I do not believe AI to be a panacea and the non deterministic nature and costs once the scale keeps growing means the integration will be gradual. I am still excited for it to define what an organisation is and what do a lot of people actually do especially in fields like accounting etc. where repetitive work is billed at quite high rates.
Law etc. is a field where the gatekeepers might hold on much longer by adding more ridiculous rules and logic. Ultimately humans have decided what is constitutional and what is legal and subjective rules are what maintain human power.
I feel the right model is smart domain experts of humans making strong and useful harnesses that help AI be effective with the workflows of the organisation, however this might be the biggest fear of middle managers who will never let it happen easily
>> however this might be the biggest fear of middle managers who will never let it happen easily
Will this be different in a company like Amazon, or the new internet companies, that we're born with a deeper understanding of disruption and has it in their DNA?
Accountants get to charge high rates largely because good advice saves their customers large amounts of tax. When we're talking tax accountants of course. There's all sorts of accountants though - audit, management, forensic etc.
I think this all rings true for where we are right now. The trend is that the agents are becoming superhuman in tasks for which there is a verifiable reward, and analysing a business problem, identifying inefficiencies and turning it into a software specification is not one of them.
However, things are changing so rapidly that I can see that starting to change as well. But it would take much better learning efficiency to understand unknown domains, 100% computer use reliability etc. I suspect we’ll see this by the end of the decade.
Things stay the same, until they don't. AI is a tool that talks. So it can evangelize itself, and now with "agency" it can even walk all around the company infra and become that 15-year-old who told dad that something could be done differently. When does that take off and start to make a difference?
It already makes a difference for me. Instead of going through logfiles, i copy and paste them to claude and it does something and tells me the right answer.
In coding, tools i vibe code.
But the industry is still working on the agentic layer. I think we will see the first real bigger agentic layer setups this year and it will stteam roll a lot next year.
> It’s very tempting to imagine that AI turns everyone into a tool-builder
It is not imagination, it is the undeniable truth. The quality of the tool is proportional to the competency of the builder, it always has been that way, AI makes the building process shorter by a magnitude
The entire essay explains why I think this is wrong. At a minimum, it is not 'undeniable' - I just denied it ;). Which part of the chain of reasoning I laid out do you disagree with, and why?
I have a friend who writes, she has certain needs, I've shown her how to start building tools, she has no interest in building tools. She's focused on writing and does not think about her personal process that way. Not every is a tool-builder, in fact most aren't!
I think "any apps" and probably "most apps" is too strong. It wouldn't be very productive to hand-roll your own filesystem, browser, cryptographic library, etc. At some point you have to delegate to another party. No person or corporation has the time and expertise to own and maintain every layer of the stack.
> But with AI, now you can make that tool in five minutes, and you don't need to be an engineer, and you don’t need to write code.
I really wish those farcical statements would stop (I know it's not really made by the author itself).
I'm a software engineer, my partner isn't. She used AI to vibe-code scripts to help her analyze large Excel files. It worked, except the script only looked at the first tab of the Excel files, not all of the tab, which could have had disastrous effects if I didn't read the code and realize it was wrong.
Similarly, her team went from using Excel to track project proposals, to vibe-coding a website that's deployed on CloudFront and AWS Lambda. They don't understand any of this technology, have no clue what they are doing, and, more importantly, don't realize that they have sunk tens of hours, if not hundreds, in developing a portal that has absolutely no advantage over the Excel file they used to use. They also don't realize that if I wasn't there as an experienced software engineer fixing the stuff that's broken when my partner asks me for help, their website just wouldn't run at all.
They sort of can. They absolutely can make something small that does a simple job. The problem comes when it is meant to do something more and they sort of manage to bolt that functionality on. Then they get another request.
After a couple such requests it is usually an unmaintainable hell. I use Claude all the time in my work right now, but there are lots of pit falls and stuff you need to do to maintain control over it. Stuff non-engineers have no clue about.
My thoughts on AI and how it's going to disrupt jobs is evolving.
I was very much in the doomer category last year, but less so now. For someone working in Accounting/Finance/Revenue roles, who has always had a keen interest on tech and software development (but never dedicated enough time to really learn a language to build something of my own), I had many ideas on tools that could be useful in my job - just never had the skill to build it.
Now that I have AI, I'm experimenting with building some of these solutions, but I must say: software development is hard. Yes, it would be a lot easier if I had others to work with, especially for things like UI/UX, understanding some of the more complex backend decisions etc. I imagine if I find it hard, people that haven't really been following tech trends would find it even harder.
Yes, you could get away with vibe coding a tool that only you would use, but once it goes beyond that, and it needs to be shared with colleagues, or if the aspiration is to market it, there are so many decisions one needs to make to be at least close to world class quality.
Things may change as more advanced models come about, but at this stage, I still think unless you're a seasoned developer with good design taste and UX experience, you need a team of people with various skills to build something that you hope to GTM with.
It's fun, though. I've created a few tools internally that has saved me so much time and developed functionality I would never have even entertained the idea of pre-agentic coding. I hope my career moves toward building solutions in this domain.
Imagine this you used to need a library for common things in your software project. Even if you just need one function but because it was easier to just import a library that would have been the standard practice. But now the AI will just go “I can just implement that thing you need in 10 lines”. You used to need things like react native or flutter if you wanted to build cross platform apps. Now not anymore you just need to tell the LLM and it does it in both, and you get better results too.
In society we also had all these layers of abstractions and hierarchies that we used to need but will become more and more irrelevant collapsing the hierarchy.
There is a saying “as above so below, as below so above” I think this applies here. It will propagate all through our social construct, software, society.
reply