What are AI Agents?
Agent-Based Software Model
Describes ideas and visions of how an Agent-based software model and architecture could look. The entire concept did not even exist 2 years ago, so these are agile and flexible visions that should stimulate discussion and have fun doing it. Enjoy!
What are Software Agents? What are AI Agents?
Surely the word Agent has been used for decades in building software. But the concept of an AI Software Agent that we see today is vague and ambiguous at best. Agent is quickly becoming one of the overused words like the word Service, Endpoint, Model, API. To keep things simple for the time being... think of an Agent as a super software component that has the ability to understand language by using a Language Model (LLM) such as OpenAI GPT Turbo for example. It does seem the term Agent in today's AI context is very much a concept or abstraction and not a defined specification. It's easiest to think of an Agent as any other Domain Driven object that just happens to speak English.
- Historical Use: "Agent" has been used in software for decades.
- Modern AI Agents: The term is vague and overused like Service or API.
- Simplified Definition: Agents are a super software component using an LLM (e.g., OpenAI GPT Turbo).
- Conceptual Nature: More of a concept or abstraction, not a specification.
Core Software
At the foundation of any high-rise building is a rock-solid base. By creating a very high-performance, easy-to-use, easy-to-work-with, and easy-to-understand core, you have the perfect base to build your castle on. It's important to create a solid foundation for higher-level constructs such as tools, specialized pipelines, workflows, and full-blown AI-enabled applications. The base infrastructure is a set of Python tools, utilities, helpers, and wrappers that essentially provide a base set of tools to make working with LLMs and other AI services solid. From the base layer blooms a rich ecosystem of agent-based applications using high-level constructs such as Tasks, Agents, Pipelines, and Workflows a breeze. The ultimate vision for this is to be the Base Application Layer for AI-based future!
- Historical Use: Building a strong foundation is a long-standing practice in construction and software alike.
- Modern AI Applications: Establishing a core infrastructure is crucial for developing advanced tools, pipelines, workflows, and AI-enabled applications.
- Simplified Definition: The core software serves as a high-performance, easy-to-use base of Python tools, utilities, helpers, and wrappers for LLMs and AI services.
- Conceptual Nature: This foundational layer enables the creation of a rich ecosystem of agent-based applications, aiming to be the Base Application Layer for AI in the future.
Application Layer Software
Isn't the whole reason to build tools to build the big stuff? In our world, the Applications are the reason to go to work. Applications can range from Python scripts in the enterprise to a REST API for your business. The application may even be a brand-new browser! Something that's only imagination now but could be built using First Principles and the ground up with the new AI Agentic Model in mind, using Agents as the cornerstone and fundamental building block for customization and personalization. OpenAI Assistants API has some very interesting potential... let's see where that goes!
- Historical Use: Applications have always been the driving force behind tool development.
- Modern AI Applications: Applications range from enterprise Python scripts to REST APIs, and even new browser concepts.
- Simplified Definition: Applications are built using the AI Agentic Model, with Agents as the fundamental building block for customization and personalization.
- Conceptual Nature: The potential of the OpenAI Assistants API holds exciting possibilities for future application development.
What is a Large Language Model?
The AI Agent-based software today only exists and is enabled by the release of ChatGPT in November 2022. What many don't realize is ChatGPT is only the website and front end. The real nucleus and core enabler is the magic and power of the OpenAI GPT Models. Attempting to even describe the hidden potential from these models is beyond me. From an application developer's viewpoint, it conceptually can be compared to a super API and the API language is English. But just like mastering a programming language, learning the black art of Semantic Prompt Engineering is truly the secret sauce of creating Agents. You tell it exactly what you want, what format, what filters, what sources to query, even what tone of voice you want it to speak to you in... it really is changing software and how it's developed to the core.
- Historical Use: The release of ChatGPT in November 2022 enabled AI agent-based software.
- Modern AI Applications: ChatGPT is the front end, but the true power lies in the OpenAI GPT models.
- Simplified Definition: These models act as a super API where the language is English, transforming software development.
- Conceptual Nature: Mastering Semantic Prompt Engineering is key to creating effective agents, allowing precise control over outputs, tone, and more.
What can we do now?
As a Developer, this transition reminds me very much of the 2012 timeframe when the cloud changed how we developed software. The cloud changed our infrastructure and architecture model to platform as a service. Is it possible what we are seeing now is a much bigger change some would quite rightly call it a paradigm shift.
- Historical Use: The 2012 cloud transition altered our infrastructure and services.
- Future Vision: Today's AI transition could change software at the core.
The Language Problem? What are Semantic Traits?
Developers are some of the smartest and most critical thinking groups of people I know. Having the ability to think abstractly and create seemingly unimaginable solutions to problems is our strength. But... developers are not exactly known for their language skills. Many feel more comfortable just creating imaginary things and bringing them to life using C# or Python programming language. This will be interesting since Agent Driven Development is based on the semantic communications between various Agents and Tasks in the system. So specific words, context, sentence meaning, and structure will be critical. Learning the Semantic Traits of a Language even if you have been speaking it your whole life will be tested.
Should be an interesting journey and I for one am very excited to see this thing develop.