Шаг 8. ИИ-агенты | ИИ — инструкция

Шаг 8. ИИ-агенты

Пример использования агента

Это хороший пример, т.к. многие и сейчас делают такие штуки руками. Давайте представим, что вы босс и кидаете своему сотруднику в чат такое сообщение:

В обычных реалиях, такая просьба означает, что сотрудник будет заниматься этим в течение минимум 2 часов, если он умеет это делать и делает часто, а может проковыряться весь день, если не очень знаком с инструментами.

А ведь современный ИИ агент может сделать это за 5 минут. Давайте сделаем это?

  1. Сделаем папочку и сделаем ему задание.

2) Заходим в папочку, запускаем агента

  1. Даем ему задание в самом простом виде

Так выглядит запущенный агент Codex. В данном случае используется относительно дешевая модель gpt-5.6-luna. Она примерно в 4-5 раз дешевле флагмана Astra

4) Агент начинает рассуждать

Тут тестовые данные. И да, могут возникать реальные расхождения. А если в реальных данных несоответствия, то это ценно - найти его прямо "на берегу"

5) Открываю результат в диаграммах

6) Готово. На все про все 4 минуты

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

От ассистента к агентам

То, что мы описали в главе про ассистентов — это уже очень круто работает. Я долгое время работал с ботом в режиме ассистента, и этого в принципе достаточно, чтобы писать довольно крупные приложения.

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

Создавался отдельный ассистент, которому настраивалась управляемая память. Каждое моё сообщение и ответ модели я записывал в таблицу базы данных. Когда число ответов доходило до 20, автоматически запускалась модель, которая брала последние 20 сообщений и делала «выжимку» — агрегировала в кратком виде то, о чём мы говорили. Так контекст не разрастался до бесконечности, но и ничего важного не терялось.

Далее я писал подробную инструкцию, в которой прописывал базовые вещи:

  • какая у ассистента роль;
  • какое назначение у разрабатываемого сервиса;
  • какой функционал у сервиса.

Плюс правила работы: стек, правила написания кода, правила сохранения кода и правила тестирования. Туда же входило описание окружения и путь к рабочей папке проекта.

Инструкция получалась ёмкая. Вот небольшая выдержка, чтобы вы поняли уровень детализации:

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

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

Очевидно, что этот способ подразумевает очень контролируемый режим: модель только предлагает код и решения. Мне лично эта схема нравится прежде всего тем, что я сразу вижу, что написано, и успеваю просмотреть всё, что попадает в мою кодовую базу. При этом я полностью контролирую контур безопасности. У ассистента нет возможности получить ключи, пароли и другие чувствительные данные — он их просто не видит.

Минуса тут только два: во-первых этот режим плохо подходит для нетехнарей. Всё это я строю на базе n8n и редактора VS Code, и работа подразумевает, что человек хоть что-то понимает в разработке. Он понимает, «куда это вставлять» и как запустить.

И вот главный вопрос: а может ли нетехнарь создать что-то более или менее серьёзное? Ответ — да, может. Такие инструменты есть. Я это проиллюстрировал на примере с которого мы начали эту главу. С помощью Codex или Claude Code можно взять себе в услужение ИИ-агентов.

Codex

Работает установленный Codex очень просто. И мы рассмотрели пример в начале главы со скриншотами. Выглядит он как обычный чат. Но под капотом он может выполнять многоступенчатые действия — как внутри вашей папки проекта, так и вне её при необходимости. Сначала вы назначаете папку проекта. Загружаете в неё инструкции для своего агента. Даёте техническое задание и запускаете в работу. Дальше он работает в соответствии с настройками и инструкциями.

Ключевое отличие в манере общения. С ассистентом вы спрашиваете. Агенту вы поручаете. Не «как мне сделать X?», а «сделай X». Хотя ничто не мешает сначала посоветоваться и дать черновик задания — это как раз хорошая практика.

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

Установка и первичная настройка

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

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

Сейчас моя основная задача — продемонстрировать возможности. В общем виде вам нужно: скачать инструмент, настроить доступы, произвести настройки проекта, дать общие инструкции агенту и запустить чат в выбранной папке.

Из настроек обязательно нужно сделать три вещи.

1. Написать инструкции в файле AGENTS.md. Это системная инструкция — по сути тот же аналог инструкции для ассистента, о которой мы говорили в начале главы, только живёт она прямо в папке проекта. Разместите файл в корне проекта и опишите правила: что это за проект, каким стеком пользуемся, что категорически запрещено, как оформлять код. Можно взять готовый шаблон из любого мануала, а по мере накопления опыта пополнять его своим.

Структура такого файла обычно простая и человекочитаемая, например:

Обратите внимание: значительная часть этого файла — те же самые правила безопасности и стиля, что я вручную прописывал ассистенту. Разница в том, что агент подхватывает их сам.

В примере, который мы разобрали в начале этой главы я не показывал описание файла Agents.md. Но там очень простой пример, там этого не надо. Но если вы захотите сделать задачу посложнее - например, сделать лендинг с формой и подгрузкой каких-то данных, то "правила игры" задать очень желательно.

2. Выбрать модель, с которой будете работать. Как я уже писал, нужно разобраться с ценообразованием и возможностями моделей. Логика обычно такая: для рутины берём модель попроще и подешевле, для сложного — флагман.

В моём рабочем примере по умолчанию используется terra в режиме «глубоко думай». Если она не справляется — подключаю sol. А если и та буксует — включаю тяжёлую артиллерию, флагман astra.

3. Запустить агента. В консоли переходим в папку проекта, запускаем командой codex и ставим задачу. Все как в примере - выглядит как обычный диалог с удаленным сотрудником.

Прочая автоматизация

Отдельно отмечу: у агентов масса применений за пределами написания кода — от разбора почты до автоматизации рутинных операций. Но эти сценарии удобнее строить связкой с n8n. Пока просто держите в голове, что «агент» — это не только про программирование.