# langchain-ai/langgraph-101 architecture

> Architecture diagram of the GitHub repository langchain-ai/langgraph-101, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/langchain-ai/langgraph-101
- Repository: https://github.com/langchain-ai/langgraph-101

## Overview

LangGraph 101 is a hands-on learning repository: learners progress from agent fundamentals to advanced workflow patterns, with standalone implementations available to run in LangGraph Studio. Its examples cover tool-using agents, email triage, supervised specialist agents, parallel research, and Deep Agents capabilities. The sampled source confirms several runtime connections; for unsampled implementations, edges rely only on README-documented relationships. Notebooks are represented as learning experiences rather than an invented execution pipeline.

Main entry points: [`agents/deep_agent/agent.py`](https://github.com/langchain-ai/langgraph-101/blob/main/agents/deep_agent/agent.py) (Deep research agent), [`agents/music_store/memory_enabled_music_store_supervisor_with_interrupt.py`](https://github.com/langchain-ai/langgraph-101/blob/main/agents/music_store/memory_enabled_music_store_supervisor_with_interrupt.py) (Verified memory workflow), [`utils/models.py`](https://github.com/langchain-ai/langgraph-101/blob/main/utils/models.py) (Model configuration), [`agents/101/agent.py`](https://github.com/langchain-ai/langgraph-101/blob/main/agents/101/agent.py) (Weather assistant)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_learning["Learning tracks"]
  node_fundamentals["Agent fundamentals"]
  node_middleware["Middleware and HITL"]
  node_email_lesson["Email agent lesson<br/>[email_agent.ipynb]"]
  node_multi_lesson["Multi-agent lesson<br/>[multi_agent.ipynb]"]
  node_research_lesson["Research lesson"]
  node_deep_lesson["Deep Agents lesson<br/>[deep_agents.ipynb]"]
end

subgraph group_agents["Standalone agents"]
  node_weather_agent["Weather assistant<br/>[agent.py]"]
  node_email_agent["Email triage agent<br/>[graph.py]"]
  node_music_supervisor["Music store supervisor"]
  node_music_agent["Music catalog agent<br/>[music_agent.py]"]
  node_invoice_agent["Invoice agent<br/>[invoice_agent.py]"]
  node_music_memory["Verified memory workflow"]
  node_research_agent["Parallel research agent<br/>[graph.py]"]
  node_research_prompts["Research prompts<br/>[prompts.py]"]
  node_deep_agent["Deep research agent<br/>[agent.py]"]
  node_skills["On-demand writing skills"]
  node_agent_guidance["Agent instructions<br/>[AGENTS.md]"]
end

subgraph group_shared["Shared capabilities"]
  node_model["Model configuration<br/>[models.py]"]
  node_chinook["Chinook database setup<br/>[utils.py]"]
end

subgraph group_integrations["Tools and integrations"]
  node_email_tools["Email and calendar tools<br/>[email_tools.py]"]
  node_weather_service["Open-Meteo"]
  node_research_search["Tavily search"]
  node_workflow_store[("Long-term memory store")]
end

node_learner(("Learner"))

node_learner -->|"studies"| node_fundamentals
node_learner -->|"studies"| node_middleware
node_learner -->|"studies"| node_email_lesson
node_learner -->|"studies"| node_multi_lesson
node_learner -->|"studies"| node_research_lesson
node_learner -->|"studies"| node_deep_lesson
node_learner -->|"runs"| node_weather_agent
node_learner -->|"runs"| node_email_agent
node_learner -->|"runs"| node_music_memory
node_learner -->|"runs"| node_research_agent
node_learner -->|"runs"| node_deep_agent
node_weather_agent -->|"invokes"| node_model
node_weather_agent -->|"requests weather"| node_weather_service
node_email_agent -->|"invokes"| node_model
node_music_memory -->|"delegates"| node_music_supervisor
node_music_supervisor -->|"routes music queries"| node_music_agent
node_music_supervisor -->|"routes invoice queries"| node_invoice_agent
node_music_memory -->|"loads customer data"| node_chinook
node_music_agent -->|"queries catalog"| node_chinook
node_invoice_agent -->|"queries invoices"| node_chinook
node_music_memory -->|"reads and writes memory"| node_workflow_store
node_research_agent -->|"uses prompts"| node_research_prompts
node_research_agent -->|"invokes"| node_model
node_deep_agent -->|"invokes"| node_model
node_deep_agent -->|"searches web"| node_research_search
node_deep_agent -->|"loads skills"| node_skills
node_deep_agent -->|"loads instructions"| node_agent_guidance
node_deep_agent -->|"stores memories"| node_workflow_store

click node_fundamentals "https://github.com/langchain-ai/langgraph-101/blob/main/notebooks/101/101_langchain_langgraph.ipynb"
click node_middleware "https://github.com/langchain-ai/langgraph-101/blob/main/notebooks/101/102_middleware.ipynb"
click node_email_lesson "https://github.com/langchain-ai/langgraph-101/blob/main/notebooks/201/email_agent.ipynb"
click node_multi_lesson "https://github.com/langchain-ai/langgraph-101/blob/main/notebooks/201/multi_agent.ipynb"
click node_research_lesson "https://github.com/langchain-ai/langgraph-101/blob/main/notebooks/201/research_agent.ipynb"
click node_deep_lesson "https://github.com/langchain-ai/langgraph-101/blob/main/notebooks/201/deep_agents.ipynb"
click node_weather_agent "https://github.com/langchain-ai/langgraph-101/blob/main/agents/101/agent.py"
click node_email_agent "https://github.com/langchain-ai/langgraph-101/blob/main/agents/email_agent/graph.py"
click node_music_supervisor "https://github.com/langchain-ai/langgraph-101/blob/main/agents/music_store/music_store_supervisor.py"
click node_music_agent "https://github.com/langchain-ai/langgraph-101/blob/main/agents/music_store/music_agent.py"
click node_invoice_agent "https://github.com/langchain-ai/langgraph-101/blob/main/agents/music_store/invoice_agent.py"
click node_music_memory "https://github.com/langchain-ai/langgraph-101/blob/main/agents/music_store/memory_enabled_music_store_supervisor_with_interrupt.py"
click node_research_agent "https://github.com/langchain-ai/langgraph-101/blob/main/agents/researcher/graph.py"
click node_research_prompts "https://github.com/langchain-ai/langgraph-101/blob/main/agents/researcher/prompts.py"
click node_deep_agent "https://github.com/langchain-ai/langgraph-101/blob/main/agents/deep_agent/agent.py"
click node_skills "https://github.com/langchain-ai/langgraph-101/tree/main/agents/deep_agent/skills"
click node_agent_guidance "https://github.com/langchain-ai/langgraph-101/blob/main/agents/deep_agent/AGENTS.md"
click node_model "https://github.com/langchain-ai/langgraph-101/blob/main/utils/models.py"
click node_chinook "https://github.com/langchain-ai/langgraph-101/blob/main/utils/utils.py"
click node_email_tools "https://github.com/langchain-ai/langgraph-101/blob/main/mcp/email_tools.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_fundamentals,node_middleware,node_email_lesson,node_multi_lesson,node_research_lesson,node_deep_lesson toneBlue
class node_weather_agent,node_email_agent,node_music_supervisor,node_music_agent,node_invoice_agent,node_music_memory,node_research_agent,node_research_prompts,node_deep_agent,node_skills,node_agent_guidance toneAmber
class node_model,node_chinook toneMint
class node_email_tools,node_weather_service,node_research_search,node_workflow_store toneRose
class node_learner toneIndigo
```

## Components

### Learning tracks

- [Agent fundamentals](https://github.com/langchain-ai/langgraph-101/blob/main/notebooks/101/101_langchain_langgraph.ipynb): `notebooks/101/101_langchain_langgraph.ipynb`
- [Middleware and HITL](https://github.com/langchain-ai/langgraph-101/blob/main/notebooks/101/102_middleware.ipynb): `notebooks/101/102_middleware.ipynb`
- [Email agent lesson](https://github.com/langchain-ai/langgraph-101/blob/main/notebooks/201/email_agent.ipynb): `notebooks/201/email_agent.ipynb`
- [Multi-agent lesson](https://github.com/langchain-ai/langgraph-101/blob/main/notebooks/201/multi_agent.ipynb): `notebooks/201/multi_agent.ipynb`
- [Research lesson](https://github.com/langchain-ai/langgraph-101/blob/main/notebooks/201/research_agent.ipynb): `notebooks/201/research_agent.ipynb`
- [Deep Agents lesson](https://github.com/langchain-ai/langgraph-101/blob/main/notebooks/201/deep_agents.ipynb): `notebooks/201/deep_agents.ipynb`

### Standalone agents

- [Weather assistant](https://github.com/langchain-ai/langgraph-101/blob/main/agents/101/agent.py): `agents/101/agent.py`
- [Email triage agent](https://github.com/langchain-ai/langgraph-101/blob/main/agents/email_agent/graph.py): `agents/email_agent/graph.py`
- [Music store supervisor](https://github.com/langchain-ai/langgraph-101/blob/main/agents/music_store/music_store_supervisor.py): `agents/music_store/music_store_supervisor.py`
- [Music catalog agent](https://github.com/langchain-ai/langgraph-101/blob/main/agents/music_store/music_agent.py): `agents/music_store/music_agent.py`
- [Invoice agent](https://github.com/langchain-ai/langgraph-101/blob/main/agents/music_store/invoice_agent.py): `agents/music_store/invoice_agent.py`
- [Verified memory workflow](https://github.com/langchain-ai/langgraph-101/blob/main/agents/music_store/memory_enabled_music_store_supervisor_with_interrupt.py): `agents/music_store/memory_enabled_music_store_supervisor_with_interrupt.py`
- [Parallel research agent](https://github.com/langchain-ai/langgraph-101/blob/main/agents/researcher/graph.py): `agents/researcher/graph.py`
- [Research prompts](https://github.com/langchain-ai/langgraph-101/blob/main/agents/researcher/prompts.py): `agents/researcher/prompts.py`
- [Deep research agent](https://github.com/langchain-ai/langgraph-101/blob/main/agents/deep_agent/agent.py): `agents/deep_agent/agent.py`
- [On-demand writing skills](https://github.com/langchain-ai/langgraph-101/tree/main/agents/deep_agent/skills): `agents/deep_agent/skills`
- [Agent instructions](https://github.com/langchain-ai/langgraph-101/blob/main/agents/deep_agent/AGENTS.md): `agents/deep_agent/AGENTS.md`

### Shared capabilities

- [Model configuration](https://github.com/langchain-ai/langgraph-101/blob/main/utils/models.py): `utils/models.py`
- [Chinook database setup](https://github.com/langchain-ai/langgraph-101/blob/main/utils/utils.py): `utils/utils.py`

### Tools and integrations

- [Email and calendar tools](https://github.com/langchain-ai/langgraph-101/blob/main/mcp/email_tools.py): `mcp/email_tools.py`
- **Open-Meteo**
- **Tavily search**
- **Long-term memory store**

### Other components

- **Learner**

## Connections

- Learner → Agent fundamentals: studies
- Learner → Middleware and HITL: studies
- Learner → Email agent lesson: studies
- Learner → Multi-agent lesson: studies
- Learner → Research lesson: studies
- Learner → Deep Agents lesson: studies
- Learner → Weather assistant: runs
- Learner → Email triage agent: runs
- Learner → Verified memory workflow: runs
- Learner → Parallel research agent: runs
- Learner → Deep research agent: runs
- Weather assistant → Model configuration: invokes
- Weather assistant → Open-Meteo: requests weather
- Email triage agent → Model configuration: invokes
- Verified memory workflow → Music store supervisor: delegates
- Music store supervisor → Music catalog agent: routes music queries
- Music store supervisor → Invoice agent: routes invoice queries
- Verified memory workflow → Chinook database setup: loads customer data
- Music catalog agent → Chinook database setup: queries catalog
- Invoice agent → Chinook database setup: queries invoices
- Verified memory workflow → Long-term memory store: reads and writes memory
- Parallel research agent → Research prompts: uses prompts
- Parallel research agent → Model configuration: invokes
- Deep research agent → Model configuration: invokes
- Deep research agent → Tavily search: searches web
- Deep research agent → On-demand writing skills: loads skills
- Deep research agent → Agent instructions: loads instructions
- Deep research agent → Long-term memory store: stores memories
