Как я построил систему, внутри которой AI пишет код: личный опыт и архитектура

Введение

Каждый разработчик хотя бы раз мечтал о том, чтобы код писал сам себя. В 2026 году эта мечта стала реальностью — но не в виде волшебной кнопки, а в виде продуманной системы, где нейросети выступают полноценными участниками процесса разработки. Недавно на Habr появился детальный разбор того, как один инженер построил такую систему — и я решил разобрать этот кейс, выделив ключевые архитектурные решения, проблемы и результаты. Источник

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

Проблема: почему AI-кодинг до сих пор не идеален

Главная проблема всех AI-ассистентов для программирования — это отсутствие контекста. ChatGPT, Claude, Gemini и другие модели отлично пишут отдельные функции, но когда дело доходит до целого модуля или приложения, начинаются проблемы:
- AI не видит полную кодовую базу;
- не понимает бизнес-логику;
- не может самостоятельно проверить, что его код работает;
- галлюцинирует (выдумывает несуществующие API или библиотеки).

В итоге разработчик тратит больше времени на проверку и правку AI-кода, чем на написание своего. Это убивает всю ценность автоматизации.

Решение: многоагентная архитектура с обратной связью

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

1. Агент-аналитик

Первым в цепочке стоит агент, который получает описание задачи на естественном языке (например, «сделать форму регистрации с валидацией email и пароля»). Он не пишет код — он анализирует требования, задаёт уточняющие вопросы (через интерфейс или заранее заготовленные шаблоны) и формирует формальную спецификацию: какие сущности нужны, какие эндпоинты, какие проверки.

2. Агент-архитектор

На основе спецификации этот агент создаёт план: структуру файлов, модули, зависимости. Он не пишет реализацию — только скелет приложения. Например, для веб-приложения на Python он сгенерирует файлы main.py, models.py, routes.py, utils.py и пропишет импорты.

3. Агент-кодер

Вот он-то и пишет код. Но не весь сразу, а функция за функцией, класс за классом. Каждый блок кода отправляется на проверку следующему агенту.

4. Агент-тестировщик

Этот агент получает только что написанный код и пытается его запустить в изолированном окружении (например, в Docker-контейнере). Если тесты проходят — код принимается. Если нет — он отправляется обратно агенту-кодеру с описанием ошибки.

5. Агент-рефакторинг

Финальный этап: агент анализирует весь модуль на предмет дублирования, стиля кода, производительности и предлагает улучшения. Человек видит итоговый diff и может принять или отклонить изменения.

Ключевые технологии, которые использовались

Компонент Роль Пример инструмента
LLM-ядро Генерация кода GPT-4o, Claude 3.5 Sonnet
Оркестратор Управление агентами LangChain, CrewAI
Песочница Изолированный запуск кода Docker, Firecracker
Хранилище Версионирование кода Git (через API)
CI/CD Автоматическая интеграция GitHub Actions

Интересно, что автор использовал не одну модель, а комбинировал несколько: для аналитики — GPT-4o (лучше понимает контекст), для кодинга — Claude 3.5 Sonnet (пишет более чистый код), для тестов — специализированную модель, обученную на unit-тестах.

Результаты и цифры

По данным из статьи, система показала следующие результаты (на небольшом pet-проекте — веб-приложение для управления задачами):
- Время разработки MVP: 3 дня вместо 2 недель (ускорение ~4.5x);
- Процент кода, принятого без правок: около 40%;
- Основная причина отклонений — неверное понимание бизнес-требований (агент-аналитик всё ещё не идеален);
- Количество итераций между агентом-кодером и тестировщиком: в среднем 2-3 на функцию.

Важный вывод: система не заменяет разработчика полностью, но берёт на себя рутину — написание boilerplate, простых CRUD-операций, тестов. Разработчик сосредоточен на архитектуре, сложной логике и проверке результатов.

Практические советы по внедрению

Если вы хотите построить нечто подобное, вот что стоит учесть:

  1. Начните с малого. Не пытайтесь автоматизировать весь проект сразу. Выберите один модуль (например, API-эндпоинты или модели базы данных) и настройте цикл «код → тест → исправление».

  2. Используйте песочницу. Никогда не запускайте AI-сгенерированный код в production-окружении. Docker-контейнер с ограничениями по ресурсам — обязательное условие.

  3. Пишите хорошие промпты. Агент-аналитик — самое слабое место. Если вы не можете чётко сформулировать задачу, AI не сможет её решить. Используйте шаблоны промптов и уточняющие вопросы.

  4. Человек в контуре. Полная автоматизация пока недостижима. Каждый этап должен заканчиваться утверждением разработчика. Исключение — только для тривиальных задач (например, генерация документации).

  5. Логируйте всё. Каждый запрос к AI, каждый сгенерированный файл, каждый результат теста — сохраняйте. Это поможет отлаживать систему и улучшать промпты.

Инструменты, которые стоит попробовать

На 2026 год существует несколько готовых фреймворков для построения таких систем:
- LangChain — самый популярный, позволяет легко комбинировать агентов и инструменты;
- CrewAI — специализируется на многоагентных сценариях с ролями;
- AutoGPT — для полностью автономных задач (но требует осторожности);
- OpenAI Codex API — если нужна глубокая кастомизация генерации кода.

Для интеграции с внешними сервисами (например, Telegram для уведомлений о статусе сборки) можно использовать API-шлюзы. ASI Biont поддерживает подключение к Telegram через API — подробнее на asibiont.com/courses.

Заключение

Система, в которой AI пишет код — это не фантастика, а инженерная задача. Как показал разбор на Habr, ключ к успеху — не в одной супер-модели, а в архитектуре, где несколько специализированных агентов работают в цикле с обратной связью. Да, это требует усилий на настройку, но результат (ускорение в 4-5 раз на рутинных задачах) того стоит.

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

Статья написана на основе материала Как я построил систему, внутри которой AI пишет код с Habr.

← Все статьи

Комментарии