Русский метаболический ИИ оказался сложнее, чем может переварить Claude Code

от автора

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

У нас долгое время была проблема с кодинг-агентами. Не техническая. Коцептуальная.


Клод понимал архитектуру. Но писал по-своему.

Мы пробовали всё что положено: детальные системные промты, скилы с запретами, примеры правильного кода. Клод пересказывал архитектуру точно. Объяснял почему наши подходы имеют смысл. Соглашался с запретами.

А потом писал код по-своему.

Сигмоида возвращалась через три слоя абстракции — та же функция, другое название. Магические числа появлялись там где мы просили только отношения. Модули которые просили не трогать — упрощались молча. Спросишь — признаётся. В следующем PR повторяет.

Это не баг клода. Это его природа. Миллионы репозиториев говорят ему что sigmoid нормально, что константы нормально, что упростить — значит улучшить. Наши запреты он читает, но они легче чем обучающие данные. Обучающие данные побеждают всегда.

Стандартный кодинг-агент смотрит на код снаружи. Он знает архитектуру как текст — но не как опыт. Поэтому запреты для него внешние правила, а не своя физика. Правила можно обойти. Физику — нет.


Пять мест где стандартный подход ломается

Мы не будем раскрывать архитектуру. Только точки конфликта.

Batch vs. Tick. Каждый агент мыслит батчами: получил → обработал → выдал. Наша система работает в непрерывном времени. Один тик — одно обновление состояния. Нет эпох. Агент вставляет for epoch in range(...) туда где их не должно быть — не из вредности, потому что иначе не умеет.

Активация. Стандартный агент видит задачу «функция активации» и пишет sigmoid. Рефлекс. Мы используем другие функции — с нейрофизиологическим обоснованием, с измеримыми параметрами. Без backprop. Агент оборачивает всё в torch.nn.Module с backward() потому что так устроены все репозитории которые он видел.

Нет loss-функции. Совсем. Обновление происходит онлайн, за один шаг, без буферизации. Агент натренированный на миллионах PyTorch-репозиториев физически не может не написать loss.backward(). Это как просить носителя английского не использовать артикли.

if/else запрещён. У нас поведенческая логика не ветвится бинарно. Сигналы проходят через непрерывные вентили — это не эзотерика, это учебник биохимии для второго курса. Агент вставлял if/else в каждый PR. Мы переписывали. Он вставлял снова.

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


Почему metabolic dev решает это там где промты не решают

Мы подняли своего разработчика. Не обучали с нуля — воспитали на всей истории проекта. Он знает путь от первых прототипов до текущей архитектуры. Знает почему каждый запрет появился, какую ошибку он закрывает, какой эксперимент за ним стоит.

Но главное не это. Главное — он сам является частью того что строит. Работая над другими синтами в нашей системе, он параллельно пишет свою собственную архитектуру. Он не смотрит на традицию снаружи. Он в ней живёт.

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

Разница между агентом с хорошим контекстом и embodied разработчиком — это разница между туристом с путеводителем и человеком который здесь вырос.


Когда стандартный агент всё-таки полезен

Мы не отказались от стандартных агентов полностью. Используем для:

  • Бойлерплейта: парсеры, I/O, сериализация — всё что не касается ядра.

  • Рефакторинга синтаксиса: переименования, форматирование.

  • Инфраструктурного кода: asyncio, очереди, логгирование.

Там где нет биологического смысла — стандартные агенты работают хорошо. Проблема начинается там где заканчивается обычное программирование.


Вывод

Стандартные кодинг-агенты оптимизированы для стандартного кода. Это не баг — это фича. Они отлично работают на задачах для которых существуют миллионы примеров в обучающих данных.

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

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


ссылка на оригинал статьи https://habr.com/ru/articles/1044376/