Post

If #AI becomes a huge part of software development in the near future, I wonder if it will lead to one of two possible outcomes (or somewhere in between) Option 1: Coalescence For a given kind of app, the LLM chooses whatever tools/stack it has the most info on or preference toward

1 repost4 likes

Over time, this choice leads to more and more training data related to the given tool/stack choice, resulting in ever-increasing likelihood that this choice will be made the next time a decision must be made. Within a few cycles, nearly every new web app (agent-build) uses 1 stack.

Option 2: Divergence For a given kind of app, the LLMs from the various vendors all have their own separate training sets and preferences, perhaps tweaked by their masters. And most LLMs seem to prefer generating code to leveraging existing solutions (at least in my experience so far).

Coupled together, these result in a growing number of custom bespoke "frameworks" of LLM-generated code for performing most tasks, including ones for which existing plug-ins, controls, packages, etc. already exist. Over time, there is less and less standardization.

Which way do you think it might go, or something else entirely? My money is on option 1. The more training data there is for a given stack for a given kind of application, the more likely it will be used, and the more training data there will be. Positive feedback loop.

You'll need to really want to use something else and swim against the tide. I have a passion for Property based testing. So I use FsCheck a lot, and the LLM will never choose that. I have to do that all by hand, even though my repository has lots of examples of that.