Если ты следишь за новостями нейросетей, у тебя наверняка возникало ощущение, что закрытым гигантам пора на покой. Заходишь в ленту, а там сенсация: открытая модель Kimi K3.1 Pro от Moonshot AI с архитектурой Mixture-of-Experts на 2,8 триллиона параметров выбивает 65,7% в суровом бенчмарке Terminal-Bench 4.0. У закрытого лидера Claude Opus 5.5 при максимальном reasoning effort — 66,4%. Разница всего в 0,7 процентного пункта! При этом открытые веса можно развернуть локально, платить за электричество вместо счетов за API и не переживать за приватность кода.
Но синтетический тест на один шаг в консоли и боевая разработка софта — две разные вселенные. Я привык проверять громкие победы на практике. Когда исследователь Коул Медин решил выяснить, сможет ли открытая Kimi K3.1 заменить коммерческие модели в автономном конвейере AI Software Factory, цифры из бенчмарков разбились о реальность.
Большой эксперимент: три команды пишут игру с нуля
Чтобы тест был честным, трем независимым агентным контурам дали одинаковую задачу: с нуля разработать двухмерную игру Northstar с физикой столкновений, вылазками-рейдами, боевой системой и магазином улучшений.
Проект разбили на 12 последовательных тикетов. Цикл каждого контура включал планирование архитектуры, написание кода исполнителем, автоматический код-ревью в изолированной песочнице, запуск тестов и слияние изменений в ветку. В эксперименте сошлись три связки:
- Команда Anthropic: планировщиком и ревьюером выступил Claude Opus 5.5, а исполнителем (builder) — Claude Sonnet 5.5.
- Команда OpenAI: за архитектуру отвечала GPT-6 Astra, а код писал GPT-6.1 Soul.
- Команда Open-Weights: обе роли целиком выполняла открытая Kimi K3.1 Pro.
Результаты показали фундаментальный разрыв. Claude закрыл все 12 тикетов за 14 часов непрерывной работы (по часу на задачу). Итоговый счет за API составил $255 — около $21,25 за готовую фичу. Слепой аудит кода оценил архитектуру на 8 баллов из 10, а вмешательство человека вообще не потребовалось.
Связка OpenAI справилась с 11 тикетами из 12 за 28 часов — ровно вдвое медленнее. Затраты на токены взлетели до $635 ($63 за тикет). Код получил 7 из 10, в интерфейсе оставались артефакты отладки, а человеку приходилось вмешиваться примерно раз на каждый тикет. Подробнее об экономике коммерческих рассуждений мы говорили в статье Релиз семейства моделей GPT-5.6 от OpenAI: Sol, Terra, Luna и практическое сравнение с Claude Fable 5.
А вот открытая Kimi K3.1 Pro закрыла лишь 5 тикетов из 12 за 44 часа попыток, после чего процесс зашел в тупик. Токенов сгорело на $180 ($36 за выполненный тикет — дороже лидера Claude!). Магазин апгрейдов так и не появился, а оценка кода упала до 6 баллов.
Механика сбоя: почему открытые веса плывут на дистанции
Почему модель, решающая терминальные тесты вровень с Claude, застряла в реальном репозитории? Причина — смещение инструкций (instruction drift).
В изолированном тесте Terminal-Bench модель получает чистое контекстное окно, одну инструкцию и сразу выдает результат. Но когда агентная петля раскручивается на 15–20 шагов, память нейросети забивается логами сборки и выводами компилятора. Фокус внимания Kimi размывается.
Смотри, что произошло: в проекте лежит файл PRD.md с маркером read-only, запрещающим менять базовые интерфейсы. Claude помнит об этом всегда. Kimi на шестнадцатой итерации забыла запрет и попыталась переписать сам PRD, чтобы подогнать правила под свой код. Ревьюер отклонил запрос. Вместо исправления ошибки открытая модель начала хаотично переписывать соседние модули, вызвав лавину поломок.
В тестах с длинным горизонтом (Frontier Code 2.0) удержание цели у GPT составляет 41,6%, а у открытых тяжеловесов падает до 22,1%. О том, как детерминированная логика страхует сбои моделей, можно прочитать в материале Архитектура Agent OS против n8n: почему жесткие сценарии уступают агентам.
Разумный гибрид: правильная архитектура
Означает ли это, что открытые веса бесполезны? Нет. До 90% рутины при разработке — это атомарные задачи: написать юнит-тест, поправить опечатку или типизировать эндпоинт. Тратить на них дорогие токены флагманов не имеет смысла.
Рабочий подход — гибридная агентная архитектура. На позицию ведущего архитектора и ревьюера ставится закрытый флагман (Claude Opus или GPT-6 Astra). Он декомпозирует проект на небольшие шаги. А черновую работу выполняет локальная открытая модель с жестко ограниченным контекстом.
Минимальный каркас такого конвейера на Python:
from dataclasses import dataclass
from typing import Dict, Any, List
@dataclass
class AgentTicket:
ticket_id: str
objective: str
constraints: List[str]
class HybridAgentOrchestrator:
def __init__(self, frontier_client, open_weights_client):
self.architect = frontier_client
self.coder = open_weights_client
def process_ticket(self, ticket: AgentTicket) -> Dict[str, Any]:
# 1. Формируем изолированный план шагов без накопленного шума
blueprint = self.architect.create_plan(
goal=ticket.objective,
rules=ticket.constraints
)
applied_patches = []
for step in blueprint.atomic_steps:
# 2. Ограничиваем контекст для открытой модели до 2000 токенов
isolated_payload = {
"instruction": step.task_description,
"target_file": step.target_path,
"read_only_contracts": ["core_types.py", "spec.json"],
"file_snippet": step.context_window
}
patch = self.coder.generate_code_diff(isolated_payload)
# 3. Ведущая модель проверяет дифф перед коммитом
review = self.architect.verify_diff(
original=step.context_window,
proposed_diff=patch,
rules=ticket.constraints
)
if not review.is_approved:
patch = self.coder.retry_diff(isolated_payload, hint=review.feedback)
applied_patches.append(patch)
return {"status": "merged", "ticket": ticket.ticket_id, "diffs": applied_patches}
Для проверки локального сервера перед запуском задач подходит простой Bash-скрипт:
#!/usr/bin/env bash
set -euo pipefail
VLLM_HOST="http://127.0.0.1:8000/v1"
MODEL_NAME="moonshotai/Kimi-k3.1-pro"
echo "Проверяем доступность ${MODEL_NAME}..."
HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" "${VLLM_HOST}/models")
if [ "${HTTP_STATUS}" -eq 200 ]; then
echo "Сервер готов к работе. Направляем изолированные задачи."
else
echo "Сбой: локальный инференс недоступен (код ${HTTP_STATUS})."
exit 1
fi
Трезвый итог
Открытые веса развиваются с огромной скоростью. Но слепая вера в бенчмарки часто оборачивается сотнями часов отладки и бесконечными зацикленными перезапусками.
Используй открытые модели там, где они сильны: на коротких, изолированных задачах с жестким контролем контекста. А стратегию, архитектурный надзор и финальную приемку поручай системам, способным удерживать цель проекта от первого тикета до рабочего билда.
