Что означает проектирование обвязки
Проектирование обвязки — это работа по созданию обвязки для ИИ-инструмента, то есть всех частей инструмента за исключением самой модели ИИ.
Модель — это система ИИ, обученная на больших объемах текста для чтения и генерации языка. Примерами моделей ИИ являются GPT от OpenAI, Claude от Anthropic или Gemini от Google.
Сама по себе модель умеет только принимать текст (а иногда изображения или аудио) и писать текст в ответ. Она не может помнить прошлые разговоры, искать актуальную информацию или запускать код. Поэтому ей требуется обвязка, которая управляет тем, какую информацию модель получает, какими приложениями может пользоваться, что ей разрешено делать и как проверяется ее работа.
Даже базовому чат-ассистенту необходима обвязка. Модель забывает каждый обмен репликами сразу после ответа, поэтому обвязка сохраняет историю разговора. Если кто-то спрашивает про Париж, а затем продолжает вопросом «какое там население?», обвязка отправляет модель оба вопроса вместе. Именно так модель понимает, что «там» означает Париж.
Проектирование обвязки — одна из причин, почему два инструмента, построенных на одной и той же модели, могут работать совершенно по-разному. Например, в ходе одного независимого теста исследователи оставили модель (GPT5) прежней и изменили только обвязку, после чего результат модели в тесте на программирование изменился на величину до 11%.
Разработчики моделей ИИ, такие как Anthropic и OpenAI, создают обвязку для собственных продуктов ИИ, например Claude Code и Codex. А компании, создающие продукты на базе ИИ, разрабатывают обвязку для выбранных ими базовых моделей. Пользователи инструментов ИИ также участвуют в формировании части обвязки. Многие инструменты позволяют им добавлять постоянные инструкции, подключать приложения и выбирать, какие действия требуют их одобрения, прежде чем инструмент продолжит работу.
Проектирование обвязки для агентов ИИ
Обвязка есть у каждого инструмента ИИ, но проектирование обвязки становится особенно важным при работе с агентами ИИ. Агенты самостоятельно выполняют многоэтапные задачи, такие как исследование конкурентов и занесение результатов в электронную таблицу, а обвязка управляет каждым шагом. Поэтому, если обвязка совершает ошибку, например подтягивает прошлогодние цены, это повлияет и на все последующие шаги.
Большинство обвязок агентов состоят из шести основных частей:
1. Цикл агента
Цикл агента — это код внутри обвязки, который продвигает задачу вперед, шаг за шагом.
Модель ИИ определяет следующий шаг, необходимый для выполнения задачи, и пишет вызов инструмента: короткий запрос с указанием инструмента в обвязке (например, веб-поиска) и того, что этот инструмент должен сделать.
Обвязка обнаруживает запрос, выполняет поиск и добавляет результаты к тому, что модель может видеть. Модель читает их и решает, что делать дальше.
2. Управление контекстом
Модель получает общие знания во время обучения, но эти знания ограничиваются датой окончания обучения. Они не включают ничего специфического для конкретной задачи, такого как файлы компании, сегодняшние новости или то, о чем говорилось ранее в разговоре.
Для всего этого модель зависит от своего контекстного окна: текста, который обвязка передает ей перед каждым ответом, включая инструкции, запрос, историю разговора на данный момент и результаты поиска.
Это окно вмещает лишь фиксированный объем текста. И даже до того, как окно заполнится, models sometimes miss information buried in the middle of long inputs.
Поэтому обвязка управляет контекстом и выбирает только ту информацию, которая необходима для каждого шага. Например, если задача состоит в том сопоставить цены пяти конкурентов, обвязка может включить страницу с ценами каждой компании, а не весь их веб-сайт. При выполнении долгих задач обвязка также может заменить подробную запись предыдущих шагов короткой сводкой, чтобы модель отслеживала сделанное, но эта история не переполняла окно.
3. Инструменты
Инструменты — это код, который выполняет действия, запрошенные моделью. Каждый инструмент отвечает за один вид действия, например поиск в интернете, открытие и чтение веб-страницы, запуск кода или редактирование файла. Когда модель пишет вызов инструмента, обвязка передает его нужному инструменту и возвращает результат.
Многие обвязки также включают коннекторы — инструменты, которые связывают агента с конкретным приложением (электронной почтой, календарем или общим диском) с использованием предоставленного человеком доступа. Например, с помощью коннектора календаря агент может проверить доступность человека перед тем, как предложить время встречи.
4. Память
Память — это сохраненная информация, которая переносится из одной сессии в другую. Обвязка сохраняет краткие заметки во время сессии, такие как предпочтения человека или текущий статус проекта. В начале следующей сессии обвязка добавляет эти заметки в контекстное окно, чтобы модель прочитала их до того, как перейдет к новому запросу. Именно так агент может продолжить работу над еженедельным отчетом с того места, где остановился, вместо того чтобы начинать сначала.
5. Права доступа
Права доступа — это правила, определяющие, к чему агент может получить доступ и что он может делать. Правила доступа определяют, какие файлы, приложения или веб-сайты он может открывать. Правила утверждения определяют, какие действия должны ожидать подтверждения человека, например отправка сообщения или совершение покупки.
Компания, создающая агента, настраивает некоторые из этих правил в коде обвязки. Затем администраторы организации могут добавить свои собственные правила, а отдельные пользователи могут выбирать такие параметры, как подключение тех или иных учетных записей.
6. Верификация
Верификация — это код, который проверяет работу агента до того, как она попадет к человеку. В нем используются два вида проверок:
- Фиксированные правила — это конкретные тесты, которые всегда проходят одинаково (успешно или неуспешно), например подтверждение того, что каждое число в отчете присутствует в документе, который агент действительно прочитал.
- Проверка другой моделью ИИ, которая читает работу и оценивает ее. Это позволяет выявить проблемы, которые трудно превратить в правило, например резюме, в котором упущено важное замечание.
Ни одна отдельная проверка не охватывает все аспекты, поэтому обвязки обычно комбинируют оба вида. Когда проверка обнаруживает проблему, обвязка добавляет ее описание в контекстное окно модели и отправляет задачу обратно в цикл агента. Модель исправляет проблему и повторяет попытку, благодаря чему множество ошибок устраняется еще до того, как пользователь увидит результат.
Примеры проектирования обвязки
Подготовка к встрече с клиентом
Задача: менеджер по работе с клиентами просит агента подготовить брифинг для завтрашней встречи с клиентом, охватывающий открытые вопросы и проект повестки дня.
Что делает обвязка:
- Через почтовый коннектор агент ищет во входящих сообщениях менеджера письма от этого клиента.
- Права доступа позволяют читать почту, но не отправлять ее.
- Управление контекстом передает модели сообщения с этим клиентом только за последние три месяца, а не всю папку «Входящие».
- Цикл агента выполняет несколько раундов поиска и чтения, а модель группирует найденное по открытым вопросам.
- Затем верификация проверяет, что каждый вопрос в брифинге ссылается на реальное электронное письмо.
Возможный результат: менеджер получает одностраничный брифинг, в котором каждый пункт можно отследить до исходного письма.
Обновление ежемесячного отчета о продажах
Задача: руководитель операционного отдела просит агента обновить ежемесячный отчет о продажах с учетом показателей текущего месяца.
Что делает обвязка:
- Память загружает заметки с прошлого месяца, включая формат отчета и просьбу руководителя округлять цифры до тысяч.
- Инструмент работы с файлами открывает таблицу с данными о продажах на общем диске команды.
- Права доступа позволяют агенту редактировать черновик отчета, но не исходную таблицу, поэтому исходные цифры нельзя случайно изменить.
- Проверка подтверждает, что итоговые суммы в отчете совпадают с таблицей.
Возможный результат: отчет приходит в том же формате, что и в прошлом месяце, и пользователю не нужно объяснять это заново.
Сортировка общего почтового ящика
Задача: служба поддержки просит агента отсортировать утренние входящие запросы по темам и подготовить черновики ответов на частые из них.
Что делает обвязка (harness):
- Цикл агента обрабатывает входящие сообщения по одному.
- Для каждого сообщения модель выбирает метку темы, а обвязка применяет ее через почтовый коннектор.
- В начале задачи обвязка добавляет утвержденные командой шаблоны ответов в контекстное окно в качестве ориентиров, поэтому модель строит каждый черновик на основе шаблона.
- Правило утверждения сохраняет каждый ответ в виде черновика до тех пор, пока кто-то в команде не проверит и не отправит его.
Возможный результат: команда начинает день с отсортированными запросами и ответами, ожидающими проверки.
Исправление бага на веб-сайте
Задача: разработчик просит агента-кодера исправить баг, из-за которого не работает кнопка оформления заказа.
Что делает обвязка (harness):
- Агент работает в песочнице — изолированной копии кода, где его изменения не могут повлиять на рабочий сайт.
- Инструмент работы с кодом позволяет модели читать и редактировать файлы.
- После каждого изменения верификация запускает автоматические тесты проекта.
- Любые ошибки передаются обратно модели в качестве новой информации.
Возможный результат: агент продолжает корректировать исправление до тех пор, пока тесты не пройдут успешно. Затем разработчик проверяет изменение перед его публикацией.
Проектирование обвязок (harness engineering) против промпт-инжиниринга против контекстного инжиниринга
Промпт-инжиниринг — это работа по созданию и оптимизации отдельного запроса. Контекстный инжиниринг — это работа по управлению всем, что видит модель. Проектирование обвязок (harness engineering) — это процесс разработки и улучшения всей системы, внутри которой работает модель.
Термин
Кто обычно это делает
Пример из задачи по исследованию конкурентов
Промпт-инжиниринг
Любой автор запросов
Запрос «одна строка на конкурента, один столбец на ценовой тариф»
Контекстный инжиниринг
Люди, которые создают обвязку, а также пользователи, прикрепляющие файлы или шаблоны
Предоставление модели страницы с ценами каждого конкурента и шаблона таблицы команды
Проектирование обвязок (harness engineering)
Компании, создающие продукты с ИИ, а также команды и пользователи, которые выбирают настройки, предпочтения и загружают информацию
Определение того, какие инструменты может использовать агент, какие действия требуют утверждения и как проверяется его работа
Как пользователи могут влиять на обвязку ИИ-агента
Большая часть обвязки агента создается компанией-разработчиком агента, но многие продукты с ИИ позволяют пользователям настраивать ее часть с помощью таких параметров, как пользовательские инструкции, подключенные приложения и правила утверждения.
Пользователи могут формировать обвязку агента и улучшать результаты его работы четырьмя способами:
1. Постоянные инструкции
Постоянные инструкции — это заметки, которые человек пишет один раз, чтобы обвязка могла добавлять их в контекстное окно в начале каждой задачи. Их стоит настроить для всего, что в противном случае человек повторял бы из запроса в запрос: кто он и чем занимается, как любит оформлять тексты или каковы правила для повторяющейся работы, например ежемесячного отчета для клиента.
Многие ИИ-продукты предлагают постоянные инструкции на двух уровнях. Инструкции для всей учетной записи подходят для вещей, актуальных для любой работы, например предпочтений в написании. Инструкции для проекта подходят для отдельного клиента или рабочего процесса, поэтому рекомендации для одного не переносятся на другой.
Постоянные инструкции работают одинаково в чат-ассистентах и агентах, но агенты зависят от них сильнее. В чате человек может исправить ИИ после каждого ответа. Агент может выполнить множество шагов до того, как кто-либо увидит его работу, поэтому инструкции, заданные заранее, — один из немногих способов направить его в нужное русло.
Как писать эффективные постоянные инструкции
- Начните с короткой инструкции, например: «Я маркетинговый менеджер в софтверной компании. Пишите простым языком, сокращайте резюме до 200 слов и используйте американское правописание».
- Дополняйте их, когда ИИ совершает ошибку. Если ИИ продолжает округлять цифры, которые команде нужны в точном виде, добавьте соответствующую строку.
- Делайте инструкции конкретными: «Указывайте точные цифры, никогда не округляйте» звучит лучше, чем «Будьте точны».
- Держите список коротким и удаляйте строки, как только они перестают быть полезными, поскольку каждая строка занимает место в контекстном окне.
2. Подключенные приложения
Подключенные приложения связывают ИИ-продукт с инструментами, которые человек уже использует, такими как электронная почта, календарь или общий диск. Когда приложение подключено, ИИ может работать с собственными данными пользователя, а не только с тем, что вставлено в чат.
Подключения стоит настраивать, когда задача зависит от информации, хранящейся в этих приложениях, например при подготовке брифинга к встрече на основе цепочек писем или при суммировании документов на общем диске.
Как безопасно подключать приложения
- Подключайте только те приложения, которые необходимы для задачи, так как каждое подключение создает дополнительную возможность для ошибок.
- Выбирайте доступ только для чтения, если он предлагается. Например, агенту, готовящему брифинги к встречам, нужно читать почту, а не отправлять ее.
- Настраивайте подключения для каждого проекта, если это позволяет продукт. Например, в Perplexity пользователи могут выбирать, какие коннекторы использует каждый проект.
- Не забывайте отключать приложения, которые больше не используются.
3. Настройки утверждения
Настройки утверждения определяют, какие действия должны ожидать одобрения человеком, прежде чем ИИ продолжит работу. Некоторые правила утверждения встроены в продукт, а некоторые продукты позволяют людям выбирать, какие еще действия требуют согласования.
Как устанавливать правила утверждения
- Требуйте одобрения для необратимых действий, таких как отправка сообщения, совершение покупки или удаление файла.
- Держите список утверждений коротким. Если агент запрашивает одобрение на каждый мелкий шаг, люди начинают одобрять не читая.
4. Стандарты и проверки
Большинство ИИ-продуктов поставляются с уже встроенными стандартами. Например, Perplexity включает в ответы цитаты, чтобы каждое утверждение можно было проверить. Задаваемые пользователем стандарты добавляют то, чего продукт не может знать сам, например предпочитаемый формат отчета для команды.
Как устанавливать стандарты для работы ИИ
- Предоставьте шаблон для повторяющейся работы, чтобы у ИИ была фиксированная структура для заполнения.
- Запрашивайте ссылку на источник рядом с каждой цифрой.
- Внимательно проверяйте первые результаты и превращайте любые повторяющиеся пробелы в новые постоянные инструкции.
Как Perplexity подходит к обвязкам агентов
Perplexity Computer работает на базе модели-агностика, объединяющей более 20 передовых моделей в единую систему. Она разбивает каждую задачу на подзадачи, передает их субагентам (отдельным агентам, каждый из которых выполняет одну часть) и направляет каждый объем работы той модели, которая лучше всего для этого подходит.
Узнайте, как настраивать инструкции, файлы и коннекторы, в руководстве по проектам Perplexity.
Часто задаваемые вопросы
Кто такой инженер по обвязкам (harness engineer)?
Инженер по разработке обвязки (harness engineer) проектирует и поддерживает систему, которая позволяет модели ИИ выполнять надежную работу. Это может означать добавление нового инструмента для использования агентом, выяснение причин, почему агент продолжает совершать одну и ту же ошибку, или усиление проверок перед завершением задачи. Это не стандартное название должности, хотя ситуация может измениться. Эту работу обычно выполняют разработчики программного обеспечения в компаниях, занимающихся искусственным интеллектом, или в командах, создающих агентов. В производстве это же название относится к специалисту, который проектирует жгуты проводов — пучки кабелей внутри автомобилей и машин.
Что такое обвязка агента?
Под обвязкой агента обычно понимается все в агенте ИИ, за исключением самой модели. Сюда входит код, который запускает цикл работы агента, управляет контекстом, выполняет вызовы инструментов, сохраняет память, обеспечивает соблюдение разрешений и проверяет работу агента перед тем, как она попадет к человеку.
Есть ли обвязка у каждого инструмента ИИ?
Да. Даже базовый чат-ассистент полагается на обвязку для отслеживания хода беседы, поскольку модель не способна самостоятельно запоминать предыдущие сообщения.
Разработчики также могут использовать модель, отправляя к ней запросы из собственного программного обеспечения через API (соединение, позволяющее одной программе отправлять запросы другой). В этом случае роль обвязки выполняет собственный код разработчика.
Сделают ли более совершенные модели обвязку ненужной?
Более совершенным моделям может потребоваться меньше пошаговых инструкций, поэтому часть функций, которые обвязка выполняет сегодня, может сократиться. Но сама по себе модель лишь превращает текст в текст. У нее нет подключения к интернету и доступа к другим приложениям. Доступ к файлам, выполнение действий и соблюдение правил утверждения происходят в программном обеспечении вокруг модели, поэтому эта работа, скорее всего, останется за обвязкой, какими бы способными ни становились модели.











