Разбираем формулу Agent = Model × Harness: почему обвязка важнее модели, как это меняет разработку и что делать разработчикам прямо сейчас.
Если вы следите за AI-инженерией, то наверняка слышали: «скоро AI заменит программистов». Это упрощение. Реальность сложнее, но интереснее. В этой статье мы разберем формулу, которая проясняет, куда движется индустрия: Agent = Model × Harness. Вы узнаете, почему обвязка (harness) важнее модели, как это меняет вашу работу и что делать, чтобы оставаться востребованным.
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 заменит весь код»: реалистичная версия — спектр.
Работа не исчезает — она переформируется. Наша задача перестает быть «писать код для людей» и становится «писать системы, автоматизирующие человеческие рабочие процессы через агентов». Детерминированный позвоночник остается; мягкие ткани вокруг становятся агентными.
Дисциплина делится по той же линии, что и формула:
Это не понижение для инженеров. Это переезд. Обвязка — место, где решаются корректность, безопасность, задержка, стоимость и доверие пользователя. Модель дает возможность; обвязка решает, станет ли эта возможность продуктом или проблемой.
Ничто из этого не означает «модели делают всё, инженеры идут домой». Наоборот: чем способнее модель, тем важнее становится обвязка, потому что более способная модель с неряшливой обвязкой — это более эффективный способ провалиться. Рычаг хорошей обвязочной инженерии растет по мере улучшения модели.
В этом вся ставка. Модель улучшается сама по себе, по кривой, которую вы не контролируете. Улучшится ли ваш агент — ваш продукт, ваша компания, ваша роль — это вопрос вашей обвязки.
Прямо сейчас: начните изучать обвязочную инженерию. Стройте агентов, используя существующие модели. Экспериментируйте с инструментами, памятью, циклами обратной связи. Пишите обвязки для конкретных доменов. Это навык, который будет только расти в цене.
# Пример простой обвязки для агента на 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) и напишите обвязку для конкретной задачи — поиска информации, генерации отчетов, модерации контента. Усложняйте постепенно: добавляйте память, инструменты, оценку. Это и есть ваше будущее.
Хочешь закрепить знания на практике?
Решай задачи на Algolit — интерактивная платформа для обучения
Начать бесплатно →