Good tests are so easy to write with these models, and so easy to fix as the code changes it they are too closely tied to the implementation.
507 karma · joined December 10, 2010
Good tests are so easy to write with these models, and so easy to fix as the code changes it they are too closely tied to the implementation.
Run it on a throwaway system, pick a codebase you’ve always wanted to fix something about but didn’t have the time. Like you wanted to do a major refactoring or do a library migration to a better maintained library. Or you want to rewrite part of a program in rust for performance/security improvements.
The hardest part for me is sometimes it is hard to write what I want in a prompt; but you don’t have to put everything into the prompt, you can make a code edit as an example and then say; look at this diff, it is doing X; look for and apply this some transformation across codebase Y
If you have a good codebase, AI will have good patterns to follow and will produce pretty good code; and you can quickly iterate on the results (maybe over new context windows) and get high quality code that looks very close, if not indistinguishable from the pre-existing code.
AI is a great editor; I can finally do all the refactors that I wanted to do that were much harder before; would have taken a long time.
AI is great at writing tooling, I love a good tool that gets the task at hand done; encodes a task that others will need to do. Couple that with a skill file and now a fuzzy tech debt migration can actually be completed across many teams at there pace.
I focus on the cheapest model/fastest model (been using Luna). I use pi and don’t try to multiplex my time, and stay in flow on a specific task till it is done. And I’m very happy with this, actually enjoy this more. Vim skills stay useful for editing the prompts/module structure/fixing slop code during review/ and review.
The volume of code is high so reading a diff is suboptimal for review; so I tend to review from local checkout using vim (LSP tooling important during review, go to def, etc).
I see almost zero reason for anyone to use anything else for they’re base system at this point.
Honestly all GitHub needed to do was make reviewing and merging commit(s) from a PR possible and that would also been neat.
I think this article is way too negative and I would question the authors bias; I don’t think it’s hard to see how valuable these tools are.