AutoBe: Как слабые локальные LLM исправили архитектуру генератора AI-бэкенда

Что произошло
AutoBe — это открытый ИИ-агент, который генерирует полноценные бэкенд-приложения с использованием TypeScript, NestJS и Prisma. Изначально он достигал 100% успешной компиляции, но код был неподдерживаемым — не было повторного использования кода, поэтому любое небольшое изменение требовало перегенерации всего. Команда перестроила систему вокруг модульной генерации кода, что сразу же снизило показатель успеха до 40%.
Прорыв в отладке
Когда новая архитектура ввела зависимости между модулями, команда использовала намеренно слабые локальные LLM для поиска ошибок, о существовании которых они не подозревали. Модель qwen3-30b-a3b-thinking имела успех около 10% и выявляла неоднозначности в AST-схемах и некорректные структуры. Модель qwen3-next-80b-a3b-instruct имела успех около 20% и выявляла несоответствия типов и крайние случаи во вложенных отношениях.
Такой низкий показатель успеха оказался ценным: каждое исправление укрепляло всю систему. Когда схема достаточно точна, чтобы 30B-модель не могла её неверно интерпретировать, более мощные модели тоже не ошибаются. Этот подход также подчёркивает преимущество локальных LLM в стоимости — обнаружение крайних случаев требует сотен циклов генерация-компиляция-диагностика, что было бы непомерно дорого по ценам облачных API.
Архитектурный сдвиг
Команда перешла от инженерии промптов к проектированию схем с валидационной обратной связью. Они свели системные промпты почти к нулю и перенесли все ограничения в схемы вызова функций, позволяя валидационной обратной связи выполнять обучение. AutoBe использует три типа AST, которые особенно сложны для генерации LLM: AutoBeDatabase (модели Prisma, отношения, индексы), AutoBeOpenApi (схемы OpenAPI, конечные точки, DTO) и AutoBeTest (30+ типов выражений).
Эти структуры сложны, потому что включают неограниченные объединения типов, неограниченную глубину и рекурсивные ссылки. Например, AST компилятора включает такие типы, как IArrayLiteralExpression и IObjectLiteralExpression, которые содержат рекурсивные ссылки на IExpression[].
Результаты
Только за счёт валидационной обратной связи команда улучшила показатель с 6,75% успешных вызовов функций до 100%. Сейчас они снова достигли 100% успеха с GLM v5, а другие локальные модели также демонстрируют рост производительности.
📖 Read the full source: r/LocalLLaMA
👀 Смотрите также

ClawCut: Python-прокси, который делает небольшие локальные LLM пригодными для использования с OpenClaw
ClawCut — это прокси-сервер на Python Flask, который решает распространённые проблемы при подключении локальных моделей 7B/14B к OpenClaw, включая отравление контекста, бесконечные циклы и сбои в выводе cron-задач. Он реализует динамическую амнезию во время вызовов инструментов и автоматическую доставку для запланированных задач.

HostedShell: Веб-решение для развертывания агентов OpenClaw
HostedShell — это размещенная версия OpenClaw, которая устраняет необходимость локальной настройки CLI, управления зависимостями и ручного сопряжения, предоставляя веб-консоль с прямым доступом к терминалу и обновлениями файловой системы.

BrowserKing: Открытое Расширение Chrome для Управления Браузером через Claude и Другие Модели
BrowserKing — это бесплатное расширение для Chrome с открытым исходным кодом, которое позволяет Claude и более чем 15 другим моделям видеть и управлять вашим браузером из боковой панели. Оно делает скриншоты, отправляет их модели, а затем выполняет действия по её решениям: кликает по кнопкам, заполняет формы, прокручивает страницу и переключает вкладки.

Протокол памяти агентов (AMP): открытая спецификация для совместимой памяти ИИ-агентов на основе MCP
AMP определяет стандартный интерфейс для постоянной памяти в AI-агентах, совместимых с MCP, с шестью базовыми глаголами: encode, recall, forget, consolidate, pin и stats. Включает набор тестов на соответствие и эталонную реализацию.