backend.

За пределами вайбкодинга: фундаментальная база программной инженерии

За пределами вайбкодинга: фундаментальная база программной инженерииВ последние пару лет порог входа в разработку изменился навсегда. С появлением Cursor, Claude Code, GitHub Copilot и больших языковых моделей родился феномен «вайбкодинга» (vibe coding): ты набрасываешь мысли в чат на естественном языке, ловишь ощущение потока, нейросеть за секунды генерирует компоненты, скрипты, роуты API — и все это действительно запускается в браузере.

продолжить чтение

Большая фича без бесконечных переделок: Spec driven development с AI, UML, C4 и OpenAPI

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

продолжить чтение

Один мозг на миллион пользователей: чему backend-разработчик может научиться у мозга мухи

продолжить чтение

Почему JSON Schema не делает ответ LLM надёжным

После того как LLM начинает возвращать structured output, интеграция внезапно становится очень похожей на обычный backend.Больше не нужно вырезать JSON из Markdown, надеяться, что модель не добавит перед ним «Конечно, вот результат», чинить потерянные кавычки и повторять запрос из-за случайной запятой.Мы описываем схему, модель возвращает объект, десериализуем его в Go-структуру — и кажется, что самая неприятная часть интеграции закончилась.Например:type Invoice struct { Number string `json:"number"` Currency string `json:"currency"` Total int64 `json:"total"` }На выходе получаем:{ "number": "INV-2026-1842", "currency": "USD", "total": 148000 }JSON валиден.

продолжить чтение

Почему fallback между LLM может сломать семантику ответа

Когда проектируешь обычный backend, fallback обычно воспринимается как довольно понятный механизм.Есть основной upstream. Если он недоступен, переключаемся на резервный. Если один pod умер, запрос обслужит другой. Если один PostgreSQL read replica недоступен, читаем с другой. Если основной endpoint партнёра отвечает ошибкой, можно попробовать резервный.В большинстве таких случаев мы предполагаем, что резервный исполнитель реализует тот же контракт.С LLM это предположение начинает ломаться.Две модели могут принимать один и тот же JSON, возвращать JSON по одной и той же схеме и при этом фактически выполнять задачу по-разному.

продолжить чтение

RuntimeNodes: как мы, ML‑щики, стали писать рантайм

продолжить чтение

Почему LLMProvider недостаточно: проектируем AI Gateway для SaaS на Go

Когда начинаешь делать AI-фичу в backend-приложении, первая архитектурная идея обычно выглядит очень здраво: спрятать конкретного провайдера за интерфейсом.Что-то вроде:type LLMProvider interface { Generate(ctx context.Context, req Request) (Response, error) }Сегодня за ним OpenAI-compatible API, завтра другой провайдер, послезавтра локальная модель. Код бизнес-логики от конкретного SDK не зависит, значит архитектурная задача вроде бы решена.

продолжить чтение

Как AI‑ассистент вырос в production‑систему: путь от NLU к оркестрации и надёжной обработке сообщений

В 2025 году Volga AI Assistant начинался как отдельный Telegram‑бот. Пользователь отправлял сообщение, NLU определял намерение, после чего бот возвращал подготовленный ответ.Архитектура первой версии почти полностью повторяла этот сценарий:

продолжить чтение

Что изучить в начале осени: 34 открытых урока для тех, кто развивает карьеру в IT

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

продолжить чтение

Фронтенд никогда не умрёт

Каждые пять лет я слышу одно и то же: фронтенд больше не нужен, ему остался последний год. Сначала говорили про визуальные конструкторы - Wix, Tilda, все дела. Потом, когда ИИ выстрелил, начали хоронить разработчиков под флагом «AI напишет тебе кнопку за секунду». А сейчас новая мода - фулстекеры. Приходят такие ребята и говорят: «Да зачем нам отдельный фронт, я сам и бэк, и фронт на коленке соберу, проект сэкономит, все будут счастливы».Давай просто выдохнем и разберемся, что на самом деле происходит, без паники и хайпа.

продолжить чтение