Most comments here surprise me: I am using Githubs Copilot / ChatGPT 4.0 at work with a code base which is mostly implements a basic CRUD service... and outside of small/trivial example (where the generated code is mostly okay), prompting is more often than not a total waste of time. Now, I wonder if I am just totally unable to write/refine good prompts for the LLM (as it works for smaller samples, I hope I am not too far off) or what could explain the huge discrepancy of experience.
(Just for the record: I would totally not mind if the LLM writes the code for the stuff I have to do at work.)To clarify my questions:
- Who here uses LLMs to generate code for bigger projects at work? (>= 20k lines of code)
- If you use LLMs for bigger projects: Do you need to change your prompting strategy to get good results?
- What programming languages are you using in your code bases?
- Are there other people here who experience that LLMs are no help for non trivial problems?
douglasisshiny|10 months ago
CopyOnWrite|10 months ago
One thing I forgot to mention is asking LLMs questions from within the IDE instead of doing a web search... this works quite nice, but again, it is not a crazy productivity boost.
thi2|10 months ago
The codebase is not too old and has grown without too much technical debt, with complex prompts I never had decent success. Its usefull for quick "what does this do" checks but any real functionality seems to be lacking.
Maybe I'm not refining my prompts good enough but doing so would take longer than implementing it myself.
Recently I tried Jetbrains Junie, which acts like Claude if I understand it correctly.
I had a really refined prompt, ran it three times with adjustments and fine tuning but the result was still lacking. So I tossed it and wrote it myself. But watching the machine nearly getting it right was still impressive.
aitchnyu|10 months ago
CrimsonRain|10 months ago
I've had massive success with java, js/TS, html css, go, rust, python, bitbucket pipelines/GitHub actions, cdk, docker compose, SQL, flutter/dart, swift etc.
douglasisshiny|10 months ago
Aren't you worried that overtime you'll rely on it too much and your offhand knowledge will get worse?
CopyOnWrite|10 months ago
It just surprises me, that you write you had massive successes with "java, js/TS, html css, go, rust, python, bitbucket pipelines/GitHub actions, cdk, docker compose, SQL, flutter/dart, swift etc.", if you include the usual libraries/frameworks and the diverse application areas for these technologies, even with LLMs support it seems to me crazy to be able to make meaningful contributions in non trivial code bases.
Concerning SQL I can report another fail with LLMs, in a trivial code base with a handful of entities the LLM cannot come up with basic window functions.
I would be very interested if you could write up a blog post or could make a youtube video demonstrating your prompting skills... Perhaps demonstrating with a bigger open source project in any of the mentioned languages how to add a non trivial feature with your prompting skills?
thi2|10 months ago
You just described every existing legacy project^^
manojlds|10 months ago
CopyOnWrite|10 months ago
In my search I just found trivial examples.
My critic so far:
- Examples seem always to be creating a simple application from scratch
- Examples always use super common things (like create a blog / simple website for CRUD)
What I would love to see (see elsewhere): Adding a non trivial feature to a bigger code base. Just a youtube video/demonstration. I don't care about language/framework etc. ...
knlam|10 months ago
merb|10 months ago
7589447636|10 months ago
Programming language / stack plays plays a big role, I presume.
CopyOnWrite|10 months ago
stopyellingatme|10 months ago
pdntspa|10 months ago