← Back to context

Comment by uriegas

5 days ago

> "I expect us to go back to extending our agents with the most accessible programming language: natural language."

I don't agree with this. Natural language is so ambiguous. At least for software development the hard work is still coming up with clearly defined solutions. There is a reason for why math has its own domain specific language.

> Natural language is so ambiguous.

As a former tech comms guy I will say:

Natural language can be bent into arbitrary precision. Write something, then enter a read-rewrite-reread loop as the devil's advocate (this is key) until it stops being ambiguous or having multiple conceivable interpretations.

Yes with English this process can be a pain in the butt, until you get the hang of it.

  • The problem is that it's very hard to anticipate all possible edge cases. Programming languages force you to do a lot of that work up front, English doesn't. It's the difference between writing Javascript and writing Typescript, except orders of magnitude worse.

  • The problem is, what's ambiguous or precise is subjective. Your devil's advocate needs to reflect all of the possible readers, and that isn't possible.

    There's a good reason we use jargon in professions, or more constrained and less ambiguous languages for maths/coding

  • Legalese? It can be both precise and ambiguous, depending on both its construction and the reader's aptitude and comprehension.

  • This process can be handled by a “turn server”

    Was a pain to set up, but you can score the context completion and then if the score is under 98% or something, “ask” clarifying questions of the requesting agent or person or system

  • You’re never going to make a nontrivial statement in English that you couldn’t find two people who wouldn’t perfectly agree on its meaning. Or probably even a trivial one. Sure, at some point you can say “no, you’re clearly misinterpreting what I’ve said” or “you’re inferring something that wasn’t implied”, but English doesn’t have a formal spec or a reference implementation, so that’s kind of meaningless.