Перейти к основному контенту
Tech Path Finder
КурсыИнтервьюКод-ревьюБлог
Tech Path Finder

Персонализированный путеводитель в IT. Квизы, мок-интервью, код ревью и аналитика прогресса.

@potapov_me

Платформа

  • Курсы
  • Прогресс
  • Мок-интервью
  • Код ревью
  • Живое ревью с ИИ
  • Тренажёр переговоров
  • Закладки

Контент

  • Блог
  • Главная
  • Обратная связь

Компания

  • О проекте
  • Тарифы
  • Условия использования
  • Конфиденциальность
  • Согласие на обработку данных
  • Cookie
  • Реквизиты

Аккаунт

  • Войти
  • Зарегистрироваться
  • Профиль

© 2026 Tech Path Finder. Все права защищены.

·ИП Потапов К.С.·Политика конфиденциальности·
Сделано с ❤️ в России
  1. LangChain и LangGraph: от новичка до профессионала
AI / ML·12 тем·48 вопросов

LangChain и LangGraph: от новичка до профессионала

Полный практический курс по созданию интеллектуальных агентов с использованием LangChain и LangGraph. Охватывает модели, инструменты, графовую оркестрацию, память, прерывания, функциональный API, мультиагентные системы и развёртывание в продакшен. Все примеры основаны на актуальной документации (2026) и проверены против реального API.

Начать курс

LangChain и LangGraph: от новичка до профессионала

Полный практический курс по созданию интеллектуальных агентов с использованием LangChain и LangGraph. Все примеры основаны на актуальной документации (2026) и проверены против реального API.

Что охватывает курс

Курс ведёт от базовых понятий (модели, инструменты, первый агент) через графовую оркестрацию (состояние, узлы, рёбра, маршрутизация) к продвинутым темам (мультиагентные системы, Deep Agents, развёртывание в продакшен).

Темы курса

  1. Введение в экосистему LangChain — обзор компонентов, установка, единый интерфейс моделей
  2. Инструменты и первый агент — декоратор @tool, create_agent, структурированный вывод
  3. Основы LangGraph — StateGraph, редукторы, MessagesState, узлы и рёбра
  4. Условная маршрутизация и Command — условные рёбра, Command для обновления состояния и маршрутизации
  5. Потоковая передача данных — стриминг с stream_events, асинхронный стриминг
  6. Память и сохранение состояния — чекпоинтеры, хранилище, InMemorySaver, PostgresSaver
  7. Управление контекстом — суммаризация, память, навыки, middleware
  8. Человек в цикле — прерывания, одобрение, редактирование, валидация ввода
  9. Функциональный API — @entrypoint, @task, параллельная обработка
  10. Мультиагентные системы — субагенты, хендоффы, навыки, маршрутизатор
  11. Продвинутые темы — Deep Agents, кэширование, обработка ошибок, LangSmith
  12. Продакшен — развёртывание, мониторинг, лучшие практики

Для кого этот курс

Курс подходит разработчикам, которые хотят создавать агентов на базе языковых моделей. Необходимы знания Python на уровне уверенного пользователя и базовое понимание REST API.

Необходимые инструменты

  • Python 3.10+
  • Учётная запись у провайдера языковых моделей (OpenAI, Anthropic, Google или другой)
  • (Опционально) PostgreSQL для продакшен-чекпоинтера
  1. 1

    Введение в экосистему LangChain

    Обзор экосистемы LangChain, установка, единый интерфейс моделей, выбор провайдера.

    4 вопроса6.0(1)
  2. 2

    Инструменты и первый агент

    Создание инструментов через декоратор @tool, конфигурация агента с create_agent, структурированный вывод, контекст выполнения.

    4 вопроса
  3. 3

    Основы LangGraph: состояние, узлы, рёбра

    Графовый подход к оркестрации, StateGraph, редукторы, MessagesState, узлы и рёбра.

    4 вопроса
  4. 4

    Условная маршрутизация и команда Command

    Условные рёбра, команда Command для обновления состояния и маршрутизации, Send для параллельных веток.

    4 вопроса
  5. 5

    Потоковая передача данных

    Стриминг с stream_events, асинхронный стриминг, обнаружение прерываний в потоке.

    4 вопроса
  6. 6

    Память и сохранение состояния

    Контрольные точки (чекпоинтеры), долговременная память (хранилище), InMemorySaver, PostgresSaver, Store.

    4 вопроса
  7. 7

    Управление контекстом

    Суммаризация, память, навыки, middleware для управления контекстным окном.

    4 вопроса
  8. 8

    Человек в цикле

    Прерывания (interrupts), паттерны одобрения и редактирования, валидация ввода, правила прерываний.

    4 вопроса
  9. 9

    Функциональный API

    Точки входа (@entrypoint), задачи (@task), сравнение графового и функционального API, параллельная обработка.

    4 вопроса
  10. 10

    Мультиагентные системы

    Паттерны мультиагентных систем: субагенты, передача управления, навыки, маршрутизатор, пользовательские рабочие процессы.

    4 вопроса
  11. 11

    Продвинутые темы

    Deep Agents, кэширование узлов, обработка ошибок, наблюдаемость с LangSmith.

    4 вопроса
  12. 12

    Продакшен: развёртывание и лучшие практики

    Развёртывание агентов, Docker, FastAPI, мониторинг, чеклист перед продакшеном, типичные ошибки.

    4 вопроса
  13. Зачёт

    Доступен после всех тем (0 из 12)

  14. Экзамен

    Доступен после зачёта

20 / 20

Агент

Агенты и инструменты

Модель, вызывающая инструменты в цикле, пока задача не будет выполнена. Состоит из модели и обвязки (промпт, инструменты, мидлварь).

Пример

agent = create_agent(model='openai:gpt-4o-mini', tools=[search], system_prompt='Ты помощник.')

Связанные термины

Обвязка (harness)

Основные понятия

Всё, что окружает цикл вызовов модели: промпт, инструменты и мидлварь. Формула: Агент = Модель + Обвязка.

Пример

create_agent(model=..., tools=..., system_prompt=..., middleware=[...])

Связанные термины

Инструмент (tool)

Агенты и инструменты

Функция, которую языковая модель может вызвать для взаимодействия с внешним миром: вызов API, обращение к базе данных, вычисления. Создаётся через декоратор @tool.

Пример

@tool def search(query: str) -> str: """Поиск информации.""" return f'Результаты для: {query}'

Связанные термины

Состояние (state)

Графовая оркестрация

Общая структура данных графа, которую читают и записывают все узлы. Определяется через TypedDict, dataclass или Pydantic BaseModel.

Пример

class State(TypedDict): messages: Annotated[list[AnyMessage], add_messages] step: int

Связанные термины

Узел (node)

Графовая оркестрация

Функция в графе LangGraph, которая принимает текущее состояние, выполняет вычисление и возвращает обновление состояния. Узлы делают работу, рёбра определяют порядок.

Пример

def my_node(state: State): return {'result': f'Обработано: {state["input"]}'}

Связанные термины

Ребро (edge)

Графовая оркестрация

Связь между узлами графа, определяющая порядок выполнения. Бывают обычные (всегда переход) и условные (переход на основе состояния).

Пример

builder.add_edge(START, 'node_a') builder.add_conditional_edges('node_a', routing_function)

Связанные термины

Редуктор

Графовая оркестрация

Функция, определяющая как обновляется значение в состоянии. По умолчанию — замена. Для накопления — add или add_messages.

Пример

class State(TypedDict): messages: Annotated[list[AnyMessage], add_messages]

Связанные термины

Контрольная точка (checkpoint)

Память и состояние

Снимок состояния графа в определённый момент выполнения. Позволяет продолжить разговор, восстановиться после сбоя, вернуться к предыдущему состоянию.

Пример

from langgraph.checkpoint.memory import InMemorySaver checkpointer = InMemorySaver() graph = builder.compile(checkpointer=checkpointer)

Связанные термины

Поток выполнения (thread)

Память и состояние

Идентифицируется через thread_id. При повторном использовании того же thread_id граф загружает последнее сохранённое состояние из контрольной точки.

Пример

config = {'configurable': {'thread_id': 'thread-1'}} result = graph.invoke(input, config=config)

Связанные термины

Хранилище (store)

Память и состояние

Персистентное хранилище для долговременной памяти между потоками выполнения. В отличие от чекпоинтера, данные доступны из разных потоков.

Пример

from langgraph.store.memory import InMemoryStore store = InMemoryStore() graph = builder.compile(store=store)

Связанные термины

Прерывание (interrupt)

Продвинутые концепции

Механизм приостановки выполнения графа в определённой точке для получения внешнего ввода. Основа паттерна «человек в цикле».

Пример

from langgraph.types import interrupt def node(state): answer = interrupt('Одобрить действие?') return {'approved': answer}

Связанные термины

Команда (Command)

Графовая оркестрация

Универсальный примитив для управления выполнением графа. Позволяет обновить состояние и выбрать следующий узел в одном шаге.

Пример

from langgraph.types import Command return Command(update={'foo': 'bar'}, goto='other_node')

Связанные термины

Потоковая передача (streaming)

Основные понятия

Механизм получения промежуточных результатов выполнения агента в реальном времени, без ожидания завершения всего цикла.

Пример

stream = agent.stream_events(input, version='v3') for message in stream.messages: for token in message.text: print(token, end='', flush=True)

Связанные термины

Промежуточный слой (middleware)

Продвинутые концепции

Компонент для расширения возможностей агента: суммаризация, память, навыки, повторные попытки. Подключается через параметр middleware в create_agent.

Пример

from deepagents.middleware import SummarizationMiddleware agent = create_agent(model=..., middleware=[SummarizationMiddleware(...)])

Связанные термины

Субагент

Агенты и инструменты

Агент, вызываемый как инструмент главным агентом. Каждый субагент работает в изолированном контексте и может использовать свою модель.

Пример

SubAgentMiddleware(backend=backend, subagents=[{'name': 'researcher', 'tools': [search]}])

Связанные термины

Передача управления (handoff)

Агенты и инструменты

Паттерн, при котором агент передаёт управление другому агенту через вызов инструмента, обновляющий состояние и маршрутизацию.

Пример

@tool def transfer_to_support(issue: str) -> Command: return Command(update={'dept': 'support'}, goto='support_agent')

Связанные термины

Точка входа (entrypoint)

Продвинутые концепции

Декоратор @entrypoint в функциональном API LangGraph. Отмечает функцию как начальную точку рабочего процесса с поддержкой памяти и прерываний.

Пример

@entrypoint(checkpointer=InMemorySaver()) def workflow(input_data: str) -> dict: result = process(input_data).result() return {'result': result}

Связанные термины

Задача (task)

Продвинутые концепции

Декоратор @task в функциональном API LangGraph. Представляет отдельную единицу работы, результат которой сохраняется в контрольной точке.

Пример

@task def fetch_data(url: str) -> str: return requests.get(url).text

Связанные термины

Супершаг (superstep)

Графовая оркестрация

Одна итерация по узлам графа. Узлы, работающие параллельно, принадлежат одному супершагу. Последовательные узлы — разным супершагам.

Пример

graph.invoke(input) # каждый вызов = несколько супершагов

Связанные термины

MessagesState

Графовая оркестрация

Готовое состояние графа с полем messages и редуктором add_messages. Используется как основа для агентов с историей диалога.

Пример

from langgraph.graph import MessagesState class State(MessagesState): documents: list[str]

Связанные термины

Частые вопросы о курсе «LangChain и LangGraph: от новичка до профессионала»

Состав курса, уровни, практика и способы проверки знаний.

Что входит в курс «LangChain и LangGraph: от новичка до профессионала»?

Курс включает 12 тем и 48 вопросов с разбором ответа. Начать можно с первой темы курса.

Для какого уровня рассчитан курс «LangChain и LangGraph: от новичка до профессионала»?

Темы расположены от основы к более сложным инженерным задачам. Начните с первой незнакомой темы и используйте вопросы для проверки пробелов.

Как проверить, что материал усвоен?

После прохождения тем доступен зачёт по курсу «LangChain и LangGraph: от новичка до профессионала» — 20 случайных вопросов с порогом 80%. После зачёта открывается экзамен с развёрнутыми ответами и автоматической оценкой, приближённый к техническому собеседованию.

Курс «LangChain и LangGraph: от новичка до профессионала» бесплатный?

Да, курс полностью бесплатный: все 12 тем доступны без оплаты.