# Agent

> **Class** in `langchain_classic`

📖 [View in docs](https://reference.langchain.com/python/langchain-classic/agents/agent/Agent)

Agent that calls the language model and deciding the action.

This is driven by a LLMChain. The prompt in the LLMChain MUST include
a variable called "agent_scratchpad" where the agent can put its
intermediary work.

## Signature

```python
Agent()
```

## Extends

- `BaseSingleActionAgent`

## Properties

- `llm_chain`
- `output_parser`
- `allowed_tools`
- `return_values`
- `input_keys`
- `observation_prefix`
- `llm_prefix`

## Methods

- [`dict()`](https://reference.langchain.com/python/langchain-classic/agents/agent/Agent/dict)
- [`get_allowed_tools()`](https://reference.langchain.com/python/langchain-classic/agents/agent/Agent/get_allowed_tools)
- [`plan()`](https://reference.langchain.com/python/langchain-classic/agents/agent/Agent/plan)
- [`aplan()`](https://reference.langchain.com/python/langchain-classic/agents/agent/Agent/aplan)
- [`get_full_inputs()`](https://reference.langchain.com/python/langchain-classic/agents/agent/Agent/get_full_inputs)
- [`validate_prompt()`](https://reference.langchain.com/python/langchain-classic/agents/agent/Agent/validate_prompt)
- [`create_prompt()`](https://reference.langchain.com/python/langchain-classic/agents/agent/Agent/create_prompt)
- [`from_llm_and_tools()`](https://reference.langchain.com/python/langchain-classic/agents/agent/Agent/from_llm_and_tools)
- [`return_stopped_response()`](https://reference.langchain.com/python/langchain-classic/agents/agent/Agent/return_stopped_response)
- [`tool_run_logging_kwargs()`](https://reference.langchain.com/python/langchain-classic/agents/agent/Agent/tool_run_logging_kwargs)

## ⚠️ Deprecated

Deprecated since version 0.1.0. Will be removed in version 1.0.

---

[View source on GitHub](https://github.com/langchain-ai/langchain/blob/9f232caa7a8fe1ca042a401942d5d90d54ceb1a6/libs/langchain/langchain_classic/agents/agent.py#L699)