I think it's only a matter of time before people start trying to optimize model performance and token usage by creating their own more technical dialect of English (LLMSpeak or something). It will reduce both ambiguity and token usage by using a highly compressed vocabulary, where very precise concepts are packed into single words (monads are just monoids in the category of endofunctors, what's the problem?). Grammat…
A sufficiently detailed spec is code
31–40 of 376 posts
Re: A sufficiently detailed spec is code
#32Re: A sufficiently detailed spec is code
#33I think it's only a matter of time before people start trying to optimize model performance and token usage by creating their own more technical dialect of English (LLMSpeak or something). It will reduce both ambiguity and token usage by using a highly compressed vocabulary, where very precise concepts are packed into single words (monads are just monoids in the category of endofunctors, what's the problem?). Grammat…
> by creating their own more technical dialect of English Ah, the Lisp curse. Here we go again. coincidently, the 80s AI bubble crashed partly because Lisp dialetcts aren't inter-changable.
Re: A sufficiently detailed spec is code
#34I think it's only a matter of time before people start trying to optimize model performance and token usage by creating their own more technical dialect of English (LLMSpeak or something). It will reduce both ambiguity and token usage by using a highly compressed vocabulary, where very precise concepts are packed into single words (monads are just monoids in the category of endofunctors, what's the problem?). Grammat…
Re: A sufficiently detailed spec is code
#35Earlier quoted context omitted.
> by creating their own more technical dialect of English Ah, the Lisp curse. Here we go again. coincidently, the 80s AI bubble crashed partly because Lisp dialetcts aren't inter-changable.
I bet a modern LLM could inter-change them pretty easily.
But some random in-house DSL? Doubt it.
Re: A sufficiently detailed spec is code
#36Simply put: Formal language = No ambiguities.
Once you remove all ambiguous information from an informal spec, that, whatever remains, automatically becomes a formal description.
Re: A sufficiently detailed spec is code
#37This won't age well, or my comment won't age well. We'll see!
That is the great insight I can offer
Re: A sufficiently detailed spec is code
#38This articles ignores that AI agents have intelligence which means that they can figure out unspecified parts of the spec on their own. There is a lot of the design of software that I don't care about and I'm fine letting AI pick a reasonable approach.
Exactly. The real speed up from AI will come when we can under specify a system and the AI uses its intelligence to make good choices on the parts we left out. If you have to spec something out with zero ambiguity you’re basically just coding in English. I suspect current ideas around formal/detailed spec driven development will be abandoned in a couple years when models are significantly better.
The difficulty has always arisen when the lines of code pile up AND users start requesting other things AND it is important not to break the "unintended behavior" parts of the system that arose from those initial decisions.
It would take either a sea-change in how agents work (think absorbing the whole codebase in the context window and understanding it at the level required to anticipate any surprising edge case consequences of a change, instead of doing think-search-read-think-search-read loops) or several more orders of magnitude of speed (to exhaustively chase down the huge number of combinations of logic paths+state that systems end up playing with) to get around that problem.
So yeah, hobby projects are a million times easier, as is bootstrapping larger projects. But for business works, deterministic behaviors and consistent specs are important.
Re: A sufficiently detailed spec is code
#39Meh, it's the age old distinction between Formal vs Informal language. Simply put: Formal language = No ambiguities. Once you remove all ambiguous information from an informal spec, that, whatever remains, automatically becomes a formal description.