> Slowly your brain just gets trained to mid thinking like an LLM
Regression to the mean.I am doing a lot of the code reviews on my team and I can see that LLMs have a hard time with OOP (or are perhaps specifically guided to avoid) and writes a lot of `private static` utility functions. A lot of duplicated small utilities that can end up becoming a maintenance nightmare should the behavior need to be normalized/fixed. String key formatting, for example. JSON serialization behavior, another very common one. At a higher level, it needs very active guidance to search for existing code and re-use interface contracts via DI consistently (we have instructions and skills for this, but hit or miss on usage and adherence) It generates very repetitive code and doesn't have the wits to refactor is in a way that is reusable, even in simple cases (basic JSON serialization). It really dislikes to create object and type hierarchies on its own (e.g. move the repetitive serialization to a base class) and prefers to write one-offs. Works, but not very elegant; lots of duplication and touch points for regressions. It also has a tendency to write more "verbose" solutions where sometimes simpler ones will work. |
My hope is eventually open source models get far enough along we just train the models on company specific code needs.
Until then it is a lot of wack a mole with skills, hooks, system prompts, and interweaving deterministic needs.