Also syntax seems a lot easier to understand for them than semantics/logic. If you've used GPT-4 it almost never makes syntax errors. Logical errors on the other hand...
It also frequently makes undefined variables and the like, however.
I'm building a bot that's building itself, so it doesn't have to support large legacy code bases with different languages.
But it requires parsing AST and language specific instructions. And things like metaprogramming or macros could cause some hairy confusion.
All of these factors don't hurt my use case.
Gut feeling doesn't account for much though - I'm working on an evals system to be able to quantify system performance. It won't be cheap to run.
It could easily be that your method is superior.
I'm also curious, how are you guys evaluating the performance of your models?
Looking forward to reading through your docs and repo later tonight to see how you’re addressing issues like this.
https://github.com/paul-gauthier/aider/blob/d5a7aac560d4584d...
I do see them generate code that fails the type checker though.
Also, syntax level information are local or short sighted, it is called context-free grammar for a reason. My own observation with playing with those coding LLMs all day, is that they most likely had acquired the grammar themselves implicitly. Providing explicit regularization by enforcing grammar, is going to provide at best modest benefits, and that is dependent on good that parser is written, in many cases, it is not a given.