Хотите заказать веб-сайт? Связаться с нами

Что такое модель, harness, агент и среда?

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

Что такое модель, harness, агент и среда?

Модель: мозг без тела

Модель (LLM) — это большая языковая модель: нейросеть, которая умеет предсказывать текст. На вход она получает последовательность токенов, на выходе отдаёт продолжение — вероятный следующий текст. Всё, что модель «умеет», сводится к этому: понять запрос и сгенерировать ответ.

Важно понять ограничение: у модели нет рук. Она не умеет сама открыть файл, выполнить команду в терминале или нажать кнопку. У неё нет доступа к вашей файловой системе, нет памяти о прошлых сессиях, нет возможности «сходить и посмотреть». Модель отвечает только на то, что ей передали в запросе, и только то, что помещается в её окно контекста.

Из этого следует практический вывод: модель — это компонент, а не самостоятельный работник. Сама по себе она бесполезна для инженерной задачи. Ценность появляется, когда вокруг модели собирают обвязку — harness.

Harness: обвязка, которая даёт модели руки

Harness (в переводе с английского — «упряжь», «обвязка») — это программа, которая организует цикл работы модели. Именно harness делает из «мозга» нечто, способное выполнять задачи: он формирует запросы, вызывает инструменты, обрабатывает ответы и управляет контекстом.

Типичный цикл работы harness выглядит так.

получить задачу → сформировать запрос →
отправить модели → получить ответ →
выполнить действия (инструменты) → повторить

За что именно отвечает harness:

  1. Инструменты — даёт модели возможность читать файлы, запускать команды, искать в кодовой базе.
  2. История сессии — хранит переписку, чтобы контекст накапливался между шагами.
  3. Управление контекстом — решает, что включить в запрос, а что отбросить, чтобы не переполнить окно.
  4. Разрешения — спрашивает у вас подтверждение перед опасными действиями.
  5. Интеграции — связь с IDE, терминалом, git и другими инструментами разработки.

Harness — это и есть та программа, которую вы устанавливали в четвёртом уроке курса. Именно её интерфейс вы видите, с ней вы общаетесь, и именно её поведение настраиваете через файлы инструкций вроде AGENTS.md.

Агент: продукт, который вы используете

Агент — это не отдельный компонент, а результат сборки: модель плюс harness плюс инструкции. Когда говорят «ИИ-агент сделал X», на самом деле имеется в виду связка «harness, использующий модель, под управлением накопленных инструкций и контекста».

Почему важно такое разграничение? Потому что один и тот же результат можно получить разными комбинациями. Одна и та же модель, работающая внутри разных harness-ов, ведёт себя по-разному: у неё другой набор инструментов, другие правила формирования запросов, другой способ управления контекстом. И наоборот — один harness с разными моделями даёт разное качество работы.

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

Агент также включает всё, что вы «погрузили» в него через проект: файл инструкций AGENTS.md, skills, память. Эти компоненты — часть агента, а не часть модели: другая модель с теми же инструкциями получит тот же набор правил поведения.

Среда: где всё работает

Среда (environment) — это пространство, в котором агент выполняет действия. Для coding agent среда — это ваш компьютер: операционная система, рабочая папка проекта, файловая система, терминал, установленные программы, доступ к сети и права пользователя.

Среда определяет, что агент вообще может сделать. Если в системе нет нужного компилятора — агент не сможет собрать проект, какой бы умной ни была модель. Если у процесса нет прав на запись в каталог — команда упадёт с ошибкой. Если проект лежит в git-репозитории — агент сможет коммитить; если нет — эта возможность исчезает.

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

Как всё складывается вместе

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

модель (мозг)  +  harness (обвязка)  +  инструкции  =  агент
агент работает внутри среды (файлы, терминал, git, ОС)

Разграничение удобно представить в виде таблицы.

Понятие Роль в системе
LLM / модель Мозг: генерирует текст по запросу, ничего не выполняет сама
Harness Обвязка: организует цикл, даёт инструменты, управляет контекстом
Агент Продукт: модель + harness + инструкции, который вы используете
Среда Пространство: файлы, терминал, git, ОС, где агент действует

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

Почему терминология важна

Для работы с ИИ-агентом терминология — не теория, а инструмент.

Все дальнейшие уроки курса опираются на эти четыре понятия: управление контекстом — про harness, деградация рассуждений — про модель, AGENTS.md и skills — про инструкции, а ошибки окружения — про среду.

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

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

Задайте себе мысленный фильтр при любой проблеме с агентом: «Это проблема мозга (модель), рук (harness), правил (инструкции) или окружения (среда)?» Одно это уточнение сокращает перебор вариантов в несколько раз — вы перестаёте наугад менять настройки и начинаете чинить именно сломанный уровень.

Типичные ошибки

  1. Называть модель «агентом» — из-за этого непонятно, что именно менять при плохой работе.
  2. Считать harness и агента одним и тем же — агент шире, он включает инструкции и контекст.
  3. Игнорировать среду: «агент не работает» при том, что в системе просто нет нужной программы.
  4. Менять модель, когда на самом деле сломаны инструкции или раздут контекст.
  5. Ожидать от модели действий, которые доступны только через harness: модель сама ничего не выполняет.

Самая дорогая ошибка — менять компоненты наугад. Замена модели занимает минуту и кажется «логичным первым шагом», но если проблема была в среде, ничего не изменится, а время и деньги потрачены. Сначала диагноз, потом лечение.

Итоги

Модель — это мозг, который умеет только генерировать текст. Harness — обвязка, которая даёт мозгу руки: инструменты, историю и управление контекстом. Агент — продукт, собранный из модели, harness и инструкций. Среда — пространство, в котором агент действует. Разграничив эти уровни, вы получаете точный язык для диагностики и настройки любой системы с ИИ-агентом.

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

Глоссарий

  1. LLM — большая языковая модель, нейросеть, генерирующая текст по запросу.
  2. Модель — то же, что LLM; «мозг» системы без возможности выполнять действия.
  3. Harness — программа-обвязка вокруг модели: инструменты, история сессии, управление контекстом.
  4. Агент — продукт из модели, harness и инструкций, который выполняет задачи.
  5. Среда — пространство, где агент действует: файлы, терминал, git, операционная система.
  6. Инструменты — возможности harness, которыми модель пользуется: чтение файлов, запуск команд.
  7. Цикл агента — повторяющийся процесс: запрос к модели, ответ, выполнение действий.
  8. Окно контекста — максимальный объём текста, который модель обрабатывает за один запрос.
  9. AGENTS.md — файл инструкций, задающий правила поведения агента в проекте.
  10. Skills — переиспользуемые пакеты инструкций, которые агент подключает по требованию.
  11. Промпт — запрос пользователя или агента к модели.
  12. Токен — единица текста, которой модель считает вход и выход.
  13. IDE — среда разработки, с которой harness интегрируется.
  14. Git — система контроля версий, часть среды проекта.

Теги: