Comment by amelius
15 days ago
At this point I'm interested less in how well a model can code, but more in how well it can produce code that humans can understand.
15 days ago
At this point I'm interested less in how well a model can code, but more in how well it can produce code that humans can understand.
I have had pretty decent success instructing OpenAI/Anthropic models to do this. By default, they don't care too much about human readability (which is understandable) but they're amenable to instruction.
- Basic style/linter rules (so you don't get 200-line functions, etc) paired w/ instructing your agent how to use them goes a long way (e.g., a sane rubocop.yml in your repo, plus a note in AGENTS.md telling the agents how to run rubocop, or whatever makes sense for your language) - I have a code review skill that specifically calls out human-readability concerns such as making sure that identifier names represent their contents and intended use
The other key IME is that you need to make readability/refactoring passes outside of a particular pull request. When working on a specific branch the LLMs will be somewhat myopic, and do stuff that looks pretty good in isolation, but when you zoom out and look at the bigger picture it's kind of a mess - for example, often they'll duplicate some code that existed elsewhere.
The LLMs are also pretty good at generating Mermaid charts and tracing execution flows, which is a great way to understand code. It doesn't help them to produce more readable code but it helps me to understand code I'm unfamiliar with.
I think we are coming to a point where we are at a sweet spot for immersive human collaboration work.
Yep, it will generate what ever you ask for but if you want to have some sort of exploratory work, immersion, feeling of ownership and genuinely a connection with the things you are building - a part the build loop should belong to you.
Maybe this is an attachment of people who built things in other ways. Maybe the perceived value of applications will drop to near 0 and you will end up having all in one apps or voice wants like to a star trek replicator. Fun things are coming, but humanity will need to adjust hard - best case scenario.
I agree, and I find it sad that so many people and companies are in a rush to take the human out of the loop. But for agentic/human hybrids not even all of those work out well - and the error modes have more to do with the "alignment" of the human. That is, humans with strong knowledge, an aesthetic sense for structure, strong curiosity - those humans do well in this loop. Humans that just want to "make money" using the LLM as a slave, interacting with it as little as possible, taking no interest in what it does (bad company leadership in miniature) get poor outputs. When the human is an invested, knowledgeable curator of code, someone who has a vision that goes beyond the external, you get some really great stuff.
This is fundamental. My analogy would be making pottery with your bare hands. It’s so different when you have a cognitive connection to what you’re building.
Yes! And how well it can avoid compounding complexity and codebase sprawl
Realistically once models are good enough at this most of us are out of a job.
It's really interesting how AI interprets code differently to humans and I can only assume that as AI gets better, so will it's ability to write code in ways humans can understand.