LangChain agents-from-scratch provides a guided workflow to build an ambient-style email assistant with human-in-the-loop and memory, organized as notebooks and source code across four sections.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
What it is
The repository is a guide to building agents from scratch, culminating in an ambient agent that can manage email via Gmail API. It includes four sections with notebooks and accompanying code in src/email_assistant for agent basics, evaluation, human-in-the-loop, and memory.
How it works
The project demonstrates assembling an email assistant by:
- Building an agent that handles email triage and responses
- Integrating evaluation using an email dataset and Pytest with LangSmith evaluate API
- Adding human-in-the-loop via an interface (Agent Inbox) for reviewing tool calls
- Extending with memory using LangGraph Store to persist memories
Code references:
- src/email_assistant/email_assistant.py for the basic agent
- src/email_assistant/email_assistant_hitl.py for HITL
- src/email_assistant/email_assistant_hitl_memory.py for memory-enabled flow
- src/email_assistant/email_assistant_hitl_memory_gmail.py for Gmail integration
Getting started
Environment and installation steps emphasized in the README:
- Python version: 3.11 or later
- Create a .env file and set environment variables such as LANGSMITH_API_KEY, LANGSMITH_TRACING, OPENAI_API_KEY
- Package installation options:
- Using uv:
# Install uv if you haven't already pip install uv # Install the package with development dependencies uv sync --extra dev # Activate the virtual environment source .venv/bin/activate - Using pip (editable install):
$ python3 -m venv .venv $ source .venv/bin/activate # Ensure you have a recent version of pip (required for editable installs with pyproject.toml) $ python3 -m pip install --upgrade pip # Install the package in editable mode $ pip install -e .
- Using uv:
Important: The editable install is required for the notebooks to work correctly; the package is installed as interrupt_workshop with import name email_assistant.
Recent releases
- Release 0: none listed.
Traction
- Stars: 2051
- Forks: 402
- Open issues: 14
Behind the repo
- The project center is langchain-ai/agents-from-scratch, focusing on building agents with memory and HITL capabilities for email tasks.
Caveats
- Language: Jupyter Notebook
- License: MIT
- Created: 2025-03-31
- Last push: 2026-06-15
- Gmail integration requires Google API credentials per Gmail Tools README.






