Pull to refresh
16K+
2
Николай Симонов@simonov_tech

Go Backend Developer / AI

8
Rating
Send message

HTTP-запрос закончился, а LLM ещё работает: как проектировать AI-задачи на Go

Level of difficultyEasy
Reading time13 min
Reach and readers5.3K

Обычный Go backend привык отменять работу вместе с HTTP-запросом. Но если пользователь закрыл вкладку посреди анализа документа, это ещё не означает, что LLM-провайдер прекратил генерацию и расходы. Разбираю, почему для длительных AI-операций недостаточно r.Context(), как организовать фоновые задачи на PostgreSQL и что делать с идемпотентностью, retry и повторными списаниями за API.

Читать далее

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

Level of difficultyEasy
Reading time7 min
Reach and readers5.2K

Structured output решает одну из самых раздражающих проблем LLM-интеграций: модель наконец стабильно возвращает данные в ожидаемом формате. Но валидный JSON ещё не означает правильные данные. Разбираю, где заканчиваются гарантии JSON Schema и как провести границу доверия между LLM и бизнес-логикой Go-сервиса.

Читать далее

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

Level of difficultyEasy
Reading time7 min
Reach and readers6.5K

В обычном backend fallback обычно означает: тот же контракт, другой исполнитель. С LLM всё сложнее — резервная модель может вернуть валидный JSON, но изменить смысл результата. Разбираю, почему retry и fallback нужно разделять, как учитывать деградацию качества и когда честная ошибка лучше «успешного» ответа другой модели.

Читать далее

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

Level of difficultyEasy
Reading time8 min
Reach and readers6.1K

Один интерфейс LLMProvider быстро перестаёт быть достаточным, когда в SaaS появляются разные модели, требования к приватности, fallback, стоимость и observability. Разбираю, как вынести эти решения в отдельный AI Gateway на Go и не размазать AI-логику по всему backend.

Читать далее

Почему юридический AI‑сервис нельзя строить как обычный чат: проектируем case‑first SaaS на Go

Level of difficultyEasy
Reading time9 min
Reach and readers5.8K

Несколько месяцев назад мне понадобилось заключить договор с Леноблводоканалом. Казалось бы, обычная бюрократическая задача: отправил документы, получил ответ, подписал договор. На практике ответа долго не было. Юриста у меня не было. Зато был AI.

Я описал ситуацию, приложил документы и попросил помочь разобраться, какие у меня вообще есть варианты. В результате подготовил две жалобы в УФАС. Через некоторое время история сдвинулась с места, и договор со мной в итоге заключили.

Не хочу делать из этого вывод в духе «ChatGPT заменил юриста». Наоборот. Когда я позже посмотрел на этот процесс уже как backend-разработчик, самым интересным оказалось другое:

обычный чат — довольно плохая архитектура для решения подобных задач.

Именно из этого наблюдения появилась идея небольшого SaaS-проекта.

Читать далее

Information

Rating
832-nd
Registered
Activity

Specialization

Бэкенд разработчик
Ведущий
From 6,000 $
PostgreSQL
SQL
RabbitMQ
gRPC
Высоконагруженные системы
MongoDB
CI/CD
Docker
Linux
Golang