What is an Agent?¶
While conventional software enables users to streamline and automate workflows, agents perform those workflows on the user's behalf with a high degree of independence.
Agents are systems that independently accomplish tasks on your behalf.
Workflows¶
A workflow is a sequence of steps to meet a user's goal:
- Resolving a customer service issue
- Booking a reservation
- Committing a code change
- Generating a report
Applications that use LLMs but don't use them to control workflow execution are not agents. Simple chatbots, single-turn LLMs, and sentiment classifiers are not agents.
Core Characteristics¶
An agent has two core characteristics:
1. Controls Workflow Execution¶
The agent uses an LLM to manage workflow execution and make decisions:
- Recognizes when a workflow is complete
- Proactively corrects its actions if needed
- Halts execution and transfers control back to the user on failure
2. Uses Tools Within Guardrails¶
The agent accesses tools to interact with external systems:
- Gather context - Query databases, read documents, search the web
- Take actions - Send messages, update records, trigger processes
The agent dynamically selects appropriate tools based on the workflow's current state, always operating within defined guardrails.
Agent vs Non-Agent¶
| System | Agent? | Why |
|---|---|---|
| Customer service bot that routes tickets | Yes | Controls the routing workflow |
| Chatbot that answers FAQs | No | Single-turn responses, no workflow |
| Code assistant that commits changes | Yes | Executes multi-step workflow |
| Sentiment classifier | No | Single prediction, no decisions |
| Research assistant that gathers and summarizes | Yes | Multi-step with tool use |
Next Steps¶
- When to Build Agents - Evaluating use cases
- Agent Components - Model, Tools, Instructions