HACKER Q&A
📣 bjourne

How do you make the LLM generate good code?


Lately, I wanted to see if I could get the bot to help me organize my music collection. Specifically, I want it to code a Python function that takes the path to an audio file of a song and returns the name of the canonical (i.e., first) album of that song. If one ignores remasters, live recordings, bootlegs, etc., this is an easy heuristic surjective mapping: Smoke on the Water -> Machine Head, Come as You Are -> Nevermind, Fools Gold -> The Stone Roses.

I can code this function quickly using the MusicBrainz API and I believe most other HN readers can too. Yet many hours later, no matter how I prompt the bot I can't get it to do it. This is what ChatGPT generates---other bots reply with similar garbage:

https://chatgpt.com/share/6a396ea9-44d4-83eb-bdfd-216dfcc87e99

They complain about how the problem is ambiguous (is not) or how MusicBrainz doesn't have the data (it does). Am I prompting the bot incorrectly or not using powerful enough coding models? The results are very underwhelming.


  👤 eternityforest Accepted Answer ✓
I have a ~200 line file of style rules that I copy and paste between all my projects(There's got to be a better way to manage files like that!) but I can never quite tell if it's helping anything....

I usually prompt with very specific architectures, defining classes, functions, and JSON schemas, plus what libraries I want to use, and that seems to work, most of the time.

I generally use AiderDesk with MiniMax M2.5


👤 zachmorrison
I have very much enjoyed GSD as a framework within claude code https://github.com/open-gsd/gsd-core

👤 verdverm
Step one is to get out of the ChatGPT web interface. OpenCode is a much better harness

Step 2, have it write a plan in a file, then iterate on that plan

Download dependency source code and API specs for it to reference

Be specific, you wanted it to use a specific API but then said "use any API like .."

Don't expect a single session to get you there, use many and keep them fresh (the design/plan/status files help)

Read Anthropic knowledge share, it is currently the best and applies in generality

We don't use "LLMs" to generate code, we use "agent harnesses" and "context engineering". Good phrases to start your knowledge deepening

Give your agent good tools and context, then iterate