Создание приложения за 12 часов с локальными LLM: кейс MindMapp | AiManual
AiManual Logo Ai / Manual.
15 Янв 2026 Гайд

Как создать приложение за 12 часов с помощью локальных LLM: кейс MindMapp и сравнение моделей

Практическое руководство по агентному кодированию с локальными LLM. Сравнение моделей Devstrall Small 2, Seed OSS, GLM-4.5-Air. Создайте приложение без облачных

Проблема: облачные API - это медленно, дорого и скучно

Представьте: вам нужно сделать прототип приложения. Идея есть, время есть, но каждый запрос к GPT-4 занимает секунды. Каждая итерация - это ожидание. Каждый эксперимент - это счёт от OpenAI. А ещё эти лимиты токенов, эти падения API в самый неподходящий момент.

Знакомо? Мне - слишком. Поэтому я решил проверить, можно ли заменить облачные модели на локальные и не сойти с ума. Задача: создать работающее приложение для визуализации ментальных карт (MindMapp) с нуля за 12 часов. Без ChatGPT. Без Copilot. Только локальные LLM на моём MacBook Pro M2 с 16GB RAM.

Скептики скажут: "Локальные модели слабее!" Да, но они бесплатны, приватны и работают без интернета. А скорость? Иногда 30 токенов в секунду - это быстрее, чем ждать ответ от API через полмира.

Решение: агентное кодирование на стероидах

Агентное кодирование - это когда вы не просто просите модель написать код. Вы создаёте систему: один агент проектирует архитектуру, второй пишет компоненты, третий тестирует. Вы - дирижёр этого оркестра. С облачными моделями это дорого. С локальными - вопрос только в терпении и правильных инструментах.

Я выбрал три модели для теста:

  • Devstrall Small 2 - 7B параметров, заточена именно под код
  • Seed OSS - 14B, мультиязычная, с хорошим пониманием контекста
  • GLM-4.5-Air - 9B, китайская разработка, но с отличным английским
💡
Не путайте агентное кодирование с обычным промптом "напиши код". Агентное - это последовательность запросов, где каждый следующий зависит от результатов предыдущего. Как в статье "Локальные LLM на практике: Строим мультимодальный краулер событий с нуля", только для разработки.

1 Подготовка поля боя: выбираем инструменты

Первое правило локальных LLM: не используйте первый попавшийся инструмент. Я перепробовал всё - от LM Studio до самописных обёрток. Вот что сработало:

# Установка Ollama - мой фаворит для быстрого старта
curl -fsSL https://ollama.ai/install.sh | sh

# Загрузка моделей
ollama pull devstrall-small:2
ollama pull seed-oss:14b
ollama pull glm-4.5-air:9b

Почему Ollama? Потому что она просто работает. Не нужно возиться с трансформаторами, квантованиями, CUDA. Загрузил - запустил. Для более тонкой настройки можно использовать LM Studio или llama.cpp, но для скорости я выбрал простой путь.

2 Архитектура: как разбить задачу на куски

MindMapp - это веб-приложение для создания ментальных карт. Нужно: интерфейс перетаскивания, сохранение в JSON, экспорт в PNG. Вместо того чтобы просить одну модель сделать всё, я разбил задачу:

  1. Агент 1 (Devstrall Small 2): проектирует структуру данных для узлов и связей
  2. Агент 2 (Seed OSS): создаёт React-компоненты для интерфейса
  3. Агент 3 (GLM-4.5-Air): пишет логику перетаскивания и соединения
  4. Агент 4 (снова Devstrall): добавляет функционал экспорта

Каждый агент получает контекст от предыдущего. Если второй агент не понимает структуру данных от первого - возвращаемся и уточняем. Это не линейный процесс, это итеративный танец.

Самая частая ошибка: дать модели слишком общую задачу. "Создай приложение для ментальных карт" - это путь к галлюцинациям. "Создай React-компонент Node, который принимает props {id, label, x, y} и отрисовывает круг с текстом" - это работает.

3 Процесс: час за часом, компонент за компонентом

Старт: 9:00 утра. Первый промпт для Devstrall Small 2:

/*
Спроектируй структуру данных для ментальной карты.
Узлы должны иметь: id, label, позицию (x, y), массив childIds.
Связи должны храниться отдельно: id, sourceNodeId, targetNodeId.
Напиши пример на JavaScript.
*/

Ответ пришёл за 12 секунд. Чистый, работающий код. Не идеально, но основа есть. 9:15 - передаю результат Seed OSS с запросом на создание React-компонента. И так далее.

К 14:00 у меня есть работающий прототип. К 18:00 - добавлен экспорт, исправлены баги с перетаскиванием. К 21:00 - приложение готово. 12 часов с перерывами на кофе и проклятия в адрес CSS.

Сравнение моделей: кто лучше для кода?

Я вёл подробный лог. Вот что получилось:

Модель Размер Скорость (токен/с) Качество кода Понимание контекста Лучше всего для
Devstrall Small 2 7B 28-32 ★★★★☆ ★★★☆☆ Структуры данных, алгоритмы
Seed OSS 14B 18-22 ★★★☆☆ ★★★★☆ Компоненты UI, интеграция
GLM-4.5-Air 9B 24-28 ★★★☆☆ ★★★★★ Логика, обработка событий

Выводы неочевидные:

  • Devstrall Small 2 действительно хороша для кода, но иногда "зацикливается" на одном решении. Если попросить переписать - выдаёт почти то же самое.
  • Seed OSS медленнее, но лучше понимает сложные инструкции. Когда нужно было сделать drag-and-drop с учётом иерархии узлов - только Seed справилась с первого раза.
  • GLM-4.5-Air стала сюрпризом. Китайская модель, но с английским промптом работает отлично. Лучшая в понимании контекста: помнила детали из предыдущих запросов даже через 5-6 итераций.
💡
Не существует "лучшей модели для всего". Как и в статье "Топ-7 продвинутых приложений для локальных LLM", ключ в комбинации инструментов. Используйте разные модели для разных задач.

Нюансы, которые сведут с ума

Локальные LLM - не волшебная палочка. Вот что бесит больше всего:

Контекстное окно - это не шутка

У большинства моделей 4K-8K токенов контекста. Когда вы передаёте код предыдущего компонента + новое задание + историю промптов - это окно быстро заканчивается. Решение: не передавайте весь код. Передавайте только сигнатуры и ключевые моменты. Или используйте модели с большим контекстом, но они медленнее.

Галлюцинации в коде - это норма

Модель может "придумать" несуществующий метод React или свойство CSS. Проверяйте каждый фрагмент кода. Не доверяйте слепо. Особенно это касается новых библиотек - локальные модели тренировались на данных до 2023 года в лучшем случае.

Температура - ваш враг и друг

По умолчанию в Ollama temperature=0.8. Для кодирования это слишком много - модель становится "креативной" там, где нужна точность. Ставьте 0.1-0.3 для предсказуемого кода. Но если зашли в тупик - повысьте до 0.7, возможно, модель предложит неочевидное решение.

# Запуск модели с низкой температурой для кода
ollama run devstrall-small:2 --temperature 0.2

FAQ: вопросы, которые вы хотели задать

Стоит ли полностью переходить на локальные LLM для разработки?

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

Какое железо нужно?

Мой MacBook M2 с 16GB RAM справился с тремя моделями одновременно (не одновременно запущенными, но переключался между ними). Для моделей до 14B параметров хватит 16GB RAM. Для больших - смотрите в сторону ноутбуков с 24GB VRAM или облачных инстансов с GPU.

Как избежать проблем с длинными промптами?

Разбивайте. Всегда. Если инструкция занимает больше 10 строк - вы уже рискуете. Модели, особенно локальные, теряют нить в длинных промптах. Используйте нумерованные списки, чёткие разделы, повторяйте ключевые требования.

А что насчёт мобильной разработки?

Тот же принцип. Для iOS/macOS можно использовать Swift Transformers или AnyLanguageModel. Да, на iPhone тоже можно запускать модели, как в Lekh AI, но для разработки это скорее экзотика.

Итог: 12 часов, 3 модели, 1 приложение

MindMapp работает. Это не шедевр, но прототип, который можно показывать инвесторам или использовать для внутренних нужд. Код не идеален, но его можно доработать. Главное - он создан без единого запроса к облачным API.

Что я вынес из этого эксперимента:

  • Локальные LLM для разработки - не будущее. Они уже настоящее, просто другое.
  • Скорость важнее размера: 7B модель, которая отвечает за 10 секунд, лучше 70B, которая думает минуту.
  • Агентный подход работает, но требует дисциплины. Вы - архитектор, а модели - строители.

Попробуйте. Возьмите простую задачу, установите Ollama, загрузите Devstrall Small 2. Начните с малого: "напиши функцию сортировки на JavaScript". Потом усложняйте. Через месяц вы будете удивляться, как раньше жили без этого.

Прогноз на 2025: локальные LLM станут стандартной частью инструментария разработчика, как сейчас Git. Не заменят облачные, но займут свою нишу - приватную, быструю, независимую. И да, кто-то обязательно запустит модель на Raspberry Pi и будет хвастаться в Twitter.