Comment by CuriouslyC

11 hours ago

Do you tell AI the patterns/tools/architecture you want? Telling agents to "build me XYZ, make it gud!" is likely to precede a mess, telling it to build a modular monolith using your library/tool list, your preferred folder structure, other patterns/algorithms you use, etc will end you up with something that might have some minor style issues or not be perfectly canonical, but will be approximately correct within a reasonable margin, or is within 1-2 turns of being so.

You have to let go of the code looking exactly a certain way, but having code _work_ a certain way at a coarse level is doable and fairly easy.

We are way beyond this. Now you use your plain text prompt to generate a requirements spec that the AI will follow when implementing your project

https://kiro.dev/

  • Kiro is just trying to build a product around exactly what I'm talking about. I'm not a fan, because it's simultaneously too heavyweight and agents don't respect all the details of the specs it creates enough to make the time investment in super-detailed specs worthwhile.

    I have a spec driven development tool I've been working on that generates structured specs that can be used to do automatic code generation. This is both faster and more robust.

Honestly, even this isn't really true anymore. With Opus 4.5 and 5.2 Codex in tools like Cursor, Claude Code, or Codex CLI, "just do the thing" is a viable strategy for a shockingly large category of tasks.

  • Just do the thing can produce functional code, but even with Opus4.5/Codex5.2, there are still plenty of moments where the way it decides to do something is cringe.

    • Agree. But it's increasingly the case, IME, that for a a lot of tasks, you can start with that. If it does it well, great. If it does something stupid, it's easy enough to ask it to completely rework the stupid thing in a better way, and it can do it quickly. That's still a huge shift compared to the olden days (three months ago) where you needed to really break things down into small chunks for it to get to a success state.

>You have to let go of the code looking exactly a certain way, but having code _work_ a certain way at a coarse level is doable and fairly easy.

So all that bullshit about "code smells" was nonsense.

  • A lot of code smells matter more for humans than LLMs (and LLMs have their own unique code smells). For example, nested ternary operators are a great source of bugs in human code, but agents could care less, but humans handle multiple files with the same variable names and lots of duplicated code well, whereas this stuff confuses agents.