Skip to main content
This guide walks you through creating your first deep agent with planning, file system tools, and subagent capabilities. You’ll build a research agent that can conduct research and write reports.
Using an AI coding assistant?
  • Install the LangChain Docs MCP server to give your agent access to up-to-date LangChain documentation and examples.
  • Install LangChain Skills to improve your agent’s performance on LangChain ecosystem tasks.

Prerequisites

Before you begin, make sure you have an API key from a model provider (e.g., Gemini, Anthropic, OpenAI).
Deep Agents require a model that supports tool calling. See customization for how to configure your model.

Step 1: Install dependencies

This guide uses Tavily as an example search provider, but you can substitute any search API (e.g., DuckDuckGo, SerpAPI, Brave Search).

Step 2: Set up your API keys

Step 3: Create a search tool

Step 4: Create a deep agent

Pass a model string in provider:model format, or an initialized model instance. See supported models for all providers and suggested models for tested recommendations.

Step 5: Run the agent

Trace your agent’s planning steps, tool calls, and subagent delegation with LangSmith. Follow the observability quickstart to get set up.

How does it work?

Your deep agent automatically:
  1. Plans its approach using the built-in write_todos tool to break down the research task.
  2. Conducts research by calling the internet_search tool to gather information.
  3. Manages context by using file system tools (write_file, read_file) to offload large search results.
  4. Spawns subagents as needed to delegate complex subtasks to specialized subagents.
  5. Synthesizes a report to compile findings into a coherent response.

Examples

For agents, patterns, and applications you can build with Deep Agents, see Examples.

Streaming

Deep Agents have built-in streaming for real-time updates from agent execution using LangGraph. This allows you to observe output progressively and review and debug agent and subagent work, such as tool calls, tool results, and LLM responses.

Next steps

Now that you’ve built your first deep agent: