Курс LangChain Agents | Урок 0: Настройка окружения
О курсе
Этот курс является продолжением первого курса по LangChain. Здесь вы строите одно приложение с нуля до финала: агент-аналитик, который принимает задачу исследования, ищет данные, помнит прошлые сессии, делегирует задачи специализированным субагентам и запрашивает подтверждение перед важными действиями.
Каждый урок добавляет одну способность к этому агенту.
Что будете уметь после курса:
- Строить агентов на
create_agentи понимать, что происходит внутри - Подключать инструменты через серверы MCP
- Управлять контекстом агента через context engineering
- Добавлять middleware: summarization, retry, rate limits, human-in-the-loop
- Настраивать краткосрочную и долгосрочную память
- Защищать агента guardrails: PII, prompt injection, ограничение тематики
- Разбивать сложную задачу на мультиагентную систему
Требования
Вы прошли первый курс по LangChain или уверенно работаете с:
ChatOpenAIи LCEL (prompt | model | parser)@toolи базовым tool use- Чтением
.envчерезpython-dotenv
Если эти вещи вызывают вопросы, вернитесь к первому курсу.
Программа курса
| # | Урок | Что добавляем к агенту |
|---|---|---|
| 1 | create_agent и цикл агента | Базовый агент с инструментами |
| 2 | LangGraph под капотом | Checkpointer, память сессии |
| 3 | MCP | Инструменты через серверы MCP |
| 4 | Context engineering | Динамические инструменты и промпт |
| 5 | Middleware | Summarization, retry, лимиты |
| 6 | Краткосрочная память | Thread management, несколько сессий |
| 7 | Долгосрочная память | InMemoryStore, namespaces, семантический поиск |
| 8 | Human-in-the-loop | Паузы и подтверждения |
| 9 | Guardrails | PII, prompt injection, тематика |
| 10 | Паттерны мультиагентности | Выбор архитектуры |
| 11 | Субагенты и Handoffs | Финальный мультиагентный аналитик |
Настройка
1. Python 3.10+
python --version
# Python 3.10.x или выше
Если версия ниже, обновите. Курс использует синтаксис str | None, list[str] и другие
возможности 3.10+.
2. Виртуальное окружение
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate
Всегда работайте внутри venv - это изолирует зависимости проекта от системного Python.
3. Установка зависимостей
pip install langchain langgraph langchain-openai langsmith python-dotenv langchain-mcp-adapters duckduckgo-search fastmcp
Если проходили первый курс и окружение уже настроено, добавьте только новый пакет:
pip install langchain-mcp-adapters duckduckgo-search fastmcp
4. API ключ и файл .env
Курс использует OpenAI совместимый API. Создайте файл .env в корне проекта.
OpenAI:
- Зарегистрируйтесь на platform.openai.com
- Перейдите в API keys → Create new secret key
- Скопируйте ключ, он показывается только один раз
OPENAI_API_KEY=sk-proj-...
MODEL_NAME=gpt-4o-mini
Rus-GPT (российские карты, рубли):
Если оплата через OpenAI недоступна, используйте rus-gpt.com, российский прокси-провайдер, совместимый с OpenAI SDK.
- Зарегистрируйтесь через аккаунт Яндекс
- Перейдите в раздел Ключи → создайте новый ключ
OPENAI_API_KEY=rusgpt-...
OPENAI_BASE_URL=https://rus-gpt.com/api/v1
MODEL_NAME=anthropic/claude-haiku-4.5
5. .gitignore
Создайте .gitignore в корне проекта:
.env
.venv/
__pycache__/
*.pyc
Никогда не коммитьте .env в git, в нём хранятся секретные ключи.
6. Настройка LangSmith
В первом курсе LangSmith использовался для просмотра трейсов. В этом курсе он обязателен: агенты делают десятки вызовов за один запрос, и без трейсинга понять, что пошло не так, почти невозможно.
Если ещё не зарегистрировались: smith.langchain.com → Settings → Create API Key.
Добавьте в .env:
LANGCHAIN_API_KEY=lsv2_...
LANGCHAIN_TRACING_V2=true
LANGCHAIN_PROJECT=agents-course
LANGCHAIN_PROJECT задаёт название проекта в LangSmith. Все трейсы этого курса будут
собираться туда. Можно поставить любое имя.
7. Структура папок
Рекомендуемая структура для этого курса:
agents_course/
├── .env # ключи и настройки (не в git!)
├── .gitignore
├── requirements.txt
├── lesson_01/
│ ├── agent.py # основной код урока
│ └── task.py # ваше решение задания
├── lesson_02/
│ └── ...
...
└── final_agent/ # финальный агент (урок 11)
├── agents/
├── tools/
└── main.py
8. Проверка
Создайте файл check.py:
import os
from dotenv import load_dotenv
from langchain.agents import create_agent
from langchain.tools import tool
from langchain_openai import ChatOpenAI
load_dotenv()
@tool
def echo(text: str) -> str:
"""Возвращает текст обратно."""
return text
# ChatOpenAI подхватывает OPENAI_API_KEY и OPENAI_BASE_URL из окружения.
# Подробнее о выборе способа передачи модели в уроке 1.
model = ChatOpenAI(model=os.getenv("MODEL_NAME", "gpt-4o-mini"))
agent = create_agent(
model=model,
tools=[echo],
)
response = agent.invoke({"messages": [{"role": "user", "content": "Скажи 'готов к работе'"}]})
print(response["messages"][-1].content)
Запустите:
python check.py
Ожидаемый вывод:
Готов к работе! 👍
После этого откройте smith.langchain.com и убедитесь,
что трейс появился в проекте agents-course. Вы увидите граф вызовов: model → (если решил вызвать инструмент) tools → model → ответ.
Частые ошибки
Ошибка: ImportError: cannot import name 'create_agent' from 'langchain.agents'
ImportError: cannot import name 'create_agent' from 'langchain.agents'
Причина: установлена старая версия LangChain (0.x или ранний 1.x).
create_agent появился в LangChain v1+.
pip install --upgrade langchain
Проверьте версию:
python -c "import langchain; print(langchain.__version__)"
# 1.x.x
Ошибка: LANGCHAIN_API_KEY не распознаётся
Иногда LangSmith читает LANGSMITH_API_KEY вместо LANGCHAIN_API_KEY.
Если трейсы не появляются, попробуйте оба варианта в .env:
LANGCHAIN_API_KEY=lsv2_...
LANGSMITH_API_KEY=lsv2_...
Готовы?
Запустили check.py и увидели трейс в LangSmith, значит всё настроено.
Переходите к уроку 1: create_agent и цикл агента.
Подписывайтесь на мой Telegram канал
Если вам нужен ментор и вы хотите научиться разрабатывать AI агентов, пишите мне
Авторизуйтесь, чтобы оставить комментарий.
Нет комментариев.
Тут может быть ваша реклама
Пишите info@aisferaic.ru