I've used Cody and Copilot and it just gets in the way because I know exactly what I need to write and neither really helped me.
I've used Cody and Copilot and it just gets in the way because I know exactly what I need to write and neither really helped me.
However as I was researching, there are a few interesting ideas in this space that might help these LLM's solve more complex problems in the future. Post here if interested: https://kshitij-banerjee.github.io/2024/04/30/can-llms-produ...
When I'm creating a CRUD API I know exactly what I want, I know exactly how it should look like.
Do I want to spend 15-30 minutes typing furiously adding the endpoints? No.
I can just tell Copilot to do it and check its work. I'll be done in 5 minutes doing something more engaging like adding the actual business logic.
It's not like we're breaking new ground in the field of computer science here. The LLMs have been taught with terabytes of code and me writing a Go API glue program is perfectly in their wheelhouse.
Like you say, it makes the most sense repetitive or easy tasks.
Having a compiler do that validation of AI output helps dramatically so I only have to validate logic and not every freaking character in the function.
Actually it does the boring bit of generating the test data and the basic cases, I'll do a once over and add more if it's a something that warrants it.
Checking other entities' code is not trivial and very error-prone.
I get what you're saying but I have my doubts if me doing the whole work manually would be slower than asking an assistant + doing an extensive code review.
The latter won't make stupid small mistakes, I will (and have)
And I'm checking like 10 lines at a time, related to code in the context I've got in my head.
I need to review 100x bigger PRs done by humans of varying skill regularly - related to other parts of the project I'm not intimately familiar.
So it turns out, not so repetitive after all then?
I remember devising my own mini DSL when I had to produce 250+ such endpoints and validators. Three days spent on that, then ran the command and I had working code 30 seconds later. Felt like a god.
I've been toying around with embedded development for some art projects, it was invaluable to have a kickstart using LLMs to get a glimpse of the knowledge I need to explore, get some useful quick results but when I got into more complex tasks it just breaks down: non-compiling code, missing steps, hallucinations (even to variables that weren't declared previously), reformatting non-functioning code instead of rewriting it.
As complexity grows the tool simply cannot handle it, as you said it's a good sparing partner for new territory but after that you will rely on your own skills to move into intermediate/advanced stuff.