while adding LLM/ai capabilities to our development workflow with tools like cursor and claude code, I noticed that we need to make our software AI ready:

  • no surprise code

  • document how to do stuff like to a junior dev

  • more precise user stories

and most importantly we would need to switch to an explore/exploit pattern.

For explore, you develop (maybe with some AI support) ideas/features the first time. Think ahead, try out different approaches, think abound 2nd/3rd order effects. This is where the human dev is crucial, as he lays the groundwork here for the exploit path.

Once a certain feature is implemented, often times things need to be copied/adjusted for many other use cases. For example ,we build a form generator with blocks. Adding new blocks over time is exploit as it is a similar process, while buildlig the generator first is explore.

Same with REST APIs: the first explore is one route, CRUD, add tracing and log events. Then for other entities, it is explore.

This really changes the way we work, as we need to think about when to use our human resources thoroughly and when we would assign task to an AI agent alone.

What do you think of this? Has this already been covered?

I want to basically combine aspects of decision making like explore/exploit, asap vs alap and apply them how this changes Software enginerring with AI first principles. It shall think about how we can and probably should restructure to make the most of human and AI resources.

Does that make sense? If so, please come up with a blog post structure and title

Core ideas

  • make AI ready
  • new PR: document a explore pattern!
  • stabilize the base, so AI can sprint
  • Mario Kart analogy:
  • use the mushroom when you’re aligned and no bananas (obstacles) are in pfonet od you

explore/exploit pattern does not fit, AI can be used in either phase

explore: spawn paths, Dr strange analogy https://ainativedev.io/news/how-to-parallelize-ai-coding-agents

exploit: the factory