Обучение · Агенты и вайб-кодинг

Глава 3. Харнесс: слово без одного значения

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

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

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

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

Упряжь. Не автономность, а оснастка: инструменты, скиллы, правила, проверки. Модель это лошадь, упряжь это то, что на неё надето, агент это тот, кто едет. Чем лучше лошадь и упряжь, тем дальше и бодрее едешь.

КАКОЕ ОПРЕДЕЛЕНИЕ ВЫБРАТЬ Оцениваешь риск, бери определение через автономность. Оно сразу говорит, сколько свободы ты отдаёшь. Строишь, бери определение через упряжь. Оно называет части, которые придётся захуячить руками. Объясняешь бизнесу, бери определение через результат. Остальное только запутает. Главное не спорить о слове, а спросить собеседника, что он имеет в виду. Экономит час жизни.

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

Ответ прозвучал такой: в основном названием. Раньше говорили, что нашли охуенный запрос для модели, теперь говорят харнесс.

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

Харнесс: слово без одного значения

ГЛАВНОЕ ПРО ТЕРМИНОЛОГИЮ Проверяй, за что именно ты платишь. Продукт продаёт тебе харнесс, спроси, что входит: цикл, память, набор инструментов, проверки, изоляция? Ответ покажет, речь про новую сущность или про старое, переупакованное в блестящую обёртку. И договорись о значениях внутри команды. Общепринятого может не появиться вообще никогда.

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

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

2. Инженерия контекста. Правила сжатия: когда и что схлопывается. Происхождение: откуда взялся кусок. Удержание: что забывается, а что хранится вечно. И явное разделение того, что инструкция, что факт, что гипотеза, а что воспоминание.

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

4. Контур надёжности. Контекст, инструменты, ограничения, проверка, коррекция. С лимитами, повторами, откатом и терминальными состояниями.

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

6. Скиллы и плагины. Простой способ подключить и отключить, реестр, явное указание, что активно, права владельца.

7. Прозрачность. Трассировки, метрики, разделение доказательств, выводов и неизвестного. В идеале воспроизводимые прогоны.

8. Проверки как обязательная часть. Базовая линия, состязательные случаи, релизный шлюз, канареечный выпуск, откат.

9. Независимость от поставщика. Иначе смена тарифа обрушит продукт нахуй, и объяснить это никому не выйдет.

10. Чего избегать. Не строить систему вокруг отпечатка конкретной машины: это привязка и ебля с переносимостью.

Харнесс: слово без одного значения

КАК ЧИТАТЬ КАРКАС

Основание Управление Действие Контроль

идентичность и память контекст и правила инструменты и агенты проверки и трассировки

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

Отсюда два практических вывода.

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

Второй: не начинай со сборки харнесса. Начинай с задачи. Обвязка появляется как ответ на конкретную боль, а не как проект сам по себе.

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

Мета-харнесс Идея, которая оформилась в рабочую практику: на проект делается два набора обвязки. Один рабочий, второй тестирующий. Второй нужен, чтобы измерять первый.

Звучит избыточно, но именно отсутствие второго объясняет, почему люди годами пиздят о приёмах вместо того, чтобы просто взять и сравнить.

С ЧЕГО СОБРАТЬ СВОЮ ОБВЯЗКУ 1. Возьми задачу, которую делаешь чаще всего. 2. Запиши, где именно агент спотыкается. Три-пять мест, не больше. 3. Каждое место закрой самым дешёвым способом: правилом, описанием инструмента, хуком. 4. Заведи одну проверку, которая покажет, стало ли лучше. 5. Через месяц отключи всё и посмотри, что возвращать. Половина не понадобится.

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

Опора не в определении, а в каркасе из десяти пунктов: идентичность, контекст, инструменты, надёжность, многоагентность, скиллы, прозрачность, проверки, независимость от

Харнесс: слово без одного значения

поставщика и отказ от привязки к машине.

Универсальной обвязки не будет. Переиспользуется поиск, линтеры и история изменений, остальное всегда своё.

И привычка, которая пригодится не только здесь: когда слово в разговоре начинает работать как заклинание, спроси, что оно означает у собеседника.

← Анатомия агента · оглавление · Как устроена модель: минимум механики →

Спросить книгу может любой, кто вошёл в Neuraldeep Hub: агент ищет ответ по тексту и приводит цитату со ссылкой на главу.