Generative AI & Law Agents
This week we previewed Kelvin Chat - a next generation Chat Experience powered by our Kelvin Agent. While we look forward to sharing more in the days and weeks to come, we thought it might be helpful to provide some background on software agents and the role they might play in the future of Generative AI & Law.
You may have never come across the term “software agent” before, but the odds are that you have encountered and even regularly use some form of software agent. Alexa, Siri, and some but not all chatbots, are just a few examples of modern software agents. Yet, even among modern software agents there is a wide gamut of sophistication in the underlying approach – from simple systems which can execute preconceived step-by-step instructions to more complex agents which can devise and execute their own plans.
History of Software Agents - From Rule-Based Expert Systems to Virtual Assistants
The concept of software agents has been evolving in computer science since the 1970s, with significant development and application across various domains over the decades. Early incarnations of software agents were relatively simple programs; they were primarily capable of autonomously retrieving and presenting information based on predefined user preferences. As the field matured, the 1990s witnessed the emergence of “intelligent agents,” sophisticated software entities endowed with the capability to perform tasks, learn from their actions, and interact with other agents, all without direct human intervention.
In the early stages, software agents were primarily rule-based expert systems designed to emulate human decision-making in specific domains. A prime example from the 1980s is the R1/XCON system, which helped configure computer systems based on customer requirements, demonstrating the potential of software agents in automating complex tasks. These early agents were mostly confined to academic research and specific industry applications.
As we moved into the 1990s and 2000s, the proliferation of the internet and advancements in artificial intelligence provided a fertile ground for the evolution of software agents. Internet bots, such as web crawlers, automated the task of indexing web pages, while intelligent agents started making their way into everyday applications. Examples include recommender systems on e-commerce platforms like Amazon, which autonomously analyze user behavior and provide personalized product suggestions. The emergence of virtual assistants in the 2010s, such as Siri, Alexa, and Google Assistant, marked a significant milestone in the integration of software agents into daily life, demonstrating their ability to understand natural language, learn from user interactions, and perform a wide range of tasks autonomously. Today, software agents continue to be an area of active research and development, with applications ranging from autonomous vehicles and smart homes to customer service and healthcare.
For example, though it may not look like Alexa is making independent choices, even the most simplistic tasks require autonomous decision-making. Whenever I tell Alexa, “play nursery rhymes,” she has to make multiple autonomous decisions to fulfill my request. First, she must capture my voice command and process it using natural language processing. She then tries to determine my preferences of nursery rhymes. She may look to see if I have made similar requests in the past or if I have any default music preferences that align with nursery rhymes. Using my request, past interactions, account settings, and possibly even information about popular nursery rhymes, Alexa then selects which music to play. Lastly, Alexa puts her decision into motion and sends a request to the chosen music service to play the music that she has selected.
Goal-Directed Agents for the Dynamic Planning and Execution of Tasks
One important subset of software agents is called goal-directed agents (GD). Such goal-directed agents can deliberate, plan, generate and execute a task or tasks based upon certain inputs or environmental conditions. The ability to dynamically plan is a key feature of this class of agents.
A recent review article highlights the methodology of this class of agent -
To explain the GD methodology, consider a robot working on completing a task of moving a box from a location A to another location B. During the task performance, the robot faces a door. In order to be able to open the door, the robot needs to put the box down first. If the robot puts the box down and opens the door it needs to remember to carry the box again before proceeding with its movement to the location B. This process is associated with a goal-oriented reasoning strategy of the GD agent.
Connecting Software Agents with Generative AI - A Preview of Part II
This year has certainly brought with it consistent waves of excitement and perhaps a bit of overbaked hype. It is hard to separate the wheat from the chaff (or the nonsense from the brilliant ideas). However, we believe one of the more exciting developments to be proposed this year is the marriage between software agents (including multi-agent models) and generative AI models such as GPT, Claude, Llama and others.
Auto-GPT and the recent generative agents paper published by Park, et al. helped bring attention to how the existing paradigm of goal-directed software agents might be fruitfully combined with generative AI capabilities. In Part II of our series, we will explore the interaction between dynamic software agents and tools/methods including but not limited to large language models (LLMs).