What is an AI Agent?
Definition
An artificial intelligence (AI) agent is a software program capable of interacting with its environment, collecting data, and using that data to perform self-determined tasks aimed at achieving predetermined goals.
AI Agent in the Context of IcarusAI
Within IcarusAI, an AI agent is defined as any active element—whether physical or virtual—that consistently takes inputs and produces outputs. These agents can range from complex algorithms and neural networks to credit scoring models. Higher-level and more abstract agents can also exist within this framework.
Notably, agents may function without traditional inputs or outputs. For example, generative agents might not require inputs, while consumer agents may not produce outputs.
Agent Activity
AI agents can vary greatly in their activity levels, with some executing thousands of runs per minute, while others may only perform a few runs each day. IcarusAI does not require detailed definitions or configurations for each agent. Instead, the focus is on general features, metrics, distributions, and changes over time.
To effectively monitor an agent, IcarusAI needs to observe at least a sample of the agent's runs.
Monitoring Agent Runs
For each agent run, the following elements are typically monitored:
- Inputs: A set (or dictionary) of input features, where each feature is represented as a number or a string (categorical value).
- Outputs: Outputs specific to the agent type (detailed below).
- Labels: Any relevant metadata about the run, such as agent ID, version, geographic region, etc.
- Run Start Time: The time when the run began.
- Run End Time: The time when the run concluded.
- Success: A flag indicating whether the run was completed successfully.
(More details about runs will be covered in the next chapter.)
Agent Types
Agent types in IcarusAI are classified based on the nature of their outputs. This classification allows for the computation of specific metrics that can be monitored for changes. The available agent types include:
- Regression: Output is a numerical value.
- Classification: Output is a categorical value.
- Detection: Output is a list of bounding boxes.
- Generic: Output is a dictionary containing one or more numeric or categorical values.
- LLM (Large Language Model): Output is a conversation, represented as a list of queries and responses.
Important Notes on Agent Types
- The agent type cannot be changed after the agent has been created.
- Each agent type produces different metrics tailored to its specific characteristics.
- Additional, more specialized agent types may be introduced in the future.