Skip to main content

Autonomous Agents

Introduction

Autonomous agents are AI-powered programs that can be given an objective and then create, complete, and reprioritize tasks to achieve that objective, continuing this cycle until their objective is reached. [1]

There are various definitions of Autonomous Agents [2]:

According to Brustoloni (1991)

"Autonomous agents are systems capable of autonomous, purposeful action in the real world."

According to Maes (1995)

"Autonomous agents are computational systems that inhabit some complex dynamic environment, sense and act autonomously in this environment, and by doing so realize a set of goals or tasks for which they are designed."

Franklin and Graesser (1997) review different definitions and propose their definition

"An autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future."

Autonomous agents systems (also called Multi-agent systems) consist of agents and their environment. Typically multi-agent systems research refers to software agents. However, the agents in a multi-agent system could equally well be robots, humans or human teams. A multi-agent system may contain combined human-agent teams.


Learning Agent
Learning Agent

Agents can be divided into types spanning simple to complex.

Categories include:

  • Passive agents or "agent without goals" (such as obstacle, apple or key in any simple simulation)
  • Active agents with simple goals (like birds in flocking, or wolf–sheep in prey-predator model)
  • Cognitive agents (complex calculations)

Autonomous agents are computational systems that inhabit some complex dynamic environment, sense and act autonomously in this environment, and by doing so realize a set of goals or tasks for which they are deigned. [3]


Autonomous Agent and Environment
Autonomous Agent and Environment

Benefits of the Multi Agent Systems:

  • Multiple agents interact in common environment
  • Each agent with own sensors, effectors, goals
  • Agents have to coordinate actions to achieve goals

Autonomous Agents using LLM

In February, Stanford University published a paper that sparked widespread imagination. The researchers leveraged ChatGPT to power human-like agents in a mini-simulation of humanity. Shortly after, two open-source autonomous agent frameworks, AutoGPT and BabyAGI, were introduced with the goal of building fully autonomous AI agents. [4]

An autonomous agent is an AI program capable of planning and executing tasks based on a given objective. Imagine asking an AI to "book a flight" or "create a website for people interested in renting their apartments when they're away," and the agent goes to work by repeatedly asking itself "What should be the next steps to achieve the task at hand," utilizing a language learning model (LLM) to answer this question.

Example use case

Let's say we have an autonomous agent that assists with research, and we want a summary of the latest news about a specific topic, such as "Twitter." The agent would utilize its LLM to search for and analyze relevant information, and then provide a concise summary of the latest news related to Twitter

We tell the autonomous agent "Your objective is to find out the recent news about Twitter and then send me a summary." The agent looks at its objective, uses an AI such as OpenAI's GPT-4 to understand what it is reading, and comes up with its first task: "Task: Search Google for news related to Twitter."

The agent searches Google for Twitter news, finds the top articles, and comes back with a list of links. The first task is complete. Now the agent looks back at its main objective (to find out the recent news about Twitter and then send a summary) and at what it just completed (got a bunch of links of news about Twitter), and decides what its next tasks need to be.

It comes up with two new tasks: 1) Write a summary of the news, and 2) Read the contents of the news links found via Google. The agent stops for a second before continuing, determining that the top priority is to read the contents of the news links found via Google. It reads the content from the articles, and then once again comes back to its to-do list. It thinks to add a new task to summarize the content but that task is already on the list, so it doesn't add it. The agent checks its to-do list, and the only item left is to summarize the content it read. It sends you the summary just like you asked.

How this works

The following diagram taken from Yojei Nkajima’s BabyAGI [5] shows how the aforementioned agent works behind the scene.


From Yojei Nkajima’s BabyAGI
From Yojei Nkajima’s BabyAGI

Lectures

Advanced Learning

References

  1. https://www.mattprd.com/p/the-complete-beginners-guide-to-autonomous-agents
  2. https://en.wikipedia.org/wiki/Autonomous_agent
  3. https://en.wikipedia.org/wiki/Multi-agent_system
  4. https://www.aitidbits.ai/p/the-rise-of-autonomous-agents
  5. https://github.com/yoheinakajima/babyagi