The moment has come in the timeline of history where classical software applications will die a slow death.
I’m making a bold claim that might evoke mixed emotions. However, it’s crucial to acknowledge the reality of generative AI’s ascendance in the technological landscape. For the past five to six decades, we’ve been entrenched in a specific application development model. Generations of software professionals have been immersed in this classical paradigm, conditioning our minds to perceive software applications in this manner. However, now we are witnessing the gradual decline of traditional, monolithic applications, yielding to the inexorable rise of AI-powered solutions. This paradigm shift demands a critical reassessment of our existing methodologies and a proactive embrace of the transformative potential of artificial intelligence.
CRUD Based Applications
For decades, the software industry has been tethered to a rigid development model, characterized by a pronounced emphasis on CRUD operations: Create, Read, Update, and Delete, applied to data stored in various repositories, from flat files to relational and NoSQL databases. The application layer comprises intricate, hardcoded logic to interact with the data store. Subsequently, we construct user interfaces to facilitate user interaction with the data store through these application layers. User data interfaces are inherently static, confining users to predefined screens and reports. While we’ve introduced some flexibility through customization options, users ultimately remain bound by the limitations imposed by these interfaces.

While I acknowledge the advantages of controlling data interaction through applications, such as ensuring data integrity and design constraints, a deeper examination of the UI and application layer reveals inherent limitations on user-data interaction. Consider the example of a sales order in an ERP system. Typically, a screen is designed with a predefined set of fields for data entry. Users undergo training to navigate and understand this screen, a process that can extend for months. This approach diverges significantly from natural human interaction. We communicate through diverse means, all conveying similar meanings. For instance: “Create an order with 4 spoons.” and “Can you create an order for four spoons?”
Both statements convey the same intent: creating an order for four spoons. This is the essence of human interaction. Consequently, there has always been a demand for applications capable of interacting with data in a human-like manner.
AI Agentic World
Enter the realm of generative AI, exemplified by models like ChatGPT, Gemini, and Llama. These LLMs, trained on vast repositories of world knowledge, represent the next evolutionary step in human-machine interaction. Envision these LLMs as miniature human brains, adept at pattern recognition and capable of predicting the next logical text. I presume most of you have already engaged with these LLMs in your daily work, rendering a detailed introduction unnecessary.
Recall Agent Smith from The Matrix. AI agents share a similar essence. Imagine a smart robot capable of independent thought and action. That’s an AI agent! It’s akin to a computer program equipped with the ability to perceive its surroundings, make informed decisions, and execute actions to achieve specific goals. A prime example is a customer service chatbot, an AI agent capable of comprehending your queries and providing responses, much like a human agent. Consider it a helpful assistant, continually learning and improving, streamlining tasks and enhancing efficiency.
Modern Software Application
Now, let’s contemplate these agents within the context of contemporary software applications. If we could position these agents between the data and the user, would traditional software applications still be necessary? I understand the potential query regarding the control of these agents to operate within specific data constraints. The solution lies in providing comprehensive instructions to the agent, enabling it to operate on the data in a predefined manner. Even if a user attempts to exceed these constraints, the agent can enforce them. Moreover, why restrict ourselves to a single agent? We can develop numerous agents, each endowed with predefined instructions to operate on data, laying the foundation for our future applications. This approach signifies a radical departure from our historical model of software applications.
In this emerging paradigm, AI agents will serve as the bridge between users and data. They will decipher user intent, translate it into precise instructions, and execute tasks on the user’s behalf. This transition from user-driven interaction to agent-driven automation will significantly elevate productivity and user satisfaction.

While the shift to an agent-centric world may initially seem daunting, it also presents a wealth of opportunities. By embracing AI agents, developers can create more innovative, efficient, and user-friendly applications.
The Road Ahead
The future of software is brimming with promise. By harnessing the power of AI agents, we can unlock new possibilities and forge a world where technology truly empowers human potential.
Reference
Intro to Agents (Andrew Ng) : Andrew Ng Explores The Rise Of AI Agents And Agentic Reasoning | BUILD 2024 Keynote
Platform for Agents (Crew.ai) : https://www.deeplearning.ai/short-courses/practical-multi-ai-agents-and-advanced-use-cases-with-crewai/
AutoGen Agenting Pattern: https://www.deeplearning.ai/short-courses/ai-agentic-design-patterns-with-autogen/
Basics of Building Agent: https://www.youtube.com/watch?v=EUey9L9sgzE&list=WL&index=1