We cannot expect the code expansion to be deterministic with regards to the prompt without a severe reduction in AI capability.
The utility of these prompts comes primarily from the fact that the AI is aware of a huge amount of context and can therefore infer what a prompt is "meant to do." If a prompter had to exhaustively specify the context it would be no different than coding in any normal programming language.
That context necessarily changes over time. The same sentence 10 years ago might easily have a different contextual meaning than it does today.
I think there is a middle ground. My work on a deterministic, ai-free code gen tool uses DSLs in a more abstract, declarative space. The details are handled in the templates and extra config from the input.
Prisma, Atlas, and OpenAPI-generator are similar, with increasing complexity of input and DSL, respectively.
I do like your point that context of natural language as input can change over time. I imagine it also would if trained on different source code, or even different target languages and technologies.
I'm thinking that these AI could be simplified if their target was one of these middle ground abstractions in a DSL, letting fewer (expert) humans write the code via templates
Comments
We cannot expect the code expansion to be deterministic with regards to the prompt without a severe reduction in AI capability.
The utility of these prompts comes primarily from the fact that the AI is aware of a huge amount of context and can therefore infer what a prompt is "meant to do." If a prompter had to exhaustively specify the context it would be no different than coding in any normal programming language.
That context necessarily changes over time. The same sentence 10 years ago might easily have a different contextual meaning than it does today.
I think there is a middle ground. My work on a deterministic, ai-free code gen tool uses DSLs in a more abstract, declarative space. The details are handled in the templates and extra config from the input.
Prisma, Atlas, and OpenAPI-generator are similar, with increasing complexity of input and DSL, respectively.
I do like your point that context of natural language as input can change over time. I imagine it also would if trained on different source code, or even different target languages and technologies.
I'm thinking that these AI could be simplified if their target was one of these middle ground abstractions in a DSL, letting fewer (expert) humans write the code via templates