AI-агенты
Продвинутый уровень: создание автономных AI-систем с инструментами, планированием и памятью. От простого ReAct до мультиагентных команд.
Что такое AI-агенты и чем они отличаются от ботов
Концепция автономных AI-систем: агенты с инструментами, планированием и принятием решений.
AI-агент — это следующий уровень после чат-ботов. Если бот просто отвечает на вопросы, то агент может самостоятельно планировать действия, использовать инструменты и выполнять сложные задачи.
Бот vs Агент
| Характеристика | Чат-бот | AI-агент |
|---|---|---|
| Реакция | Отвечает на запрос | Выполняет задачу |
| Инструменты | Нет или ограничены | Доступ к API, БД, файлам |
| Планирование | Нет | Разбивает задачу на шаги |
| Автономность | Ждёт ввода | Работает самостоятельно |
| Память | Контекст диалога | Долгосрочная память |
| Пример | Поддержка в чате | Ассистент-программист |
Компоненты AI-агента
1. LLM (мозг) — языковая модель для рассуждений 2. Tools (инструменты) — функции, которые агент может вызывать 3. Memory (память) — хранение контекста и истории 4. Planning (планировщик) — разбиение задачи на шаги 5. Executor — выполнение плана и обработка ошибок
Примеры AI-агентов
• Claude Code — пишет и редактирует код, работает с файлами • Devin — автономный программист от Cognition • AutoGPT — выполняет задачи без постоянного контроля • AI-ассистенты в IDE (Cursor, Windsurf) • Агенты для исследований (Perplexity, GPT Researcher)
Агенты — это не магия. Под капотом всё тот же LLM, который получает prompt с описанием инструментов и решает какой использовать.
Когда нужен агент, а когда бот
Бот подходит если: • Задача простая (Q&A, запись) • Нужен контроль над каждым ответом • Бюджет ограничен Агент нужен если: • Задача требует нескольких шагов • Нужен доступ к внешним системам • Задача не полностью определена заранее
Инструменты агента: даём AI руки
Как подключить к AI возможности: поиск, работа с файлами, API, базы данных.
Инструменты (tools) — это функции, которые агент может вызывать для выполнения задач. Без инструментов AI может только генерировать текст. С инструментами — искать информацию, писать код, отправлять запросы.
Типы инструментов
| Категория | Примеры | Применение |
|---|---|---|
| Поиск | Web search, Wikipedia | Актуальная информация |
| Код | Python interpreter, Bash | Вычисления, скрипты |
| Файлы | Read, Write, Edit | Работа с документами |
| API | HTTP requests | Интеграции |
| Данные | SQL, Vector DB | Запросы к базам |
| Браузер | Puppeteer, Playwright | Веб-автоматизация |
Как агент выбирает инструмент
В prompt агенту даётся список инструментов с описаниями: "Доступные инструменты: 1. web_search(query) — поиск в интернете 2. read_file(path) — чтение файла 3. execute_python(code) — выполнение Python кода Выбери подходящий инструмент для задачи." LLM анализирует задачу и возвращает JSON с выбором: {"tool": "web_search", "args": {"query": "курс доллара сегодня"}}
Function Calling в OpenAI/Claude
Современные модели имеют встроенную поддержку tool use: OpenAI: tools parameter в API запросе Claude: tool_use в messages Модель обучена правильно форматировать вызовы инструментов и обрабатывать результаты.
Пишите чёткие описания инструментов. Агент выбирает по описанию. Плохое описание = неправильный выбор инструмента.
Безопасность инструментов
Риски: • Агент может удалить важные файлы • Выполнить опасный код • Отправить данные не туда Защита: • Sandbox для выполнения кода • Whitelist разрешённых операций • Confirmation для критичных действий • Ограничение доступа к файловой системе
Никогда не давайте агенту неограниченный доступ к production-системам без human-in-the-loop для критичных операций!
ReAct vs Planning: архитектуры агентов
Разные подходы к работе агентов: реактивные цепочки, планирование, рефлексия.
Существует несколько архитектур построения агентов. Каждая имеет свои плюсы и минусы. Выбор зависит от типа задачи.
ReAct (Reasoning + Acting)
Паттерн ReAct — агент чередует размышления и действия: Thought: Мне нужно найти курс доллара Action: web_search("курс доллара ЦБ РФ сегодня") Observation: Курс доллара 89.5 рублей Thought: Теперь могу ответить пользователю Answer: Курс доллара на сегодня — 89.5 рублей по данным ЦБ РФ. Это самый популярный паттерн, реализован в LangChain и большинстве фреймворков.
Plan-and-Execute
Сначала агент создаёт план, потом выполняет: 1. Planner создаёт список шагов 2. Executor выполняет шаги последовательно 3. После каждого шага — проверка результата 4. Возможность пересмотреть план Подходит для сложных многошаговых задач.
Сравнение архитектур
| Архитектура | Плюсы | Минусы |
|---|---|---|
| ReAct | Простота, гибкость | Может зациклиться |
| Plan-Execute | Структурированность | Жёсткость плана |
| Reflexion | Учится на ошибках | Медленнее, дороже |
| MRKL | Модульность | Сложность настройки |
Reflexion — обучение на ошибках
Агент с рефлексией: 1. Выполняет задачу 2. Оценивает результат 3. Если неудача — анализирует причину 4. Сохраняет урок в память 5. Пробует снова с новым знанием Это приближает агентов к человеческому обучению на опыте.
Начните с ReAct — это 90% use cases. Plan-Execute нужен для задач типа "напиши приложение с нуля".
Создание агентов с LangChain
Практическое руководство по созданию агентов на Python с LangChain.
LangChain — самый популярный фреймворк для создания AI-агентов на Python. Он предоставляет готовые компоненты: модели, инструменты, память, цепочки.
Установка и настройка
pip install langchain langchain-openai langchain-community Базовая структура: from langchain_openai import ChatOpenAI from langchain.agents import create_react_agent, AgentExecutor from langchain import hub from langchain.tools import Tool llm = ChatOpenAI(model="gpt-4-turbo") prompt = hub.pull("hwchase17/react")
Создание инструментов
from langchain.tools import tool @tool def search_database(query: str) -> str: """Поиск информации в базе данных компании""" # Ваша логика поиска return f"Результат поиска: {query}" tools = [search_database]
Сборка агента
agent = create_react_agent(llm, tools, prompt) agent_executor = AgentExecutor( agent=agent, tools=tools, verbose=True, # Показывать процесс мышления max_iterations=10, # Лимит шагов handle_parsing_errors=True ) result = agent_executor.invoke({ "input": "Найди информацию о последних заказах" })
verbose=True — ваш лучший друг при отладке. Вы увидите всю цепочку рассуждений агента.
Добавление памяти
from langchain.memory import ConversationBufferMemory memory = ConversationBufferMemory( memory_key="chat_history", return_messages=True ) agent_executor = AgentExecutor( agent=agent, tools=tools, memory=memory, verbose=True ) # Агент помнит предыдущие сообщения
LangChain активно развивается, API меняется. Всегда проверяйте актуальную документацию на python.langchain.com.
Мультиагентные системы: CrewAI
Когда один агент не справляется — создаём команду специализированных агентов.
Мультиагентные системы — это несколько AI-агентов, работающих вместе. Каждый агент специализируется на своей задаче: один исследует, другой пишет, третий проверяет.
Когда нужна команда агентов
• Задача требует разных навыков • Нужна система проверок (reviewer) • Разные части задачи независимы • Один агент не справляется с объёмом Пример: Исследователь находит информацию → Писатель создаёт контент → Редактор проверяет качество
CrewAI: создание команды
pip install crewai from crewai import Agent, Task, Crew researcher = Agent( role="Исследователь", goal="Найти актуальную информацию по теме", backstory="Опытный аналитик с навыками поиска", llm=llm ) writer = Agent( role="Копирайтер", goal="Написать engaging контент", backstory="Профессиональный автор статей", llm=llm )
Определение задач
research_task = Task( description="Исследуй тренды AI в 2025 году", agent=researcher, expected_output="Список из 5 ключевых трендов с описанием" ) write_task = Task( description="Напиши статью на основе исследования", agent=writer, context=[research_task], # Зависит от research_task expected_output="Статья 1000+ слов" )
Запуск команды
crew = Crew( agents=[researcher, writer], tasks=[research_task, write_task], verbose=True ) result = crew.kickoff() print(result)
Давайте агентам разные backstory — это влияет на стиль работы. Исследователь должен быть аналитичным, писатель — креативным.
Паттерны взаимодействия
| Паттерн | Описание | Применение |
|---|---|---|
| Sequential | Агенты работают по очереди | Конвейер задач |
| Hierarchical | Менеджер распределяет задачи | Сложные проекты |
| Collaborative | Агенты общаются друг с другом | Креативные задачи |
| Competitive | Агенты соревнуются | Генерация вариантов |
AI-агенты в production: лучшие практики
Как деплоить агентов: мониторинг, оптимизация расходов, обработка ошибок.
Агент в production — это не то же самое что агент в Jupyter notebook. Нужны логирование, мониторинг, graceful degradation, контроль расходов.
Архитектура production агента
1. API Gateway — принимает запросы 2. Queue — буферизация задач 3. Worker — выполняет агентов 4. LLM Router — выбор модели по задаче 5. Tool Registry — управление инструментами 6. Memory Store — Redis/PostgreSQL 7. Monitoring — логи, метрики, алерты
Оптимизация расходов
| Техника | Экономия | Как реализовать |
|---|---|---|
| Кэширование | До 50% | Redis для повторных запросов |
| Выбор модели | До 90% | GPT-3.5 для простых задач |
| Лимит итераций | Предсказуемо | max_iterations в агенте |
| Сжатие контекста | До 30% | Суммаризация истории |
| Batching | До 20% | Группировка запросов |
Обработка ошибок
Типы ошибок и решения: • Rate limit → Retry с exponential backoff • Timeout → Fallback на быструю модель • Parse error → Повторный запрос с уточнением • Tool failure → Graceful degradation • Infinite loop → max_iterations + timeout Всегда имейте fallback: если агент не справился — передать человеку.
Логируйте каждый шаг агента. При ошибке вы должны точно знать где и почему он сломался.
Мониторинг
Ключевые метрики: • Success rate — % успешных выполнений • Latency — время от запроса до ответа • Token usage — расход токенов • Tool calls — какие инструменты используются • User satisfaction — оценки пользователей Инструменты: LangSmith, Langfuse, custom dashboards.
Human-in-the-loop
Для критичных операций добавляйте подтверждение: 1. Агент предлагает действие 2. Система запрашивает подтверждение у человека 3. Человек одобряет или корректирует 4. Агент выполняет Это особенно важно для: финансовых операций, удаления данных, внешних коммуникаций.
Агенты могут накрутить огромные счета за API. Установите жёсткие лимиты на расходы и алерты при превышении.
🎉 Поздравляем!
Вы прошли все 6 модулей курса. Теперь вы знаете как использовать AI для создания контента, автоматизации и построения AI-агентов.

