This is a statistical technique, effectively: it shrinks the problem space the LLM faces at each decision point. Ideally, it would be a way to turn a request from an open-world game into a game on rails. Given the DSL, my options are only X or Y at this point in the solution.
Admittedly, that’s just improving the likelihood of getting a successful result, but if you mean 100% when you say “reliable”, that’s a false equivalence. No coder gets it right reliably either.
Exactly, and a dsl gives you many options and tools to make the llm more reliable: a grammar enables deterministic syntax checker, error messages injecting correct syntax into the context, linting, terse examples in the skills for token optimization, and even the option to add the grammar to the llm to help it decide what next tokens are acceptable.