If you’ve tried vibe-coding, or even made it part of your regular practice, you could not help but notice - it is pretty hard to instruct these freaking LLMs to do what you want! They do work wonders, but they are notorious for being sloppy and not following instructions well. That’s partly how they (currently) work, which the tech-sphere argues is solvable. But the challenge is much bigger, and harder to solve, than that!
Recently, I read this article which illustrates the point. Look, when you come to think of it, programming languages have one, rather obvious, edge when it comes to programming - they have been designed for programming! In contrast to that, natural languages are rather imprecise for this purpose. Do you fancy a bit of salt? (what exactly is a bit?) How about moving this element to the right? (Which element? Right to what?) You get it.
So when an LLM fails to implement your prompt, or do it well, it may as well be because your prompt was ambiguously formulated. And it is not exactly your fault - it is really difficult to reach the level of determinism you get in programming languages with just plain English (or Polish, which turns out to be slightly better in this context)! It may still be possible, but you would have to be very, very verbose. In Edsger Dijkstra’s words:
In order to make machines significantly easier to use, it has been proposed (to try) to design machines that we could instruct in our native tongues. this would, admittedly, make the machines much more complicated, but, it was argued, by letting the machine carry a larger share of the burden, life would become easier for us. It sounds sensible provided you blame the obligation to use a formal symbolism as the source of your difficulties. But is the argument valid? I doubt.
[…]
We know in the meantime that the choice of an interface is not just a division of (a fixed amount of) labour, because the work involved in co-operating and communicating across the interface has to be added. We know in the meantime —from sobering experience, I may add— that a change of interface can easily increase at both sides of the fence the amount of work to be done (even drastically so). […] Therefore, although changing to communication between machine and man conducted in the latter’s native tongue would greatly increase the machine’s burden, we have to challenge the assumption that this would simplify man’s life.
The virtue of formal texts is that their manipulation, in order to be legitimate, need to satisfy only a few simple rules; they are, when you come to think of it, an amazingly effective tool for ruling out all sorts of nonsense that, when we use our native tongues, are almost impossible to avoid.