I have used the new template below to show how it looks. We can add more details to the linked CONTRIBUTING.md in the pop repo.
I have not included any LLM (also known as AI) generated content in...
As a retired senior programmer, I would have loved to use LLMs in the past for very specific things. I wouldn’t use it every day, but like every couple of months I had to do a massive refactor that took weeks to complete. I usually ended up writing codemod and just painfully changing tens of thousands of lines of code. Would be cool to just say “hey LLM, see how I did this one? Do the same thing everywhere else you find it. If you encounter anything that’s too different from my template just leave it for me to review”
So I had a huge refactor and thought “Ok, this should be right up GenAI alley”. And in fact took your very approach of giving an example for a few and said “go at it”.
To my surprise, it actually did it pretty poorly, would not work, when it would have worked, dire performance implications. Failing to address things that technically would survive the rework functionally intact, but now a very bad way of doing things in new context. Problems exacerbated is that when I’m reviewing code, I tend to have a more optimistic assumption of the code than when I’m writing and second guessing myself. So it’s all the more annoying to read code I didn’t write screw up so much.
I will say it does a pretty good job of boilerplate heavy crap. If I’m going to want to make Go structs from JSON, I can just feed a sample and the very tedious work of making the sometimes maddening tedius Go structs gets chewed through pretty nicely.
Yeah I once tried to use it to write complex SQL and it just completely sucked at it. Like insanely inefficient queries that scan multiple tables multiple times instead of more efficient joins and other methods… Shame, I was hoping it would be good for refactoring at least if you gave it good examples
Yeah, and that’s the stuff people don’t talk about
I have used it to do a lot of refactoring too. Vs code has been able to do basic refactoring for a while, but, it is also good for splitting up code into different files as an example (as long as you use a plan, it works well)
But, that’s because it’s also been trained how to do these tasks. And it isn’t really doing much with the code for them
As a retired senior programmer, I would have loved to use LLMs in the past for very specific things. I wouldn’t use it every day, but like every couple of months I had to do a massive refactor that took weeks to complete. I usually ended up writing codemod and just painfully changing tens of thousands of lines of code. Would be cool to just say “hey LLM, see how I did this one? Do the same thing everywhere else you find it. If you encounter anything that’s too different from my template just leave it for me to review”
So I had a huge refactor and thought “Ok, this should be right up GenAI alley”. And in fact took your very approach of giving an example for a few and said “go at it”.
To my surprise, it actually did it pretty poorly, would not work, when it would have worked, dire performance implications. Failing to address things that technically would survive the rework functionally intact, but now a very bad way of doing things in new context. Problems exacerbated is that when I’m reviewing code, I tend to have a more optimistic assumption of the code than when I’m writing and second guessing myself. So it’s all the more annoying to read code I didn’t write screw up so much.
I will say it does a pretty good job of boilerplate heavy crap. If I’m going to want to make Go structs from JSON, I can just feed a sample and the very tedious work of making the sometimes maddening tedius Go structs gets chewed through pretty nicely.
Yeah I once tried to use it to write complex SQL and it just completely sucked at it. Like insanely inefficient queries that scan multiple tables multiple times instead of more efficient joins and other methods… Shame, I was hoping it would be good for refactoring at least if you gave it good examples
Yeah, and that’s the stuff people don’t talk about
I have used it to do a lot of refactoring too. Vs code has been able to do basic refactoring for a while, but, it is also good for splitting up code into different files as an example (as long as you use a plan, it works well)
But, that’s because it’s also been trained how to do these tasks. And it isn’t really doing much with the code for them