You cannot and should not vibecode things that are “out of distribution” vs your model’s training set. For those you need to constrain the amount of novelty, generating things in small incremental steps. It’s not much different to how humans constrain software development to one PR at a time.
Part of the skill of coding with LLMs is knowing what's likely out of distribution so knowing “how much rope” to give the model.
These problems with present-day LLMs can and will be mitigated in future with synthetic data providing more examples, and with even more inference time compute, and with intelligent fetching of docs, and with realtime ingestion of relevant dependency code, and with larger context that give models larger working memory.
Coding models have so much potential value that it pretty much has to happen.
Part of the skill of coding with LLMs is knowing what's likely out of distribution so knowing “how much rope” to give the model.
These problems with present-day LLMs can and will be mitigated in future with synthetic data providing more examples, and with even more inference time compute, and with intelligent fetching of docs, and with realtime ingestion of relevant dependency code, and with larger context that give models larger working memory.
Coding models have so much potential value that it pretty much has to happen.