AI has already created a revolution in personalization. For example, when you log into Amazon, the products it suggests to buy were selected just for you, based on past history of your or your family's purchases. Similarly, Netflix will recommend movies just for you and Spotify will create playlists just for you! This type of personalization was one of the first trends in AI, where a single piece of code, based upon different data points, could engage with users in highly specialized ways.
Now, with the continued sophistication in AI models, a next level of personalization is possible. What if it is not a single piece of code generating different outputs for you and me - but the AI generating different code entirely for you and me? This is the trend we explore here - which we have termed N of 1 Code.
What is N of 1?
N of 1 is a concept, commonly used in medicine and clinical trials, that refers to a clinical trial or study in which a single patient is the entire focus. Unlike traditional trials that involve large groups of people (where "N" represents the number of participants), an N-of-1 trial is designed to evaluate the effectiveness of a treatment in an individual by conducting repeated observations and comparisons. The benefits include extreme personalization factoring in the unique needs of a patient.
How does this apply to code?
AIs (particularly large language models) can now generate custom code for any purpose, even from natural language prompts (see previous blog post on Prompt Driven Programming). With this power, it is now possible to generate custom new code for a targeted purpose, rather than refactoring or modifying existing code to add new functionality or customize for multiple uses.
What does this mean for programming?
It can lead to much faster development of new applications, but can also lead to a mass proliferation of code with significant similarities. This may not be a bad thing. Single purpose code can be easier to maintain and debug. The potential proliferation of code bases however, can lead to a challenge for software operations management. Questions to be asked are - when does one maintain an existing program vs. creating a brand new one? How big does a code base have to be before it is more practical to add to it than to create a new one? Does this lead to an entirely new class of "ephemeral" programs?
Many questions, but I suspect the N of 1 Code approach is here to stay. Watch for more blogs on this subject!
Comments