Hacker News new | ask | show | jobs
by serf 68 days ago
>> it's really hard to sometimes break out of that loop and do manual fixes

it's not just an erosion of skills, it can also break the whole LLM toolchain flow.

Easy example: Put together some fairly complicated multi-facet program with an LLM. You'll eventually hit a bug that it needs to be coaxed into fixing. In the middle of this bug-fixing conversation go and ahead and fire an editor up and flip a true/false or change a value.

Half the time it'll go un-noticed. The other half of the time the LLM will do a git diff and see those values changed. It will then proceed to go on a tangent auditing code for specific methods or reasons that would have autonomously flipped those values.

This creates a behavior where you not only have to flip the value, the next prompt to the LLM has to be "I just flipped Y value.." in order to prevent the tangent that it (quite rightfully in most cases) goes off on when it sees a mysteriously changed value.

so you either lean in and tell the llm "flip this value", or you flip the value yourself and then explain. It takes more tokens to explain, in most cases, so you generally eat the time and let the LLM sort it.

so yeah, skill erosion, but it's also just a point of technical friction right now that'll improve.

3 comments

This was a great comment. I don't know if it's common knowledge, but this really helped clarify how the shift happens.

I also remember half coding and half prompting a few months back, only to be frustrated when my manual changes started to confuse the LLM. Eventually you either have to make every change through prompting, or be ok with throwing away an existing session and add back in the relevant context in a fresh one.

When I have to pop in and solve a problem, I tell it I fixed it and what was wrong.

Depending on the depth of its misunderstanding it could become a memory note or a readme update. I haven’t had any real issues with that approach.

It sucks that you have to do this.

I'm not yet at the point where I'm comfortable with just vibe coding slop and committing to source control. I'm always going in and correcting things the LLM does wrong, and it really sucks to have to keep a mental list of all the changes you made, just so you can tell your Eager Electronic Intern that you made them deliberately and to not undo them or agonize over them.

Every time I change something outside the chat interface claude tells me a linter made a change.