DSLs as a forcing function for reliable LLM output
The 'DSLs Enable Reliable Use of LLMs' thread made a case that has been percolating in builder circles for a while: constrained output formats make LLMs dramatically more useful and predictable. The discussion went further than usual, with commenters pointing out that tooling like linters and LSPs matter too, because they give the model additional context about what valid output looks like. Several people said this is just how they use LLMs now, even for tasks where the DSL is only 200 lines of spec.
This connects to the broader frustration with freeform LLM output that showed up in the Claude personality threads. The builders who are getting reliable results are the ones who are not asking models to think out loud in prose, they are asking them to fill in structured forms. That is a fundamentally different product design philosophy than the chatbot paradigm.
The practical implication is that if you are building with LLMs and reliability is a problem, the answer is probably not a better prompt, it is a schema.
So what?
Before you spend more time on prompt engineering, define the output schema. A small, well-specified DSL with validation will get you more reliability than any amount of 'think step by step' instructions. This is especially true for anything going into production where you cannot manually review every output.