| I think there's 2 important, but separate, ideas in this post: - Models are not good at or getting better at creating strong invariants, which his fundamental to good software - It is unclear how to keep tabs on what the agent is doing, so you, a human, can intervene. These are related, obviously: one of the highest-leverage things you can do is force you agent to use a strong, minimal set of types or data invariants or other constraints. They get much better when your codebase broadly supports this! I do suspect they're separable, though. If you had the right levers and visibility, you should be able to get the model to produce code that doesn't feel like slop. But every time I've had a model try to keep me in the loop, it inundates me with irrelevant decisions and busywork. Its inability to see what's structurally important still shows up, just differently. [If the models get better at defining and respecting invariants, maybe there's a new flavor of slop, that's less obvious today.] |