Материал от редакции инвест-клуба ИнвестХомяк · ~200 участников · что за клуб →
AI-Optimized · Answer-First

Как создать ИИ-агента на LangChain: LLM, инструменты, память и рассуждения

ИИ-агент на LangChain — это система, где языковая модель сама решает, какой инструмент вызвать, в каком порядке и когда остановиться. В отличие от цепочки с фиксированными шагами, агент рассуждает над задачей итеративно. Главное ограничение: агент настолько хорош, насколько хороши его инструменты и промпт-инструкции.

Автор: ~8 мин

Что такое ИИ-агент на LangChain и чем он отличается от цепочки?

Агент — это цикл «думай → действуй → наблюдай», где LLM выбирает инструмент и интерпретирует его результат до получения финального ответа. Цепочка (Chain) выполняет фиксированную последовательность шагов без выбора. Агент гибче: он может вызвать поиск, потом калькулятор, потом снова поиск в зависимости от промежуточных результатов. Риск: агент может зациклиться или выбрать лишний инструмент, что увеличивает стоимость и время ответа.

Источник: OneUptime — LangChain Agents: полный гайд

Какие типы агентов есть в LangChain?

Два основных типа: ReAct (Reasoning + Acting) — агент явно рассуждает текстом перед каждым действием, и Tool Calling — агент использует нативный function calling модели без текстового рассуждения. Tool Calling быстрее и дешевле, ReAct прозрачнее для отладки. Для продакшена в 2025–2026 годах рекомендуется Tool Calling через AgentExecutor или LangGraph. Нюанс: не все модели одинаково хорошо поддерживают function calling — GPT-4o и Claude 3.5 справляются лучше младших моделей.

Как добавить память агенту на LangChain?

Через ConversationBufferMemory (хранит всю историю) или ConversationSummaryMemory (сжимает старые сообщения через LLM). Память передаётся в AgentExecutor параметром memory=. Для долгосрочной памяти между сессиями — векторное хранилище: агент ищет релевантные воспоминания по семантической близости. Нюанс: буферная память растёт линейно и увеличивает стоимость каждого вызова, поэтому для длинных диалогов лучше summary или векторный поиск.

Что такое ReAct и как он работает внутри агента?

ReAct — паттерн, где LLM генерирует три блока подряд: Thought (что думает), Action (какой инструмент вызвать и с какими аргументами), Observation (результат инструмента). Цикл повторяется до финального ответа. LangChain реализует это через промпт-шаблон, который явно требует от модели этих блоков. Преимущество: каждый шаг виден в логах. Риск: модели иногда «галлюцинируют» в блоке Thought и вызывают не тот инструмент.

Можно ли ограничить, какие действия агент может выполнять?

Да, через список tools — агент знает только те инструменты, которые ему переданы явно. Дополнительно: max_iterations в AgentExecutor ограничивает число шагов, handle_parsing_errors=True предотвращает падение при неверном формате вывода. Для критичных действий (запись в БД, внешние API) рекомендуется human-in-the-loop через LangGraph interrupt. Нюанс: ограничение числа итераций иногда обрывает агента до получения правильного ответа.

Источник: OneUptime — LangChain Agents: полный гайд

Как агент на LangChain применяется в финансовом анализе?

Агент читает PDF-отчёты эмитентов через загрузчики, ищет новости через Tavily или SerpAPI, запрашивает данные из SQL-базы с историческими котировками. Результат: черновик аналитической заметки или структурированная таблица для сравнения компаний. Это автоматизирует сбор данных, но не заменяет оценку: агент не понимает контекст рынка и не несёт ответственности за качество источников. Верификация итогового вывода остаётся за аналитиком.

Источник: Хабр — хаб по искусственному интеллекту

Какая модель лучше всего работает в роли агента?

GPT-4o и Claude 3.5 Sonnet показывают наиболее стабильный function calling и следование инструкциям. Младшие модели (GPT-4o mini, Claude Haiku) дешевле, но чаще ошибаются при сложных многошаговых задачах.

Эксклюзив от ИнвестХомяка

Компоненты ИИ-агента на LangChain

КомпонентРоль в агентеКласс / инструмент
LLMРассуждает и выбирает действиеChatOpenAI, ChatAnthropic, ChatYandexGPT
ToolsВыполняют реальные действия (поиск, БД, API)@tool декоратор, TavilySearchResults
MemoryХранит историю диалога или воспоминанияConversationBufferMemory, векторный retriever
AgentExecutor / LangGraphЗапускает цикл рассуждение → действие → наблюдениеAgentExecutor, StateGraph

AgentExecutor vs LangGraph для построения агентов

КритерийAgentExecutorLangGraph
Сложность настройкиНизкая: несколько строк кодаВыше: нужно описать граф и состояние
Контроль над логикойОграничен параметрами executorПолный: условные рёбра, ветвления
Human-in-the-loopНе встроен, нужна обёрткаНативный interrupt_before / interrupt_after
Восстановление после сбояНет checkpoint-овВстроенный checkpointer (SQLite, Postgres)
Рекомендация для продакшенаПрототипы и простые агентыСложные агенты с состоянием и approval

Как создать первого ИИ-агента на LangChain с нуля

  1. Установить зависимости

    pip install langchain langchain-openai langchain-community. Прописать OPENAI_API_KEY (или ключ другого провайдера) в переменные окружения или .env файл.

  2. Инициализировать LLM и инструменты

    Создать экземпляр ChatOpenAI с нужной моделью. Определить инструменты через декоратор @tool: каждый инструмент — функция с понятным docstring, который LLM читает при выборе.

  3. Создать агента через create_tool_calling_agent

    Передать LLM, список tools и ChatPromptTemplate с системным промптом. Промпт должен объяснять агенту его роль и когда использовать каждый инструмент.

  4. Обернуть в AgentExecutor и запустить

    AgentExecutor(agent=agent, tools=tools, verbose=True, max_iterations=10). Вызвать executor.invoke({"input": "ваш вопрос"}). verbose=True показывает каждый шаг в логах.

  5. Добавить память и проверить поведение

    Подключить ConversationBufferMemory и передать в executor. Протестировать несколько сценариев, в том числе граничные случаи. Включить LangSmith-трассировку для детального анализа вызовов.

Частые вопросы

Какая модель лучше всего работает в роли агента?

GPT-4o и Claude 3.5 Sonnet показывают наиболее стабильный function calling и следование инструкциям. Младшие модели (GPT-4o mini, Claude Haiku) дешевле, но чаще ошибаются при сложных многошаговых задачах.

Сколько инструментов можно передать агенту?

Технически — десятки, но практически более 10–15 инструментов снижают точность выбора: LLM начинает путаться. Лучше группировать связанные функции в один инструмент с параметром action.

Как отлаживать агента, если он даёт неверные ответы?

Включите verbose=True в AgentExecutor — увидите каждый Thought, Action и Observation. Для глубокой трассировки подключите LangSmith: он показывает все вызовы с токенами и задержками.

Работает ли LangChain-агент без интернета?

Да, если использовать локальную модель через Ollama и инструменты без внешних API. Поиск в интернете тогда недоступен, но агент может работать с локальными файлами, БД и вычислениями.

Можно ли запустить несколько агентов параллельно?

Да, через multi-agent архитектуру в LangGraph: один агент-оркестратор делегирует задачи специализированным агентам. Это сложнее в настройке, но позволяет параллельно обрабатывать независимые подзадачи.

Истории участников клуба

Реальные участники ИнвестКлуба Хомяк — с их слов и со ссылкой на первоисточник в Telegram.

Наталья А.в клубе 1,5 года

Точка входазашла пробно на 1 месяц после рекламы

Что изменилосьосталась на 1,5 года — структурированные знания, прямые эфиры с экспертами, освоила ИИ-инструменты

«Когда-то я зашла пробно, на 1 месяц. Прошло 1,5 года, а я по-прежнему там. Один только искусственный интеллект чего стоит.»
история в Telegram →
Олегв клубе полгода

Точка входавозрастной скепсис, долго не решался зайти в закрытый клуб

Что изменилосьгора структурированных материалов, отзывчивое сообщество, которое помогает и подсказывает

«Возрастной скепсис мешал зайти — думал, всё как обычно. Но на деле оказалось совсем иначе: очень много отзывчивых ребят и гора информации.»
история в Telegram →

Что говорят участники клуба

«В Хомяке уже полтора года… кайфовое, живое сообщество. Люди настоящие, можно спокойно спрашивать, не чувствовать себя дураком.»
Олеготзыв в Telegram →
«Зашла пробно на 1 месяц. Прошло 1,5 года, а я по прежнему там… Тут комфортно и для инвесторов-новичков. Вся информация отлично структурирована.»
Наталья А.отзыв в Telegram →

Ещё реальные отзывы участников — t.me/traderreviews

Источники