Comment by NothingAboutAny

6 hours ago

yeah for me it's "I wanna add this new thing to an existing system" and the AI responds "we should just add some arbitrary state here to facilitate this feature". The real issue is the existing system needs to change entirely to facilitate, I know this, Good developers know this, The AI however knows the shitty solution would solve the immediate problem because it's been trained on shitty solutions. the problem could simply be the AI doesn't have all nebulous loose context I have about the goals of the project and future plans, but I would have to write a novel to give it that context.

> The real issue is the existing system needs to change entirely to facilitate, I know this, Good developers know this

1. I’ll often include boilerplate in a prompt to tell it to make the broader fix. [1]

2. However, a top HN AGENTS.md post 11 days ago included the standard guidance “As much as possible try to minimize the number of changed lines when implementing a feature.” I.e. some devs want LLMs to avoid broader changes and so some of that likely makes it into the training, even if others like us want the opposite.

[1] As far as whether my boilerplate is effective, I don’t know.

  • The default case when implementing a change should obviously be to make changes with as minimal a blast radius as is reasonable. This is basic software engineering and current LLMs fail it. LLMs also don't have a good idea of what is "reasonable" and a human judgement call is needed.

    The case where a (sub)system needs a complete rewrite to admit a feature without incurring too much technical debt should be the exception. When exactly to make that exception is something that clearly currently requires a human judgement call, as models aren't yet nearly smart enough to make such calls.