Pull to refresh
8K+
7
Никита М.@nmrcs

Fullstack-инженер · Архитектор ПО

11
Rating
17
Subscribers
Send message

Подарок брату до $70 к пятнице — как я собрал помощника магазина на локальной 9B-модели

Level of difficultyMedium
Reading time8 min
Reach and readers4.8K

Покупатель пишет в чат магазина «подарок брату, ему 30, любит настолки, до $70». Помощник спрашивает, когда у брата день рождения. Покупатель отвечает, что в пятницу. До пятницы 5 рабочих дней, а по правилам магазина в этом случае на заказ дается скидка 20%. Поэтому в $70 влезли три подарка на $83.99, со скидкой вышло $67.19.

Отвечает покупателю qwen 9B, а сумму, скидку и корзину считает обычный код. Исходники с прогонами лежат в опенсорсе.

Читать далее

Агент поддержки на LLM, который не может забыть сходить за заказом

Level of difficultyMedium
Reading time9 min
Reach and readers5.1K

Первая версия моего агента поддержки в трети ходов не ходила за заказом, а выдумывала его статус. Модель сама решала, когда звать тул, и решала неправильно. В харнесе модель ничего не решает, за данными ходит код, модель вызывается 2 раза, чтобы понять вопрос и написать ответ.

Агентский цикл, где модель решает сама, поднимается за вечер и пропускает тул в 1 ходу из 24. Конвейер для прода не пропускает вызов тула совсем, но роутер и сценарии для него пишет человек. 1000 диалогов на Qwen стоят $0.48, на Opus $30.

Читать далее

Стресс-тест, который отвечает на вопрос бизнеса «а что, если»

Level of difficultyMedium
Reading time5 min
Reach and readers4.5K

Ровно 18 лет назад, 15 сентября 2008 года, обанкротился Lehman Brothers — крупнейшее банкротство в истории США. Банк не использовал стресс-тесты для коммерческой недвижимости, поэтому ответа на вопрос «а что, если офисы и торговые центры обесценятся» у него не было.

Стресс-тест можно сделать не только в банке с отделом риска. «А что, если доставка вырастет на 3 дня», «конкурент снизит цену на 15%», «ставка по ипотеке поднимется на 3 пункта» — на каждый вопрос можно ответить числом.

Код движка и инструкция, как посчитать на своих данных, в опенсорсе.

Читать далее

Ипотечный кризис 2008 через свой риск-движок — в деньгах слом виден на год раньше, чем в ROC-AUC

Level of difficultyMedium
Reading time9 min
Reach and readers5.5K

Модель кредитного риска, обученная на данных до 2009 года, ранжирует займы с ROC-AUC 0.89. Ожидаемые потери портфеля она оценила в 161 млн долларов, реальные составили 546. Увидеть эту ошибку можно было еще в 2007 году, за год до дна ROC-AUC, но не в метриках качества, а взвесив ошибку модели деньгами.

Прогон на 26.5 млн реальных ипотечных записей, метрики против денег. Числа воспроизводятся до последнего разряда — код движка и инструкции в опенсорсе.

Читать далее

Платежи на Stripe — четыре места, где ломаются вебхуки

Reading time8 min
Reach and readers11K


Об оплате Stripe сообщает магазину вебхуком. Вебхук может не пройти проверку подписи, прийти дважды, обогнать предыдущий или не прийти вообще. Для магазина это оплаченный заказ, который висит неоплаченным, два письма покупателю на одну покупку или заказ, который после оплаты откатился назад. Разобрал все 4 случая на магазине с NestJS и React, код открыт на GitHub.

Читать дальше →

Книга рецептов по TradingView charting_library для экономии вашего времени

Reading time9 min
Reach and readers64K


При работе с финансовыми сервисами рано или поздно появится задача подключить профессиональные графики. Это кукбук по charting_library, чтобы вы сэкономили время на моем опыте — лицензия и ее проверки, доступ, данные через JS API и UDF, realtime без WebSocket, цвета, сохранение рисунков, свои линии на графике и грабли, на которые я наступил сам. Кто уже работает с библиотекой — часть кейсов будет новой.


Актуализировано 23.09.2026 — ссылки ведут на открытую документацию, обновлены сигнатура getBars, поле объемов, значения theme и способ кастомизации цветов.

Читать дальше →

Выбираем библиотеку для финансовых графиков

Reading time4 min
Reach and readers27K


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


Статья актуализирована 23.09.2026.

Читать дальше →

Кейс: онлайн-игра на 2000 человек на инстансе за $5

Reading time5 min
Reach and readers1.2K


Собрали онлайн-мероприятие с нуля. Веб-приложение в виде чат-бота, в формате игры. За сутки через него прошло 1904 человека, все на одном инстансе за $5 с 1 GB памяти. На подготовку было 2 недели.

Читать дальше →

Тосты для ванильного JS в 2026 году. Вместо плагина к Noty из 2017 года — своя библиотека на 2.7 КБ

Reading time5 min
Reach and readers17K


В 2017 году эта статья была про Noty и мой плагин к ней для Vue. Noty с тех пор помечена как deprecated, плагин под Vue 2 мертв, статья лежала в черновиках. Вместо правки старого текста написал библиотеку и переписал статью целиком под нее. @mrcs/toastkit это API в стиле sonner без React, ноль зависимостей, 2.7 КБ JS и 2.0 КБ CSS в gzip, и ни одной строки стилей из JavaScript. Попробовать можно на демо.

Читать дальше →

GraphQL-запросы: от простого к сложному

Reading time4 min
Reach and readers77K


Разбор запросов GraphQL от простого к сложному — queries и mutations, аргументы, переменные, вложенные схемы, подписки. С примерами и кодом схемы.

Читать дальше →

Information

Rating
646-th
Registered
Activity

Specialization

Фулстек разработчик, Архитектор программного обеспечения
Старший
TypeScript
Node.js
NestJS
PostgreSQL
Python
SQL
Машинное обучение
React
Apache Kafka
Docker