ГлавнаяБлогAgent = Model × Harness: будущее разработки AI
AI / Нейросети

Agent = Model × Harness: будущее разработки AI

Разбираем формулу Agent = Model × Harness: почему обвязка важнее модели, как это меняет разработку и что делать разработчикам прямо сейчас.

Al
Редакция Algolitalgolit.ru
10 мин чтения22 июня 2026 г.

Почему это важно?

Если вы следите за AI-инженерией, то наверняка слышали: «скоро AI заменит программистов». Это упрощение. Реальность сложнее, но интереснее. В этой статье мы разберем формулу, которая проясняет, куда движется индустрия: Agent = Model × Harness. Вы узнаете, почему обвязка (harness) важнее модели, как это меняет вашу работу и что делать, чтобы оставаться востребованным.

Модель vs обвязка: ключевое различие

Claude Code — это агент. GitHub Copilot — агент. ChatGPT — тоже агент. Но ни один из них не является моделью. Они — обвязки (harness): программная инфраструктура, построенная поверх LLM, которая превращает предсказание следующего токена в нечто, что планирует, вызывает инструменты, держит контекст, повторяет попытки и выдает результат.

Простая аналогия: если GPT-5.5 — это модель, то ChatGPT — обвязка вокруг нее. Модель — ингредиент, обвязка — блюдо.

Это различие дает два рычага, которые вы контролируете:

  • Модель — «сырое» мышление. Заменяема. Улучшается по кривой, которую вы не контролируете.
  • Обвязка — цели, циклы, инструменты, память, оценки, поверхность продукта. Часть, которую вы действительно инженерите.

Почти все интересные инженерные решения в AI-продукте живут в обвязке, а не в модели. Какие промпты, какие инструменты с какими ограничениями, как завершается цикл, что запоминается, как ловятся ошибки. Вы не тренируете GPT — вы его оборачиваете. Обертка и есть работа.

Почему это важно сейчас?

Сегодня только ведущие лаборатории строят обе части. OpenAI строит GPT и ChatGPT. Anthropic — Claude и Claude Code. Модель и обвязка поставляются из одного здания, одной компанией, как единый пакет.

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

GitHub Copilot — лучший предвестник. Это обвязка, которая оборачивает любую крупную модель. Вы можете подключить разные frontier-модели. Обвязка — продукт, модель — сменный бэкенд. Это форма будущего: обвязки как первоклассные продукты, независимые от модели, специализированные под домен.

Обвязка для кода хочет доступа к инструментам, контексту репозитория и циклам тестирования. Юридическая обвязка — дисциплины цитирования и поиска. Обвязка поддержки — верификации состояния и эскалации. Финансовая — детерминизма и аудита. Те же модели — радикально разные обвязки, потому что домен — это место, где живет инженерия.

Обвязочная инженерия поглощает разработку ПО

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

Мы уже видим ранние признаки: компании прикручивают чат-боты и агенты к существующим продуктам как дополнительную функцию. Затем эти возможности перестают быть надстройкой и проникают в основное предложение. Агент перестает быть вещью рядом с продуктом и становится основным способом использования продукта. Логический итог — экосистема агентских приложений. App Store, но для агентов. Agent Store.

Это спектр, а не обрыв

Чтобы не скатываться в «AI заменит весь код»: реалистичная версия — спектр.

  • Фундаментальные бизнес-процессы (платежи, бухгалтерия, аутентификация) остаются кодом и детерминизмом. «Приблизительно правильно» — это дефект. Там не место вероятностной модели.
  • Человеко-ориентированные части автоматизируются агентами. Вся экспертиза, склеивание, триаж, рабочие процессы, которые раньше мог выполнить только человек — это территория агентов. Не заменяя детерминированное ядро, а заполняя пробелы вокруг него, которые раньше требовали человека в цикле.

Работа не исчезает — она переформируется. Наша задача перестает быть «писать код для людей» и становится «писать системы, автоматизирующие человеческие рабочие процессы через агентов». Детерминированный позвоночник остается; мягкие ткани вокруг становятся агентными.

Что это значит для вашей роли

Дисциплина делится по той же линии, что и формула:

  • Сторона модели — люди, тренирующие, донастраивающие, оценивающие и улучшающие «сырое» мышление. Остается специализированной и за ML-специалистами.
  • Сторона обвязки — люди, проектирующие цели, подключающие инструменты, замыкающие циклы обратной связи, строящие слой оценки и наблюдаемости, формирующие доменно-специфичный продукт, внутри которого живет агент. Сюда попадает большинство разработчиков.

Это не понижение для инженеров. Это переезд. Обвязка — место, где решаются корректность, безопасность, задержка, стоимость и доверие пользователя. Модель дает возможность; обвязка решает, станет ли эта возможность продуктом или проблемой.

Честное предостережение

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

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

Практический вывод

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

# Пример простой обвязки для агента на Python
import openai

class SimpleAgent:
    def __init__(self, model="gpt-4", tools=None):
        self.model = model
        self.tools = tools or []
        self.memory = []

    def run(self, user_input):
        # Добавляем пользовательский ввод в память
        self.memory.append({"role": "user", "content": user_input})
        
        # Формируем сообщения с контекстом
        messages = [
            {"role": "system", "content": "Ты полезный агент. Используй инструменты при необходимости."}
        ] + self.memory[-10:]  # держим последние 10 сообщений
        
        # Вызов модели
        response = openai.ChatCompletion.create(
            model=self.model,
            messages=messages,
            functions=self.tools,  # инструменты, которые может вызывать агент
            function_call="auto"
        )
        
        # Обработка ответа
        message = response["choices"][0]["message"]
        self.memory.append(message)
        
        # Если модель решила вызвать инструмент
        if message.get("function_call"):
            result = self.call_tool(message["function_call"])
            self.memory.append({"role": "function", "name": message["function_call"]["name"], "content": result})
            # Повторный вызов модели с результатом
            return self.run("")  # упрощённо
        
        return message["content"]

    def call_tool(self, function_call):
        # Заглушка: реальная реализация вызывает нужный инструмент
        return f"Результат вызова {function_call['name']}"

# Использование
agent = SimpleAgent()
print(agent.run("Привет!"))

Начните с малого: возьмите готовую модель (GPT, Claude, Llama) и напишите обвязку для конкретной задачи — поиска информации, генерации отчетов, модерации контента. Усложняйте постепенно: добавляйте память, инструменты, оценку. Это и есть ваше будущее.

#AI-агенты#обвязка модели#разработка AI#будущее программирования#harness engineering
Al
Редакция Algolit

Пишем про алгоритмы, подготовку к собеседованиям и карьеру в IT — так, чтобы было понятно и полезно.

Хочешь закрепить знания на практике?

Решай задачи на Algolit — интерактивная платформа для обучения

Начать бесплатно →