A lot of the current hype around LLMs revolves around one core idea, which I blame on Star Trek:

Wouldn't it be cool if we could use natural language to control things?

The problem is that this is, at the fundamental level, a terrible idea.

There's a reason that mathematics doesn't use English. There's a reason that every professional field comes with its own flavour of jargon. There's a reason that contracts are written in legalese, not plain natural language. Natural language is really bad at being unambiguous.

When I was a small child, I thought that a mature civilisation would evolve two languages. A language of poetry, that was rich in metaphor and delighted in ambiguity, and a language of science that required more detail and actively avoided ambiguity. The latter would have no homophones, no homonyms, unambiguous grammar, and so on.

Programming languages, including the ad-hoc programming languages that we refer to as 'user interfaces' are all attempts to build languages like the latter. They allow the user to unambiguously express intent so that it can be carried out. Natural languages are not designed and end up being examples of the former.

When I interact with a tool, I want it to do what I tell it. If I am willing to restrict my use of natural language to a clear and unambiguous subset, I have defined a language that is easy for deterministic parsers to understand with a fraction of the energy requirement of a language model. If I am not, then I am expressing myself ambiguously and no amount of processing can possibly remove the ambiguity that is intrinsic in the source, except a complete, fully synchronised, model of my own mind that knows what I meant (and not what some other person saying the same thing at the same time might have meant).

The hard part of programming is not writing things in some language's syntax, it's expressing the problem in a way that lacks ambiguity. LLMs don't help here, they pick an arbitrary, nondeterministic, option for the ambiguous cases. In C, compilers do this for undefined behaviour and it is widely regarded as a disaster. LLMs are built entirely out of undefined behaviour.

There are use cases where getting it wrong is fine. Choosing a radio station or album to listen to while driving, for example. It is far better to sometimes listen to the wrong thing than to take your attention away from the road and interact with a richer UI for ten seconds. In situations where your hands are unavailable (for example, controlling non-critical equipment while performing surgery, or cooking), a natural-language interface is better than no interface. It's rarely, if ever, the best.

@david_chisnall

Maybe in the Star Trek world they use an unambiguous logique language, easy to translate in any unambiguous language, but we loose that in the English translation.

That would explain a lot the universal translator ;)

@Aedius @david_chisnall The Star Trek voice computers always seemed to react like very advanced #InteractiveFiction parsers. They would respond to a wide variety of queries and commands, but most actors spoke in a very constrained way and often the computers would prompt further or give error messages.

So you'd get back "please specify which of the 3271 bulkheads you wish to open" or "Unable to comply" and you'd have to re-phrase your order. There's a famous scene where Lwaxana Troi is frustratedly pulling a sausage out of a frozen margarita and saying "Oh I am just TERRIBLE with computers...", suggesting that interaction with them was still a skill that needed training or practice.

@spacehobo @Aedius @david_chisnall the best Star Trek computer user interface is the one Scotty uses in the fourth feature film...
@Pionir @Aedius @david_chisnall The best of everything in Star Trek was in the fourth film.