@Jolyne_AI: LangChain 官方团队开源了一套从零到一打造 AI Agent 的实战教程:Agents From Scratch。 你将亲手做出一个“会管邮箱”的智能助手,按步骤掌握代理构建、评估体系、人机协作与记忆机制等关键能力,并最终接入真实…
摘要
LangChain 官方团队开源了一套从零到一打造 AI Agent 的实战教程「Agents From Scratch」,涵盖代理构建、评估、人机协作、记忆机制,并最终集成 Gmail API 实现真实的邮件管理助手。
查看缓存全文
缓存时间: 2026/07/02 08:19
LangChain 官方团队开源了一套从零到一打造 AI Agent 的实战教程:Agents From Scratch。
你将亲手做出一个“会管邮箱”的智能助手,按步骤掌握代理构建、评估体系、人机协作与记忆机制等关键能力,并最终接入真实的 Gmail API,真正可用、可上线。
GitHub:http://github.com/langchain-ai/agents-from-scratch…
你会学到什么:
- 一条从入门代理到进阶能力的完整路线图
- 邮件助手全流程实战:邮件分类、自动回复一步到位
- 代理如何评估:用 LLM 当裁判,建立可复用的评测方法
- 人机协作设计:关键操作可让用户审核把关
- 记忆机制落地:让代理逐步学习并贴合你的偏好
- Gmail API 集成与部署指南:打通真实业务场景
面向想系统学习 AI Agent 开发的开发者:配好环境就能跑,带测试方案,边做边学、快速成型。
langchain-ai/agents-from-scratch
Source: https://github.com/langchain-ai/agents-from-scratch
Agents From Scratch
The repo is a guide to building agents from scratch. It builds up to an “ambient” agent that can manage your email with connection to the Gmail API. It’s grouped into 4 sections, each with a notebook and accompanying code in the src/email_assistant directory. These section build from the basics of agents, to agent evaluation, to human-in-the-loop, and finally to memory. These all come together in an agent that you can deploy, and the principles can be applied to other agents across a wide range of tasks.

Environment Setup
Python Version
- Ensure you’re using Python 3.11 or later.
- This version is required for optimal compatibility with LangGraph.
python3 --version
API Keys
- If you don’t have an OpenAI API key, you can sign up here.
- Sign up for LangSmith here.
- Generate a LangSmith API key.
Set Environment Variables
- Create a
.envfile in the root directory:
# Copy the .env.example file to .env
cp .env.example .env
- Edit the
.envfile with the following:
LANGSMITH_API_KEY=your_langsmith_api_key
LANGSMITH_TRACING=true
LANGSMITH_PROJECT="interrupt-workshop"
OPENAI_API_KEY=your_openai_api_key
- You can also set the environment variables in your terminal:
export LANGSMITH_API_KEY=your_langsmith_api_key
export LANGSMITH_TRACING=true
export OPENAI_API_KEY=your_openai_api_key
Package Installation
Recommended: Using uv (faster and more reliable)
# 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
Alternative: Using pip
$ 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 .
⚠️ IMPORTANT: Do not skip the package installation step! This editable install is required for the notebooks to work correctly. The package is installed as
interrupt_workshopwith import nameemail_assistant, allowing you to import from anywhere withfrom email_assistant import ...
Structure
The repo is organized into the 4 sections, with a notebook for each and accompanying code in the src/email_assistant directory.
Preface: LangGraph 101
For a brief introduction to LangGraph and some of the concepts used in this repo, see the LangGraph 101 notebook. This notebook explains the basics of chat models, tool calling, agents vs workflows, LangGraph nodes / edges / memory, and LangGraph Studio.
Building an agent
- Notebook: notebooks/agent.ipynb
- Code: src/email_assistant/email_assistant.py

This notebook shows how to build the email assistant, combining an email triage step with an agent that handles the email response. You can see the linked code for the full implementation in src/email_assistant/email_assistant.py.

Evaluation
- Notebook: notebooks/evaluation.ipynb

This notebook introduces evaluation with an email dataset in eval/email_dataset.py. It shows how to run evaluations using Pytest and the LangSmith evaluate API. It runs evaluation for emails responses using LLM-as-a-judge as well as evaluations for tools calls and triage decisions.

Human-in-the-loop
- Notebook: notebooks/hitl.ipynb
- Code: src/email_assistant/email_assistant_hitl.py

This notebooks shows how to add human-in-the-loop (HITL), allowing the user to review specific tool calls (e.g., send email, schedule meeting). For this, we use Agent Inbox as an interface for human in the loop. You can see the linked code for the full implementation in src/email_assistant/email_assistant_hitl.py.

Memory

This notebook shows how to add memory to the email assistant, allowing it to learn from user feedback and adapt to preferences over time. The memory-enabled assistant (email_assistant_hitl_memory.py) uses the LangGraph Store to persist memories. You can see the linked code for the full implementation in src/email_assistant/email_assistant_hitl_memory.py.
Connecting to APIs
The above notebooks using mock email and calendar tools.
Gmail Integration and Deployment
Set up Google API credentials following the instructions in Gmail Tools README.
The README also explains how to deploy the graph to LangGraph Platform.
The full implementation of the Gmail integration is in src/email_assistant/email_assistant_hitl_memory_gmail.py.
Running Tests
The repository includes an automated test suite to evaluate the email assistant.
Tests verify correct tool usage and response quality using LangSmith for tracking.
Running Tests with run_all_tests.py
python tests/run_all_tests.py
Test Results
Test results are logged to LangSmith under the project name specified in your .env file (LANGSMITH_PROJECT). This provides:
- Visual inspection of agent traces
- Detailed evaluation metrics
- Comparison of different agent implementations
Available Test Implementations
The available implementations for testing are:
email_assistant- Basic email assistant
Testing Notebooks
You can also run tests to verify all notebooks execute without errors:
# Run all notebook tests
python tests/test_notebooks.py
# Or run via pytest
pytest tests/test_notebooks.py -v
Future Extensions
Add LangMem to manage memories:
- Manage a collection of background memories.
- Add memory tools that can look up facts in the background memories.
相似文章
@GitHub_Daily: 用 AI 处理长周期复杂任务,随着上下文越来越长,模型容易出现「忘事」,输出质量也直线下降。 LangChain 官方团队开源了一套教程:Deep Agents from Scratch,从零拆解主流 Agent 的核心设计模式,讲得很透…
LangChain 官方团队开源了教程 'Deep Agents from Scratch',从零拆解主流 Agent 的核心设计模式,涵盖任务规划、上下文卸载到文件系统以及子代理隔离等思路,共 5 个渐进式 Notebook,可上手搭建完整深度研究 Agent。
@LangChain: 智能体正在编写代码、处理文件、分析数据、安装包并运行多步骤工作流。要做到这一点……
LangChain 将于7月15日举办一场关于为AI智能体构建安全执行环境的技术网络研讨会,内容涵盖安全性、隔离性和可观测性。
@FakeMaidenMaker: LangChain 刚官方开源了一个开箱即用的 agent harness——Deep Agent 装好就能跑长任务、多步工作,不用 fork 也能轻松替换任何部件。 GitHub 23701 stars,LangChain 官方(lan…
LangChain 官方开源了 Deep Agent,一个开箱即用的 agent harness,支持长任务、多步工作流,可插拔组件,模型无关,生产就绪。
@tom_doerr: 专业的AI智能代理管理电子邮件、日历和研究 https://github.com/kaymen99/personal-ai-assistant…
一款开源AI个人助手,配备专门的智能代理,用于管理电子邮件、日历、任务、Slack和网络研究,基于LangGraph和LangChain构建。
@GitTrend0x: AI Agent 从小白变大神进阶神器 https://github.com/pguso/ai-agents-from-scratch… 这就是 ai-agents-from-scratch,3.9k star 爆款「真正把 AI Age…
介绍了一个3.9k star的开源教程项目ai-agents-from-scratch,使用本地LLM和Node.js从零开始构建AI Agent,涵盖系统提示、工具、记忆和推理模式等核心概念。