Comment by zahlman
7 days ago
> It's trivial to verify that the argument properly gets passed down the stack
It's not so trivial to verify that the change doesn't cause problems elsewhere, where it also should have been propagated.
7 days ago
> It's trivial to verify that the argument properly gets passed down the stack
It's not so trivial to verify that the change doesn't cause problems elsewhere, where it also should have been propagated.
Sorry if I haven't been clear: it's one variable, used exactly once at the very bottom of the call stack. The change only required adding a corresponding extra argument or class member to all of the functions/classes upstream. In fact, there were other variables in the caller of the bottom function that get passed down from the command line, a pattern that the LLM likely picked up on (and exactly what clued me in to the fact that the LLM would likely make this change very easily, a hunch that proved correct).
You raise a good point: an important skill in effectively using LLMs for coding is both being able to recognize ahead of time that cases like this are indeed simple, but also recognizing after the fact that the code is more complex than you initially realized and you can't easily internalize the (side) effects of what the LLM wrote, warranting a closer look.