OpenAI has a press conference and the world sets its eyes on programmer's losing their jobs once again. At least that's what it seems like with all of the articles about how LLM's are finally going to topple the coding empire. Except, that GPT 4 was suppose to do that a while back. And GPT 3.5 before then. And more recently Devin was going to reign supreme. But we're still here somehow.
So let's talk about it, because I'm not picking any sides here. I do believe that there is a scenario where artificial intelligence will be able to build, let's say, an Amazon from scratch and lead it through multiple investment rounds, pivots and somehow change global warehouse management. But I don't believe that this is going to happen at any point in the next century.
Because, it's complicated and it's going to take a bit more than just a few functions and loops to accomplish it.
1. Zero hallucinations
Source: Generated by ChatGPT
I'll start here, because this is the most important aspect of having sentient A.I. beings running around. Just like we can't have humans running around the streets hallucinating things and making choices based on that, we definitely can't have an electronic being capable of 1000x performance do the same.
And this has not been solved yet. There is no paper published (as far as I know) that has shown how digital imagination is all but gone. Not to mention that 'imagination' is a huge part of the human creative process. Humans hallucinate constantly about the future. We just know how to reel it in a bit and don't sucked into a false narrative.
Machines can't do that just yet. They answer confidently every single time. And that's a problem. Because if step 450 in a 5000 step process is wrong, then the entire thing is wrong. Step 451 will be based on a false premise, which might yield a seemingly accurate result, but by step 4900 you'll end up with exponential false assumptions.
And, for the time being, much of what the coding LLM's are trained on, is other people's code. And that code isn't always contextually right. Just taking my own codebase as an example, there are known errors (many) that are in need of fixing right now. And I know about those errors and log them down. But, there are also errors that I am not aware of just yet.
If you're trained on broken data, then inevitably you're going to inherit some of those traits as well. And of course, you could argue that this is just another part of the process when it comes to an A.I. programmer. That the system will iterate through millions of permutations until it finds the correct path. Except that in the real world, making one change in one location, typically means making a change somewhere else. And verifying that the entire system is functional millions or billions of times, is probably going to cost you.
2. Interconnectivity
Source: Generated by ChatGPT
Software developers have to rely on 3rd party applications and services for many a thing in order to work on production level applications. Even for a simple blog, such as this one, I have multiple servers, email clients and monitoring tools setup. We've built a pretty robust SaaS ecosystem during the past few decades and it involves security, laws, regulations and at the end of it all, some kind of credit card.
As far as I know, I can't tell any chatbot right now to "Find the cheapest email client that matches 100% of our requirements and ship it". But I can definitely tell one of my developers that.
At this point in time, the smarter LLM's would probably respond with a fitting "I'm sorry Walt, I can't do that". And the ones that aren't quite there yet, would probably respond with "Absolutely!" and continue to perform some arbitrary action.
But again, I'm not saying that this won't be possible. But first, we'll need to pass new legislation and regulations about how non-human beings are allowed to spend human capital. Because what happens when you're junior coding bot ends up spending twice the companies budget on more compute for itself. Who will foot that bill?
3. Real-time data monitoring
Source: Generated by ChatGPT
Much of what companies decide to spend budget on depends on the markets and economy, in real time. If everyone is talking about A.I., then it's probably a good time to start selling A.I. related wares.
But if the attention pivots to something like 'Quantum laptops', then rightfully so companies have to start to pivot in that direction. And that could mean all sorts of things in the real-world, such as managing shipping orders, ordering more/less inventory, adjusting ad spending, etc.
You might be thinking, what does that have to do with programmers? Well. Alot. Because these warehouse management systems and databases are typically worked on by programmers. I know, as I have worked on such systems in the past.
And while I wasn't the one that was forecasting trends and jumping on the phone with manufacturers, I was preparing daily inventory reports and weekly sales reports for the many people involved. I pretty much had to know everything that was going on on the ground floor at all times. Because if one column changed in a table of a billion rows, there was probably going to be a problem.
I'm sure that many warehouses currently use advanced machine learning and A.I. techniques in order to function. I've seen many of those too. But those are typically used by the largest of tech companies that can afford such things. And they are typically still managed by human experts in the field that can step in and make adjustments as needed.
And this is just one use case. Software spans every known sector of business today, down to the local ice cream shop. And allowing for cross-platform communication across the board is going to be crucial for any real progress to be made.
4. Complex simulations
Source: Generated by ChatGPT
One of the big areas of struggle with real-companies these days is with fine-tuning their product so that it sells the maximum amount at the most minimal cost. It doesn't matter if you're selling a coffee mug on the internet, or if you're selling an email subscription service. At the end of the day, you want to sell more at a lower price, or you want to sell less at a higher price. Ideally, you want to sell more at a higher price, but that's a hard problem.
And so real companies rely on marketing teams in order to accomplish this. And it typically requires months to years in order to figure out the right formula. Perhaps ad-banner-1 performed 20% better than ad-banner-2 or maybe a 15% discount brought in more revenue than a 10% discount.
And at the end of that chain there's a programmer setting up ads and ad placement and a/b tests and rewriting function after function until the company has what it wants. Meaning, that for any kind of A.I. advancement to take place, you'd need to either replace the marketing team with more robots to get data faster, or have the A.I. coder code out every single scenario and push the most optimal one to production.
And there's a theme to this whole article, if you've been paying attention. That's going to cost you.
5. More power
Source: Generated by ChatGPT
There is one key component that is always left out of the conversation when discussing robot programmers. And that's cost. Because it isn't free to operate them. They require tokens, and alot of them.
And each of these tokens comes at a cost, typically less than a cent. But what it lacks in cost per token, it makes up in total tokens required. Because we've seen single page contact forms generated with a one sentence prompt. But we've never seen an online store created in the same fashion.
Prompting a model with thousands of files on every single request in order to maintain proper context is not sustainable. Particularly as the price will only keep going up and up as projects grow in size. Not to mention that most models have some form of limitation when it comes to token quantity.
So until we find an abundant supply of limitless cheap power and plentiful GPU's, and enough compute to allow for trillions of tokens, programmer's will most likely still need to be of the human kind, fueled on energy drinks and gummy bears.
I'll end this article by fittingly having ChatGPT give its final thoughts on the whole matter, because I think it couldn't have been said better.
Human creativity and problem-solving abilities remain unmatched by AI in many aspects. Complex problem-solving, critical thinking, and innovative solutions are areas where human developers excel, and these are difficult for AI to replicate accurately.
Overall, while AI can be a powerful tool to assist developers, it's not a replacement for the nuanced, context-rich, and creative work that human developers bring to the table. AI can handle repetitive tasks, provide suggestions, and automate certain aspects of development, but the critical thinking and holistic understanding required for software engineering are still firmly in the realm of human expertise. - ChatGPT 4o