SSD Nodes Learn 🎉 VPS от $4.99/мес
Руководства Matt ConnorАвтор: Matt Connor · Обновлено 2026-08-13

Как изучить AI agents с нуля: пошаговый план

Изучите разработку AI agents через практику. Пройдите шесть этапов от создания базового цикла до внедрения памяти и безопасности. Реализуйте проект на каждом шаге обучения.

Шесть этапов обучения

Чтобы изучить AI agents с нуля, последовательно пройдите шесть этапов: концепции, первый цикл, инструменты, память, проектирование цикла и безопасность. На каждом этапе вы создаете что-то своими руками. Пропуск этапов — самая частая причина остановки в обучении, так как фреймворки скрывают именно те детали, которые необходимо понять.

AI agent — это цикл вокруг языковой модели, которой разрешено вызывать инструменты. Это предложение описывает предмет целиком. Всё, что следует далее, — это подробности о том, что входит в цикл, к чему могут обращаться инструменты и как остановить цикл при возникновении ошибки. Если вы можете объяснить работу цикла другому человеку, значит, вы освоили материал. Если вы можете только перечислить названия фреймворков, значит, нет.

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

Что вам действительно нужно перед этапом 1

Список реальных предварительных требований короток, он меньше, чем указано на большинстве учебных курсов.

  • Вы умеете читать и писать на Python или TypeScript на уровне скрипта из 50 строк.
  • Вы уверенно работаете в Linux shell: умеете установить пакет, отредактировать файл, прочитать лог.
  • У вас есть API key для облачной модели или машина, способная запустить локальную модель.

Это весь список. Вам не нужна теория машинного обучения, и вам не нужно обучать модели. Работа с агентами не предполагает использования градиентов или обучающих данных. Видеокарта важна только в том случае, если вы решите запускать модель самостоятельно — это отдельный навык, который можно освоить позже, изучив развертывание Ollama на VPS для self-hosted LLM.

Люди часто недооценивают важность навыков работы в shell. Агенты часто дают сбои из-за прав доступа, путей, переменных окружения и процессов, которые тихо завершаются. Если трассировка стека с упоминанием PATH или прав доступа к файлу заставляет вас закрыть терминал, сначала потратьте выходные на изучение основ Linux. Это сэкономит вам месяц работы в будущем.

Этап 1: что такое агент и чем он не является

Начните с одного вызова API без цикла. Отправьте промпт, выведите ответ, изучите количество токенов в ответе. Теперь вы понимаете единицу стоимости и единицу задержки.

Затем изучите использование инструментов (tool use) — это единственная по-настоящему новая идея во всей области. Вы описываете модели функцию как имя, описание и JSON-схему для её входных данных. Модель ничего не исполняет. Она отвечает структурированным запросом: вызвать run_command с такими-то аргументами. Ваш код выполняет функцию, отправляет результат обратно в виде сообщения и снова делает запрос к модели. Модель — это планировщик, который читает текст и пишет текст. Ваш код — это исполнительный механизм.

Чат-бот завершает работу после одного ответа. Агент повторяет этот обмен данными до тех пор, пока модель не перестанет запрашивать инструменты. В этом повторении заключается вся разница, и именно поэтому режимы сбоев у них тоже различаются. Чат-бот один раз выдаёт неверный ответ. Агент действует на основе неверного ответа несколько раз, прежде чем кто-либо это заметит.

Этап 2: напишите цикл самостоятельно, один раз

Не начинайте с фреймворка. Напишите около 30 строк на Python, чтобы структура программы была понятна вам.

sudo apt update && sudo apt install -y python3-venv
python3 -m venv ~/agent
source ~/agent/bin/activate
pip install anthropic
export ANTHROPIC_API_KEY=your-key-here
import subprocess
import anthropic

client = anthropic.Anthropic()

tools = [{
    "name": "run_command",
    "description": "Run a read only shell command and return its output.",
    "input_schema": {
        "type": "object",
        "properties": {"command": {"type": "string"}},
        "required": ["command"],
    },
}]

messages = [{"role": "user", "content": "How much disk space is free here?"}]

while True:
    response = client.messages.create(
        model="claude-opus-5",
        max_tokens=4096,
        tools=tools,
        messages=messages,
    )
    if response.stop_reason != "tool_use":
        break
    messages.append({"role": "assistant", "content": response.content})
    results = []
    for block in response.content:
        if block.type == "tool_use":
            done = subprocess.run(
                block.input["command"], shell=True,
                capture_output=True, text=True, timeout=10,
            )
            results.append({
                "type": "tool_result",
                "tool_use_id": block.id,
                "content": done.stdout or done.stderr,
            })
    messages.append({"role": "user", "content": results})

print(next(b.text for b in response.content if b.type == "text"))

Запустите код с помощью python3 agent.py. Корректный запуск выведет один абзац с перечислением ваших файловых систем и объемом свободного места, так как модель запросила df -h, ваш код выполнил это, а второй проход преобразовал таблицу в предложение. Если ничего не выводится, значит, цикл завершился до того, как был получен текстовый блок. Добавьте print(response.stop_reason) внутрь цикла и наблюдайте за изменением значений.

Теперь намеренно нарушьте работу программы. Удалите строку tool_use_id и изучите ошибку: результат работы инструмента без соответствующего id отклоняется API, и это самая распространенная ошибка новичков. Задайте вопрос, требующий выполнения двух команд, и проследите, как цикл выполнится дважды. Задайте невыполнимый вопрос и посмотрите, прекратит ли программа работу или зациклится.

Одно предостережение по поводу этого примера. Он передает вывод модели напрямую в оболочку через shell=True, что допустимо на тестовой машине, которую можно пересобрать, но недопустимо в любых других условиях. На этапе 6 эта проблема будет устранена. Концепции, лежащие в основе цикла, более подробно описаны в создании собственного ИИ-агента на VPS.

Этап 3: инструменты, которых не было у агента изначально

Ваш инструмент run_command работает, но полноценному агенту нужны инструменты для взаимодействия с внешними системами: тикет-системами, базами данных, репозиториями. Написание отдельных оберток для каждого сервиса и каждого агента не масштабируется.

Model Context Protocol (MCP) — это стандарт, к которому пришла индустрия. MCP-сервер предоставляет набор инструментов через стандартный транспорт, и любой агент с поддержкой MCP может использовать их без дополнительного связующего кода. Эталонный сервер файловой системы запускается одной командой:

npx -y @modelcontextprotocol/server-filesystem /home/you/projects

Для этого требуется установленный Node, а аргумент с директорией — это единственный путь, к которому сервер будет иметь доступ. Это модель безопасности в миниатюре: границы определяет сервер, а не модель. Подключите к нему клиент, и ваш агент получит возможность чтения и записи файлов, которую вы не реализовывали самостоятельно. Правильный запуск таких серверов от имени сервисной учетной записи с учетом выбора транспорта описан в запуске MCP-серверов на VPS для AI-агентов разработки.

Урок этого этапа заключается в том, что проектирование инструментов — это основная работа. Расплывчатое описание заставляет модель гадать. Инструмент, возвращающий сорок тысяч символов, переполняет контекстное окно. Инструмент, способный удалять данные, рано или поздно их удалит.

Этап 4: память, которая по сути является просто файлами

Новички на этом этапе сразу обращаются к векторным базам данных. Не делайте этого, по крайней мере пока.

У агента нет памяти между вызовами. Вы каждый раз отправляете всю историю переписки заново, поэтому длинная сессия стоит за один запрос дороже, чем короткая. Таким образом, проблема памяти делится на две части. Первая — это то, что помещается в контекстное окно прямо сейчас; вы управляете этим с помощью суммаризации, удаления старых выводов инструментов и кэширования стабильного префикса промпта, чтобы платить за него лишь малую часть стоимости. Вторая — это то, что сохраняется после перезапуска, то есть хранилище.

Для решения второй проблемы обычный файл в формате markdown, который агент может читать и редактировать, превосходит векторную базу данных почти в любом первом проекте. Создайте один файл, укажите формат, дайте агенту команду читать этот файл перед началом работы и обновлять его, когда он узнает что-то новое. Вы получите большую часть преимуществ, к тому же вы сможете открыть файл и увидеть, что именно «знает» ваш агент. Прибегайте к эмбеддингам и поиску (retrieval) только тогда, когда заметки перестанут помещаться в контекстное окно, и не раньше.

Этап 5: цикл как продукт

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

Четыре вопроса определяют, безопасно ли оставлять автономного агента без присмотра. Что является триггером, чтобы он не работал вхолостую. В каких границах он действует, чтобы ошибка оставалась незначительной. Как проверяется результат, поскольку агент, который сам оценивает свою работу, всегда ставит себе высший балл. Какой бюджет его ограничивает — в токенах или по времени выполнения. Намеренная проработка этих четырех аспектов — это дисциплина, описанная в проектировании циклов и том, что охватывает это определение.

Упражнение: возьмите своего агента со 2-го этапа, дайте ему задачу, требующую четырех или пяти шагов, и добавьте жесткое ограничение на количество итераций. Затем снимите ограничение и посмотрите, что сделает бесконечный цикл с вашим счетом за токены. Сделайте это один раз с небольшим бюджетом, чтобы никогда не допустить этого случайно при большом.

Этап 6: безопасность, секреты и расходы

Этот этап обязателен, и он стоит последним только потому, что вы не ощутите риски, пока не создадите работающую систему.

Запускайте агента от имени отдельного непривилегированного пользователя, никогда не используйте root или свою личную учетную запись. Это ограничит область возможного ущерба одной директорией, а не всей машиной. Не допускайте попадания учетных данных в область видимости модели, так как всё, что находится в контекстном окне, может быть выдано в ответе через вызов инструмента. Решение заключается в использовании краткосрочных токенов, ограниченных вспомогательным сервисом, как описано в как не допустить утечки секретов в AI-агентах. Установите жесткий лимит расходов, так как автоматизированный цикл оплачивается за каждую итерацию без участия человека. Ограничения и пакетная обработка, позволяющие контролировать бюджет, описаны в контроль расходов AI-агентов на постоянно работающем VPS.

Расходы требуют конкретных цифр. По состоянию на июль 2026 года Claude Opus 5 стоит 5 долларов за миллион входных токенов и 25 долларов за миллион выходных токенов. Активный агент, повторно отправляющий растущую историю переписки, может пропустить через себя несколько сотен тысяч токенов в рамках одной задачи. Кэширование промптов и использование менее мощных моделей для рутинных операций меняют экономику проекта гораздо сильнее, чем любая оптимизация промптов.

Сюда же относится и инъекция промптов (prompt injection). Если ваш агент читает веб-страницу, баг-трекер или почтовый ящик, то автор этого текста фактически пишет инструкции для вашего агента. Веб-поиск — это обычно тот инструмент, который первым открывает данную уязвимость, а настройка агента на собственный экземпляр SearXNG наглядно показывает схему работы и поверхность для атак, которую она создает. Защита заключается не в более умном системном промпте, а в разграничении прав доступа. Агент, у которого нет прав на удаление репозитория, не сможет удалить его, даже если его попытаются к этому склонить.

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

Выберите один учебный план и завершите его, вместо того чтобы пробовать шесть разных. Репозиторий Microsoft ai-agents-for-beginners — наиболее полный бесплатный ресурс, состоящий из 18 уроков, который по состоянию на июль 2026 года набрал более 70,000 звезд и четко соответствует этапам, описанным выше. Обзоры популярных репозиториев с агентами полезны для понимания того, что существует, но они гораздо менее эффективны в качестве учебной программы, так как список, отсортированный по количеству звезд, отражает популярность, а не логику обучения.

Если вам нужен реальный проект для практики, лучшей первой целью станет агент для написания кода: вы получаете мгновенную обратную связь, инструменты очевидны, а ошибки легко исправить. В статье Запуск AI-агента для написания кода на VPS процесс разобран от начала до конца. Если вы предпочитаете изучать готовые системы, а не создавать их с нуля, сравнение в статье лучшие AI-агенты для self-hosted показывает, как разные проекты решают одну и ту же задачу по-разному.

Сколько времени это занимает?

Для человека, который уже умеет программировать, этапы 1 и 2 занимают один вечер. Этап 3 занимает выходные, причем большая часть времени уходит на описание инструментов, а не на сам протокол. Этапы 4 и 5 требуют нескольких недель реального использования, так как вы узнаете, что именно забывает ваш агент, только наблюдая за тем, как он это делает. Этап 6 по сути никогда не заканчивается, поскольку каждая новая возможность, которую вы предоставляете агенту, открывает его заново.

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

FAQ

Нужно ли знать машинное обучение для создания AI-агента?

Нет. Создание агента сводится к вызову модели через API и связыванию её запросов к инструментам с реальными функциями, что является обычной прикладной разработкой. Вам не придётся работать с обучением, градиентами или наборами данных. На успех работы агента влияют проектирование схем для инструментов, обработка ошибок и права доступа в Linux. Теория машинного обучения становится актуальной, только если вы переходите к дообучению (fine-tuning) модели, что является другой задачей с иными требованиями.

Стоит ли начинать с фреймворков вроде LangChain или CrewAI?

Сначала напишите один цикл обработки самостоятельно, а затем переходите к фреймворку. Фреймворк заменяет тридцать строк кода из этапа 2 на объект конфигурации, что удобно, когда вы понимаете, что именно он заменяет, но сбивает с толку до этого момента. Когда агент работает некорректно, вам нужно анализировать список сообщений и результаты работы инструментов напрямую, что гораздо сложнее, если вы никогда их не видели. После того как вы реализуете один цикл самостоятельно, фреймворк начнёт экономить ваше время, а не скрывать механизм работы.

Сколько стоит обучение созданию AI-агентов?

Меньше, чем ожидает большинство людей, если установить ограничения. API-ключ облачного провайдера и небольшой VPS покрывают всё необходимое для этих шести этапов. Настоящий риск заключается не в почасовой оплате, а в бесконечном цикле, который расходует средства, пока вы спите. Установите жёсткий лимит расходов в своём API-аккаунте в первый же день, добавьте ограничение на количество итераций в каждом цикле и используйте более дешёвую модель для рутинных задач. Запуск модели локально исключает оплату за токены, но требует соответствующего аппаратного обеспечения.

В чём разница между AI-агентом и чат-ботом?

Чат-бот даёт один ответ. Агент повторяет цикл: модель запрашивает инструмент, ваш код его выполняет, результат возвращается обратно, и модель решает, что делать дальше. Именно это повторение позволяет агенту выполнять многоэтапные задачи, и именно поэтому агентам нужны ограничения, которые не требуются чат-ботам. Неверный ответ чат-бота — это просто плохой текст. Неверный ответ агента — это плохой текст плюс последствия действий, которые он предпринял на его основе.

#ai-agents#learning#curriculum#mcp#self-hosting