This isn't something which is unique to software development though. We're currently building enterprise AI apps that we can deploy into the AI agents working for anyone of our employees. The key thing we're currently seeing is that the people in a team who are the ones that everyone turn to for advice, are the only people who aren't in "danger". Even people who are great at their jobs are being outperformed by AI in many cases.
I think it'll be a massive challenge for our society in the coming years. Maybe we're even going to get to the point where the AI will also be capable of replacing a lot of the "domain experts". Right now that seems far out, but then, if you had asked me about AI four months ago I would've told you it was all hype.
The only people who are safe are those whose jobs depend in some way on their humanity. e.g. yoga teachers, bouncers, etc
It's not a zero sum game. You can have AI "senior engineers" working under humans building bigger things than we've been able to.
We also don't know where the capabilities of current AIs will plateau. The benchmarks aren't really telling the entire story. From my perspective of using the models there are certain axis where they're not making a lot of progress, like being able to have large accurate context on the scale that humans can. There are other dimensions where there is still a large gap between human capabilities and LLMs. It's true that relative to other areas (lessay chess) LLMs are more generalized but they are still not fully generalized (back to the chess example, LLMs are not good at chess).
Resources are, though. The planet cannot support a race of digital super-people, and us, and an continually growing economy.
It's the height of folly to think that, as things are going, we are going anywhere "good".
Once we've met our basic material needs, we're tending to consume things that are replicable with low marginal costs, and which do not interfere with the production of other goods. So maybe we can actually support a continually growing digital and entertainment economy, at least for a few more generations.
Maybe these mathematical contributions will also impact the efficiency and capabilities of our material production systems as well, which is another way to keep the economy growing.
I'm optimistic that we'll do more with our resources rather than trying to optimize for doing the same more efficiently with less resources.
It's a threat to everyone. UBI is the only way.
I would be willing to be proven wrong, but I doubt the ability of LLMs to give useful corrections in yoga much more than their ability to write useful code.
In relation to that, I guess my question becomes: if the same thing will happen in math research, who will write the ten page math proof prompts in the future?
What i see today is the opposite of what you see : product owners not knowing a thing about software engineering but being able to vibe code prototypes handed over to the dev team are rock stars.
They are closely followed by senior software developers having more of an architecture & design background than a low-level computer science background. Most businesses are looking for builders these days.
Where what you say may converge with my observation is that to be able to do to things such as proper database query optimization, even using AI assistance, you need to be able to understand the concepts of working memory set, cache misses etc...
I've found huge problems, like database servers being grossly underprovisioned (like, 60% cache hit, 4gb RAM server for a 700gb dataset with an 50gb circa hot data set). SSD were used and only latency was measured, so no one realized how problematic the situation was (including a consulting shop they hired to help them manage their DBs - backup, maintenance etc...).
However, having a high affinity with hardware is not a driver / computer science of hiring decisions from what i can see in the enterprise software world. But it would make sense for it to become the case within 10 years. I suspect that you work in a niche where performance optimization matters a lot.
Actually it's sad there are people out there dumb enough to believe knowing L1 cache is any different than knowing recipies when it comes to the story which jobs AI will take. I'm convinced by now it will be the jobs of those people believing such crap.
Calling notable conjectures that have been open for decades “low-hanging fruit” is an act of desperation. Most professional mathematicians couldn’t have proved those conjectures if their lives depended on it.
So, yes, AI is a big deal and we don’t know what it’s going to affect, but the goal of replacing everyone’s job is extremely ambitious and there’s a long way to go.
This has to be assessed separately for each kind of job.
Moravec must be at some level gratified things are arriving close to his predicted timeline.
There might be a thing beyond intelligence that we can't even conceive of.
The “absurd” dimension does not enter. This is a situation where you have no evidence at all.
In the absence of any information, the average (mean or median) is your best guess. Now where that average is, you have no idea.
> There might be a thing beyond intelligence that we can't even conceive of.
This statement already supposes there is a thing called “intelligence”. People have been pretending to measure this for more than a century. Modern thinking at least says what we call intelligence is not a single concept.
Most technologies level off sharply after bouts of boundless improvements.
In 1968 they thought we'd be flying to the moon by now but instead we're flying across the ocean in planes not that different from the 747 that existed back then.
> BY L. J. LANDER AND T. R. PARKIN
> A direct search on the CDC 6600 yielded:
27⁵ + 84⁵ + 110⁵ + 133⁵ = 144⁵
> as the smallest instance in which four fifth powers sum to a fifth
power. This is a counterexample to a conjecture by Euler that at
least n nth powers are required to sum to an nth power, n>2.https://www.ams.org/journals/bull/1966-72-06/S0002-9904-1966...
It is a conjecture whether grinding it out on Lean is a difference in kind, rather than degree. I say degree. But it remains to be seen.
In order to get a Ph.D., you have to do some sort of original research, so in that sense you're working on "previously unsolved stuff" basically right from the start. But that doesn't entail doing anything all that ground-breaking; most Ph.D. dissertations (very much including mine!) contain work that a more senior researcher in the same subfield could probably have produced without too much difficulty. The software development analogy is a pretty good one: a lot of the point of getting junior researchers to do research is to help train them to one day become senior researchers, and often the work itself is nothing all that special.
Given the trajectory of these LLM proofs, this seems like it's going to have to change pretty soon, and to be honest I'm pretty grateful that I'm not in charge of deciding what that's going to look like, because I don't have any good ideas! I'm actually pretty worried about the future of the field.
Part of it is as a another comment in this chain mentions the chance to review the prompt. Part of it is that it forces the AI system to plan things in a certain order, in much the same way that forcing the contractor to write the plan out first forces the contractor to proceed in a certain predefined order that may (or may not!) be better at getting to a final answer.
Back in the before I had put such discipline into my prompting and supporting context.
Now I’m like, “look here and here and here are some tools, and /skill /skill okay go.”
Or “restate this request in your own words and enrich it as appropriate handling any gaps. Okay go”
A few months back this would be something every developer kind of did on their own. Maybe they shared skills, we certainly encouraged it and tried to do all the change management things, but nobody really had the same versions of the skills. Which was horrible in the deployment pipelines, something like the compliance documentation often had to go back and forth several times before it could be approved. Now it's just there, for everyone.
In a year or two, I expect a lot of these things to have become even more standardized. So that we don't even really have to build our own apps, but can simply use the ones in the catalog with minimal configuration (and that config will likely only be necessary because I'm from a tiny country that nobody will maintain standards for).
On the first, there were ~no shared skills. There were some requirements set up but they were not minded properly and became stale / ate context for little gain. The hardest hit was in E2E tests which would flake and create long running, too-often failing CI. People would disable them, because they were not reliable and velocity was so high, no one was happy w them.
I maintained my own set of skills and CLIs to back them. I'd share them if they came up but it was like the old days of manage your own stuff. Not much credit for building and sharing devex tooling to the team.
But then on the second one we were in better shape--we had vendoring set up to distro skills automatically.
Before the project was well underway, I put time into understanding how all of our tests aught to be written. Finding the forbidden things, etc, getting review from our best test folks and ultimately landed on a `/test` that routed across all possible test types.
Like night and day. Instead of finding out while trying to get a release out the door that some corner of the project had a handful of flakes, tests were written the right way from the start.
Like, it was beautiful. And I don't think devs noted difference while building. Only that there was an absence of BS in CI.
Hard to quantify the lack of pain, but it was big!
Look here and here and here are some tools, and /skill /skill [repo of folder paths etc] and here is what needs to happen: [stuff].
---
Restate this request in your own words and enrich it as appropriate handling any gaps.
?It is an ultra-lite way to plan, I suppose.
I like the format because:
- I still get to put all my thinking into the request but then easily override the instruction
- It is interesting to see my casual typo-riddled blast professionalized and improved upon.
- Sometimes it surfaces useful questions that can save some time up front.
I think the models are doing this anyway, but I find the words "enrich" and "gap" are well understood by models and they demonstrate it in the response to the above pattern.Anyhow, to get back to the point, there are still prompt-level tricks--but ultimately if repeated, should probably also be built into skills themselves!
In math, a proof is a proof. We don't know if we can get there and so getting there is the hard part.
In software, we always know that we can solve the problem. So HOW to solve the problem is the hard part. Because the type of solution involves maintainability, which involves planning, LLMs suck at it. This leads to "LLM slop code" whereby the LLM creates ad-hoc convoluted logic with redundancies and no reuse of existing standard library batteries.
Unless you're a Grothendieck who gets mad at Deligne for not solving the Weil's conjecture "THE RIGHT WAY", software is fundamentally different than math in this respect.
So I'll say it again, AI will win a fields medal for before managing a McDonald's simply because there are enough big problems within arms reach than their current capacity to plan over time
Some math research does involve grabbing a single, fully specified conjecture off the shelf and hunting for a proof of it, and it's true that if you manage to solve a long-standing open problem, other mathematicians will be interested no matter how you did it.
But this isn't all of what they do, probably not even most of what they do. Like in software engineering, it's not always obvious which question would be the most useful one to ask. A lot of mathematical work also goes into what we call "theory-building", where you could say that primary work goes into coming up with definitions rather than theorems. Mathematicians also care a great deal about how something is proved; a lot of them are some of the most aesthetically picky people I've ever met. Words like "ugly", "beautiful", "creative", and "boring" are used to describe both definitions and proofs all the time.
From the outside, it can look like all they're doing is pumping out proofs at any cost. But I promise you that when I talk to mathematicians who don't have any experience building software, they have a similarly narrow view of that field as well! Both fields, from the inside, look a lot more human than you might expect.
Math is such that most theories are built after solving a problem and actually don't solve a larger class of problems. Etale Cohomology is an example of a rare exception. Grothendieck was mad that Deligne used adhoc complex analysis techniques to prove Weil. But everyone else was thrilled.
Whereas in CS, a good theory (library) solves a large class of problems. The reason being is that CS tackles general problems while math specific ones. Math on average solves problems that don't lead to solutions to other problems.
To me at least, math is more of a game like chess and coding is more of an art. There are aspects which are a game, like performance engineering but I'm pretty sure that LLMs will become superhuman at that soon
But "what mathematicians care about" is much, much broader than what gets you published in a fancy journal. Mathematics as a human activity is millennia old, much older than the concept of journals or even universities, and that activity is, to me, very beautiful, worth preserving, and more of an art than a game. The incentive structure of academia for the past few decades has done a pretty bad job at preserving that art form, but that doesn't mean mathematicians as actual human beings don't care about it --- if they didn't, they probably would have chosen a different career.
Now, that still doesn’t help an LLM distinguish between good and bad correct proofs. But it still really helps a lot. On top of that, taste in proofs is a lot more uniform than taste in coding. That helps LLMs be better at judging the quality of a proof, because there’s less disagreement in the wider world.
(Although in general, there's no true difference between "I answered the question correctly, but the question was mapped to this thing we call 'reality' wrong", and "I answered the question incorrectly", because you can (try) adding the constraints that you really wanted targeted in case A, to case B, and boom, suddenly a question/answer pair that was "Answered correctly, but question doesn't map to reality" now becomes, "You answered this question wrong". However, individuals generally tend to have some breakpoint to differentiate between the two).
For example, create a DFA for a regex, not too bad just use Thompson's algorithm and then NFA->DFA. But now we have to care about efficiency, user API, maintainability of definitions etc.
Coding is more of a human problem than math
AI can manage a McDonald’s already. If manage means directing humans to do something to ensure the store is running. If manage means running robots, then yes maybe that is 5 years away but just directing humans to run a store, that is possible right now.