Перейти к содержанию
Alexandru Lungu
Как я работаю

Скорость AI и инженерная дисциплина, необходимая для безопасного запуска.

Я использую AI в процессе разработки с 2024 года. Первым проектом, созданным от начала до конца с coding-агентом, стал SocioHR Play в 2025 году на Google Antigravity. Во время разработки Timber Logistic я перешел на Claude Code, а сегодня ежедневно использую Claude Code и OpenAI Codex, подключая Antigravity, когда полезно второе мнение. Агенты работают с теми же инструментами, что и я: git, CLI Firebase и Supabase, а также MCP-серверами для базы данных, браузера и среды публикации.

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

Хронология
2024
Первая работа с AI: Clinica Naturell, клиентский продукт, который я продолжаю поддерживать.
2025
SocioHR Play: первый проект, полностью созданный с coding-агентом на Google Antigravity.
Июн 2026
Timber Logistic: переход на Claude Code; инструкции на уровне репозитория и обязательные проверки становятся стандартом.
Сейчас
Claude Code и Codex ежедневно, Antigravity время от времени. Шесть систем в продакшене, созданных таким способом.

01

Репозиторий содержит собственные инструкции по работе

В каждом проекте есть CLAUDE.md или AGENTS.md: ограничения, которые агент не должен нарушать, команды для проверки изменений и уже принятые решения. NEXT-SESSION.md передает следующей сессии реальное состояние: что опубликовано, что заблокировано и что еще не проверено. Агент, начинающий без контекста, читает эти документы до любых изменений.

Где это видно: В Timber Logistic список задач на день запуска хранится отдельно от backlog, потому что несколько пунктов легко ошибочно принять за завершенные.

02

Результат не принимается на слово агента

В каждом репозитории есть единая проверка: типы, lint, тесты, сборка и аудит зависимостей. CI запускает ее при каждом push. В проектах с базой данных тестируется сама гарантия безопасности: два реальных аккаунта подтверждают, что не могут читать данные друг друга, а демо-аккаунт вызывает функцию удаления и ожидает отказ. Если гарантия важна, существует тест, который громко завершится ошибкой, когда она перестанет выполняться.

Где это видно: FoodBoard: 193 теста. Kinetiq: 34, включая заявленные в README гарантии доступности. Timber Logistic: CI декодирует каждый JWT в bundle и останавливает сборку при обнаружении service key.

03

База данных удерживает границу безопасности

Агенты быстро пишут клиентский код, но достаточно пропустить одно условие фильтрации по владельцу, чтобы открыть данные другого пользователя. Поэтому авторизация находится в политиках Postgres RLS и правилах Firestore. Клиент физически не может сформировать межпользовательский запрос. Такая архитектура позволяет агенту быстро работать с интерфейсом: последствием ошибки станет сломанная страница, а не инцидент безопасности.

Где это видно: Timber Logistic: RLS на всех 20 таблицах, каждое изменение состояния через процедуры SECURITY DEFINER, ни одной общей политики UPDATE.

04

Тесты действительно находят ошибки агента

Два недавних примера. Генератор превью меню сериализовал описание ресторана во встроенный блок JSON-LD, а тест показал, что буквальная строка </script> могла преждевременно закрыть блок. В другом случае кнопка удаления демо-аккаунта была лишь скрыта в шапке, пока тест с реальным вызовом RPC не перенес защиту в функцию базы данных. Обе проблемы были найдены благодаря написанной проверке, а не простому чтению кода.

Где это видно: Оба исправления видны отдельными изменениями в публичной истории FoodBoard, а причины описаны в сообщениях commit.

05

Честность является частью результата

В каждом README есть прямо написанный раздел Known limitations, потому что именно об этих местах стоит спрашивать на техническом интервью. Платежный поток описывался как заблокированный до того дня, когда он заработал. Интервал обновления демо указан в часах. У каждой цифры на сайте есть дата. Скорость AI имеет смысл только тогда, когда получатель может доверять тому, что ему говорят о продукте.

Где это видно: README FoodBoard объясняет, какое архитектурное решение я изменил бы при повторной разработке и почему.

06

Видимость для поисковых и ответных систем выпускается вместе с продуктом

Каждый публичный проект получает техническую SEO- и GEO-оптимизацию, соответствующую его архитектуре. Это индексируемый HTML там, где клиентского рендеринга недостаточно, отдельные заголовки и описания маршрутов, canonical URL, sitemap, правила для роботов, структурированные данные и превью ссылок. Контент организован так, чтобы поисковые системы и AI-системы ответов могли определить продукт, аудиторию, возможности и доказательства, не пытаясь угадать их по JavaScript bundle.

Где это видно: FoodBoard заранее создает отдельную страницу каждого меню с JSON-LD и sitemap. Clinica Naturell пререндерит маршруты услуг. Это портфолио публикует canonical и hreflang-метаданные для английского, румынского и русского языков.

Инструменты

Что действительно используется в работе.

Я еще не создавал собственный MCP-сервер. Я использую MCP-серверы, но пока не выпускал свой.

Агенты
  • Claude Code
  • OpenAI Codex
  • Gemini Antigravity
Подключения
  • Model Context Protocol servers
  • git
  • Firebase CLI
  • Supabase CLI and MCP
  • GitHub Actions
  • headless browser
Разработка
  • TypeScript
  • React 19
  • Vue 3
  • Vite
  • Next.js
  • Tailwind CSS
  • Vitest
  • Vue Test Utils
Данные
  • PostgreSQL - RLS, triggers, pg_cron, SECURITY DEFINER
  • Supabase
  • Firebase - Firestore, Auth, Storage, Functions
  • Cloudinary
Эксплуатация
  • GitHub Actions CI/CD
  • Firebase Hosting
  • Cloudflare - DNS, Email Routing, Turnstile, SPF/DKIM
  • Google Workspace
  • Sentry
  • technical SEO and GEO
  • build-time prerendering
  • JSON-LD and sitemaps
Предметная область
  • Netopia card payments
  • Oblio and e-Factura/ANAF invoicing
  • GDPR and ePrivacy consent
  • EU DSA Article 16
  • MQTT and InfluxDB