What is an AI agent?

13 Jun 2024

There are two extremes: on the one hand, there are nerds who meddle in dry definitions divorced from current practice, and on the other, there are people driven by hype who are okay with just buzzwords. We will strive to approach a balanced view, address key concepts, and clarify any potential misunderstandings.

Let's digest what we see today: software programs, agentic *smth, agent networks and workflows, multi-agent systems, chatbots, role-based agents, co-pilots, assistants, personal agents, company agents, and who knows what we will see tomorrow.

This agentification of everything is temporary. It mainly arises from the fact that the term "agent" carries different meanings in economics, robotics, computer science, and other fields, which can lead to confusion or mislead.

I like this quote from the paper “Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents by Stan Franklin and Art Graesser, 1996“:

the only concepts that yield sharp edge categories are mathematical concepts, and they succeed only because they are content free. Agents "live" in the real world (or some world), and real world concepts yield fuzzy categories

To make sense of this, we will categorize everything using four causes (from Aristotle). Final and Formal are the most interesting to us.

The final cause is the reason for its creation:

  • to entertain;
  • to provide value for businesses or individuals;
  • to advance dev tools and technology research.

(market monopolization and revenue capture included by default)

The formal cause is about UI/UX:

  • algorithms;
  • APIs;
  • apps;
  • chats;
  • integrated assistants and copilots;
  • self-sufficient assistants;
  • platforms.

We can categorize material cause into four subcategories:

  • digital (code for software);
  • physical (components for robots);
  • live (if we count humans as a type of agents);
  • inanimate (if we don't count role-based chatbots as live entities).

The efficient cause behind all of them is software engineers, data, domain experts, infrastructure, and surely, the recent public emergence of LLMs.

Let's outline the key aspects required to treat a thing as an agent.

Step one, here is the list of features that agents can be described with:

  1. Persistence: code is not executed on demand but runs continuously and decides for itself when it should perform some activity;
  2. Reactivity: agents perceive the context in which they operate and react to it appropriately;
  3. Autonomy: agents have capabilities of task selection, prioritization, goal-directed behavior, and decision-making without human intervention;
  4. Initiative: proactive reasoning about the course of problem-solving, action selection, and prioritization;
  5. Character: agents have believable "personality" and emotional state;
  6. Social ability: agents can engage other components through communication and coordination, they may collaborate on a task;
  7. Learning: acquiring knowledge to increase its performance in achieving goals;
  8. Mobility: agents can migrate their state from one environment to another and continue their execution on the destination with the ability to interact with other agents there;
  9. Flexibility: agents can perform actions that are not predefined.

Step two is problematic. Everyone defines the minimal features that qualify something as an agent according to their preferences. Why? Today, it's a trendy thing for companies to do.

Global Generative AI VC investment

You can create your definition based on what we have discussed.

I agree with the viewpoint expressed in the article I mentioned above. We can consider something an agent when it incorporates the first four features: is is persistent, reactive, autonomous, and initiative. From this perspective, not many things today actually match the name "agent". And of course, being an agent doesn't mean it's a great product.

Thanks for your attention!


P.S. If you enjoyed this post, please consider connecting with me on X or LinkedIn.