1. Про харнесс, коротко

В 2026 все, кто плотно сидит в ИИ и разработке, пришли примерно к одному выводу: гнаться за моделью получше почти перестало иметь смысл. Работает то, что ты строишь вокруг модели. Агент это модель плюс харнесс. Модель предлагает следующее действие и вероятностна по природе; харнесс это весь код вокруг: реестр инструментов, управление контекстом, циклы исполнения, проверка схем, права доступа, логи, точки обязательной остановки. Модель ты не тренируешь, берёшь готовой, значит вся твоя реальная работа это обвязка.

Я говорю это не со стороны. У меня есть проект, связанный с финансами, анализом и прогнозами, и харнесс там не вспомогательный слой, а фундамент. Тридцать, иногда сорок процентов всех усилий уходит не на функциональность, а на обвязку вокруг неё: команды, проверки, аудиты, логи, места, где система обязана остановиться и показать себя. Первый год это ощущалось как накладные расходы. Сейчас я вижу иначе. Обвязка и есть проект. То, что я считал настоящей работой, без неё просто не воспроизводится дважды подряд.

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

Тот же угол полезно применить к MCP, потому что тут я часто вижу подмену. MCP решает задачу доступа: единый протокол к почте, календарю, базе, файлам. Это удобно. Но подключённый сервер сам по себе разброс не уменьшает, он его увеличивает. У тебя стало двадцать инструментов, и модель на каждом шаге вероятностно решает, какой дёрнуть, с какими аргументами и когда остановиться.

Голый MCP это не харнесс. Это расширение пространства действий. Харнесс начинается там, где вокруг этого пространства появляются рамки: какие инструменты видны на текущем шаге, а какие скрыты; что проверяется до вызова, а не после; что требует подтверждения человека; какой бюджет вызовов и что происходит при его исчерпании; что логируется так, чтобы потом можно было понять, где именно всё разъехалось.

Полезное разделение предлагает Биргитта Бёккелер из Thoughtworks. Есть внутренний харнесс, который тебе дал вендор (SDK, агентский рантайм, готовый инструмент вроде Cursor), и есть внешний, который ты собираешь сам поверх: файлы с инструкциями, MCP‑серверы, свои навыки. И второе разделение, ещё более полезное: направляющие, которые ведут агента до действия, и датчики, которые смотрят на результат после и позволяют самому себя поправить. И то и другое бывает вычислительным (тест, линтер, жёсткая проверка) и смысловым (модель в роли судьи). Запомните эту пару, направляющие и датчики. Через минуту она понадобится совсем не для агентов.

2. Поворот

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

Когда достаточно долго проектируешь обвязку, меняется оптика. Ты перестаёшь думать в категориях «модель должна быть внимательнее» и начинаешь думать в категориях «где точка, в которой всё разъезжается, и что можно поставить в эту точку, чтобы решение не принималось в момент исполнения». Это довольно устойчивая привычка ума, и в какой‑то момент я поймал себя на том, что смотрю ею на собственный день.

Всё это время я строил обвязку вокруг вероятностной системы, которая ленится, забывает и срезает углы. А потом заметил, что описываю себя.

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

Он теряет контекст. Рабочая память держит единицы элементов. Всё, что не записано, вымывается ровно так же, как вымывается содержимое контекстного окна. Он срезает углы. Эвристика вместо расчёта. Быстро и обычно неплохо, но с устойчивым смещением. Он неверно отчитывается о результате. Мы честно помним, что «вроде разобрались», хотя проверки не было. Уверенность и точность у нас связаны слабо.

И главное: всё это не лечится усилием воли. Ровно так же, как не работает инструкция «пожалуйста, будь внимательнее» в промпте. Это не инженерное решение, это надежда. Работает другое, то же самое, что и с агентами: вынести решение из головы в среду, чтобы правильное действие не требовало решения.

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

3. Atomic Habits как учебник по обвязке

Atomic Habits я читал задолго до того, как начал строить агентские системы, и запомнил как приятную книжку про самодисциплину. Перечитывать её после года работы над харнессом это совсем другой опыт. Это не книга про мотивацию. Джеймс Клир написал учебник по инженерии обвязки вокруг человеческого интеллекта лет за десять до того, как термин появился в ИИ. Просто он назвал это привычками.

Его четыре закона, если убрать поп‑психологическую подачу, это четыре инженерных приёма.

Сделай очевидным. Это триггер. В обвязке агента это обработчик, который срабатывает на событие и подставляет нужный контекст. У человека это вещь, положенная на видное место. Для меня это давно стало рабочим принципом: то, что я собираюсь сделать, физически кладётся на виду и в быстрый доступ. Не как напоминание, а как взведённый триггер, который срабатывает без участия сознания. Похожая логика есть в японских куклах дарума: загадывая цель, закрашиваешь один глаз, второй закрашиваешь только после того, как цель достигнута. И всё это время незаконченное лицо стоит и своей незавершённостью напоминает о себе. Носитель цели вынесен из головы в комнату.

Формализованный вариант того же приёма это планы вида «если ситуация Y, то я делаю X», их называют намерениями‑реализациями. Буквально «если, то». Приём проверяли много раз. Голльвитцер и Ширан свели вместе 94 исследования, и результат везде один: люди, заранее записавшие «если, то», доводили дело до конца заметно чаще тех, кто просто решил «надо бы». Причина та же, по которой это работает в коде: в нужный момент решение уже принято заранее, и заново его принимать не надо.

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

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

Сцепление привычек («после X делаю Y») это конвейер. Цепочка, где результат одного шага служит триггером следующего, и между звеньями не остаётся места для решения.

Не пропускать дважды подряд это политика восстановления. Не идеальное исполнение, а ограничение на длину сбоя. Эмпирика тут на стороне Клира: в данных Лалли пропуск одного дня практически не сбивал кривую формирования привычки.

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

4. Где аналогия ломается

И здесь я хочу притормозить себя, иначе легко убежать в красивую, но бесполезную метафору. Аналогия ломается как минимум в трёх местах, и все три важные.

Первое. Обвязку для агента ты пишешь за вечер, и она работает с первого запуска. Привычка разворачивается медленно и ненадёжно. В исследовании Лалли медиана до автоматизма составила 66 дней при разбросе от 18 до 254. И самое неудобное: за двенадцать недель до автоматизма дошла примерно половина участников. Половина не дошла. Развёртывание обвязки в мозг это долгий процесс с высокой долей отказов, и планировать его надо соответственно.

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

Третье, и для меня самое существенное. Строить обвязку приятнее, чем работать.

Это оборотная сторона тех самых тридцати процентов из начала статьи. В той же системе я построил полсотни команд для аналитики, десятки аудитов, тысячи тестов. Каждая из этих вещей была нужна. И в какой‑то момент вся конструкция стала способом не смотреть на единственный вопрос, который решает судьбу проекта: есть ли у стратегии преимущество вообще.

У инфраструктуры есть неприятное свойство: она всегда может быть чуть лучше. Всегда есть ещё один тест, ещё одна команда, ещё одна проверка. И каждая из них ощущается как продуктивность, потому что после неё остаётся измеримый артефакт. В отличие от работы над сутью, где артефакта может не быть неделями. С личными системами ровно то же самое. Человек, который третий месяц перебирает планировщики вместо того, чтобы делать, не ленится. Он строит обвязку, просто обвязка стала целью.

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

5. Что с этим делать

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

Где здесь триггер. Не «когда вспомню», а конкретное событие среды или предыдущее действие. Если триггера нет, вы полагаетесь на систему, которая экономит энергию. Она не вспомнит.

Где здесь датчик. Что делает результат видимым без усилия. Если вы не можете за пять секунд ответить, делали вы это на прошлой неделе или нет, датчика нет.

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

6. Итог

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

С собой мы почему‑то делаем наоборот. Пытаемся улучшить саму систему: стать дисциплинированнее, собраннее, умнее. Это самая дорогая и самая ненадёжная часть. Обвязка дешевле. Вещь на виду, «если, то» на бумаге, чеклист на стене, одна команда вместо шести шагов.

Мы не станем работать безошибочно. Но можем сделать так, чтобы ошибались реже.