- Главная
- Искусственный интелект
- Что такое модель, harness, агент и среда?
Что такое модель, harness, агент и среда?
Модель, агент, harness, среда — эти слова в разговорах об ИИ часто используют как синонимы, из-за чего возникает путаница: что именно выполняет задачу, кто за что отвечает и почему одно и то же действие в разных сетапах выглядит по-разному. В этом уроке разграничим четыре ключевых понятия и соберём из них единую картину: как устроена система, в которой вы работаете с ИИ-агентом каждый день
Модель: мозг без тела
Важно понять ограничение: у модели нет рук. Она не умеет сама открыть файл, выполнить команду в терминале или нажать кнопку. У неё нет доступа к вашей файловой системе, нет памяти о прошлых сессиях, нет возможности «сходить и посмотреть». Модель отвечает только на то, что ей передали в запросе, и только то, что помещается в её окно контекста.
Из этого следует практический вывод: модель — это компонент, а не самостоятельный работник. Сама по себе она бесполезна для инженерной задачи. Ценность появляется, когда вокруг модели собирают обвязку — harness.
Harness: обвязка, которая даёт модели руки
Типичный цикл работы harness выглядит так.
получить задачу → сформировать запрос →
отправить модели → получить ответ →
выполнить действия (инструменты) → повторить
За что именно отвечает harness:
- Инструменты — даёт модели возможность читать файлы, запускать команды, искать в кодовой базе.
- История сессии — хранит переписку, чтобы контекст накапливался между шагами.
- Управление контекстом — решает, что включить в запрос, а что отбросить, чтобы не переполнить окно.
- Разрешения — спрашивает у вас подтверждение перед опасными действиями.
- Интеграции — связь с IDE, терминалом, git и другими инструментами разработки.
Harness — это и есть та программа, которую вы устанавливали в четвёртом уроке курса. Именно её интерфейс вы видите, с ней вы общаетесь, и именно её поведение настраиваете через файлы инструкций вроде AGENTS.md.
Агент: продукт, который вы используете
Почему важно такое разграничение? Потому что один и тот же результат можно получить разными комбинациями. Одна и та же модель, работающая внутри разных harness-ов, ведёт себя по-разному: у неё другой набор инструментов, другие правила формирования запросов, другой способ управления контекстом. И наоборот — один harness с разными моделями даёт разное качество работы.
Описывайте проблему точно: «модель плохо рассуждает» и «агент не нашёл нужный файл» — это разные диагнозы. Первое лечится сменой модели, второе — настройкой harness или инструкций. Привычка называть вещи своими именами экономит часы отладки.
Агент также включает всё, что вы «погрузили» в него через проект: файл инструкций AGENTS.md, skills, память. Эти компоненты — часть агента, а не часть модели: другая модель с теми же инструкциями получит тот же набор правил поведения.
Среда: где всё работает
Среда определяет, что агент вообще может сделать. Если в системе нет нужного компилятора — агент не сможет собрать проект, какой бы умной ни была модель. Если у процесса нет прав на запись в каталог — команда упадёт с ошибкой. Если проект лежит в git-репозитории — агент сможет коммитить; если нет — эта возможность исчезает.
Среда важна ещё и потому, что она задаёт «материальную» часть контекста: содержимое файлов, вывод команд, структуру каталогов. Всё, что агент «видит» через инструменты, — это отражение среды. Грязная среда (мусорные файлы, огромные логи, посторонние зависимости) напрямую загрязняет контекст и ухудшает работу агента — к этой теме курс вернётся в уроках про устранение избыточности.
Как всё складывается вместе
Четыре понятия образуют систему, в которой у каждого элемента своя роль. Схематично это выглядит так.
модель (мозг) + harness (обвязка) + инструкции = агент
агент работает внутри среды (файлы, терминал, git, ОС)
Разграничение удобно представить в виде таблицы.
| Понятие | Роль в системе |
|---|---|
| LLM / модель | Мозг: генерирует текст по запросу, ничего не выполняет сама |
| Harness | Обвязка: организует цикл, даёт инструменты, управляет контекстом |
| Агент | Продукт: модель + harness + инструкции, который вы используете |
| Среда | Пространство: файлы, терминал, git, ОС, где агент действует |
Из этой схемы следует главный практический приём: если что-то работает не так, сначала определите, на каком уровне проблема — модель, harness, инструкции или среда. Каждый уровень чинится по-своему, и попытка лечить один уровень средствами другого — главный источник бесполезных действий.
Почему терминология важна
Для работы с ИИ-агентом терминология — не теория, а инструмент.
Все дальнейшие уроки курса опираются на эти четыре понятия: управление контекстом — про harness, деградация рассуждений — про модель, AGENTS.md и skills — про инструкции, а ошибки окружения — про среду.
Точная терминология помогает и при общении с самим агентом. Когда вы говорите «проверь, есть ли в среде Node.js», агент понимает задачу однозначно. Когда вы говорите «смени модель на более дешёвую», вы меняете один компонент, не трогая остальные. Смешение понятий рождает неоднозначные запросы, а неоднозначные запросы — неверные действия.
Наконец, терминология нужна для чтения документации и обсуждений: в сообществах, статьях и описаниях harness-ов эти слова используются в строгом смысле. Понимая разницу, вы быстрее находите ответы на свои вопросы и не путаетесь в чужих рассуждениях.
Задайте себе мысленный фильтр при любой проблеме с агентом: «Это проблема мозга (модель), рук (harness), правил (инструкции) или окружения (среда)?» Одно это уточнение сокращает перебор вариантов в несколько раз — вы перестаёте наугад менять настройки и начинаете чинить именно сломанный уровень.
Типичные ошибки
- Называть модель «агентом» — из-за этого непонятно, что именно менять при плохой работе.
- Считать harness и агента одним и тем же — агент шире, он включает инструкции и контекст.
- Игнорировать среду: «агент не работает» при том, что в системе просто нет нужной программы.
- Менять модель, когда на самом деле сломаны инструкции или раздут контекст.
- Ожидать от модели действий, которые доступны только через harness: модель сама ничего не выполняет.
Самая дорогая ошибка — менять компоненты наугад. Замена модели занимает минуту и кажется «логичным первым шагом», но если проблема была в среде, ничего не изменится, а время и деньги потрачены. Сначала диагноз, потом лечение.
Итоги
Модель — это мозг, который умеет только генерировать текст. Harness — обвязка, которая даёт мозгу руки: инструменты, историю и управление контекстом. Агент — продукт, собранный из модели, harness и инструкций. Среда — пространство, в котором агент действует. Разграничив эти уровни, вы получаете точный язык для диагностики и настройки любой системы с ИИ-агентом.
В следующем уроке поговорим о недетерминированности: почему одна и та же модель с одним и тем же промптом может давать разные результаты — и как это связано с устройством больших языковых моделей.
Глоссарий
- LLM — большая языковая модель, нейросеть, генерирующая текст по запросу.
- Модель — то же, что LLM; «мозг» системы без возможности выполнять действия.
- Harness — программа-обвязка вокруг модели: инструменты, история сессии, управление контекстом.
- Агент — продукт из модели, harness и инструкций, который выполняет задачи.
- Среда — пространство, где агент действует: файлы, терминал, git, операционная система.
- Инструменты — возможности harness, которыми модель пользуется: чтение файлов, запуск команд.
- Цикл агента — повторяющийся процесс: запрос к модели, ответ, выполнение действий.
- Окно контекста — максимальный объём текста, который модель обрабатывает за один запрос.
- AGENTS.md — файл инструкций, задающий правила поведения агента в проекте.
- Skills — переиспользуемые пакеты инструкций, которые агент подключает по требованию.
- Промпт — запрос пользователя или агента к модели.
- Токен — единица текста, которой модель считает вход и выход.
- IDE — среда разработки, с которой harness интегрируется.
- Git — система контроля версий, часть среды проекта.