Всем привет! Мне 34, из них больше десяти лет я в коммерческой разработке. Примерно столько же я женат на Катюше. За это время мы прошли через всё: от внезапныхВсем привет! Мне 34, из них больше десяти лет я в коммерческой разработке. Примерно столько же я женат на Катюше. За это время мы прошли через всё: от внезапных

Как я на 8 марта написал AI-Wish-лист по книге «Пять языков любви» — и автоматизировал романтику

2026/03/07 11:30
6м. чтение
Для обратной связи или замечаний по поводу данного контента, свяжитесь с нами по адресу crypto.news@mexc.com
ab8d70ba08111cece689c7ca032ce581.gif

Всем привет! Мне 34, из них больше десяти лет я в коммерческой разработке. Примерно столько же я женат на Катюше. За это время мы прошли через всё: от внезапных сюрпризов, которые категорически «не зашли» (самый эпичный фейл — подаренная мной картина-портрет, о которой Катюша очень тактично промолчала, но по её взгляду я всё понял), до прагматичных, но до боли скучных списков в телефонных заметках или капитуляции в духе: «милая, вот деньги, купи себе что-нибудь сама».

Каждый год 7 марта(и ещё ~5 дат) я ловил себя на мысли, что стою в торговом центре с пустым взглядом. Цветы — клише. Очередной айфон — отлично, но в году ещё ~5 праздников, так часто новые модели не выходят.

В этом году я решил подойти к проблеме не как муж в панике, а как программист. Я прочитал книгу Гэри Чепмена «Пять языков любви», поймал пару инсайтов и... пошел кодить идеальный вишлист.


Пять языков любви: почему мы промахиваемся с подарками

Если вы не читали Чепмена, вот суть системы: у каждого человека есть основной язык любви — канал, через который он чувствует заботу:

  1. Слова поощрения — «я горжусь тобой», «ты молодец».

  2. Время вдвоём — быть рядом, без телефонов и рабочих чатов.

  3. Подарки — фокус не на цене, а на факте «он обо мне подумал».

  4. Акты помощи — забрал из садика, приготовил ужин, починил кран.

  5. Прикосновения — объятия, тактильный контакт.

483b5fa577da9a15ff0f19f407aa3a84.jpg

Самая важная мысль книги: мы выражаем любовь на СВОЁМ языке, а не на языке партнёра. Мой язык любви — «Прикосновения» и «Время вдвоём».

Язык Катюши — «Слова», «Подарки» и тоже «Время вдвоём». Десять лет я мог вкладывать ресурс во что-то одно, в то время как её «эмоциональный бак» (термин Чепмена) требовал совершенно другого топлива.

Проблема в том, что сказать партнёру: «Мне нужны прикосновения, а не твои подарки» — неловко. Идея родилась мгновенно: нужен сервис, который выступит переводчиком. Она проходит короткий тест, выбирает свой язык любви и конкретные хотелки. ИИ генерирует персональную «инструкцию к сердцу» и отправляет ссылку мне. Я прохожу свой тест, а под капотом ИИ сравнивает профили и выдает план на 8 марта.

Сервис Wish-лист на основе книги "Пять языков любви"
Сервис Wish-лист на основе книги "Пять языков любви"

Стек: Flask + Vanilla JS + DeepSeek

Выбор стека был максимально прагматичным — у меня была ровно одна неделя до праздника.

  • Бэкенд: Flask + MySQL + SQLAlchemy. Скучно, надежно, пуленепробиваемо. Flask — это pip install, один файл, и API готово.

  • Фронтенд: Vanilla JS. Никакого React, Vue или даже jQuery. Один файл app.js на 675 строк. В 2025 году это звучит как дичь, но аргументацию я приведу ниже.

  • ИИ: DeepSeek API. OpenAI-совместимый, дешевый, быстрый. Для генерации коротких русскоязычных текстов — идеален.

  • Визуал: Внешний API с классическими картинками в стиле вкладышей «Love Is...» для создания нужного настроения.

Формирование и отправка wish-листа
Формирование и отправка wish-листа

Модель данных: два потока, одна пара

Ключевая мысль — в сервисе два потока: Её и Его. Они связываются через уникальный короткий код (чтобы ссылки выглядели по-человечески, например /r/a3f2b1c7).

def short_uuid(): return uuid.uuid4().hex[:8] class QuizResult(db.Model): unique_code = db.Column( db.String(36), unique=True, nullable=False, default=short_uuid ) love_language = db.Column(db.String(200), nullable=False) # через запятую, если несколько attachment_type = db.Column(db.String(50), nullable=False) ai_text = db.Column(db.Text, nullable=True) wishes = db.Column(db.Text, nullable=True) # JSON-массив желаний is_partner = db.Column(db.Boolean, default=False)

Обратите внимание на love_language — это String(200). В реальности у человека редко бывает только один язык любви (у нас с Катей их по несколько). Я разрешил множественный выбор, сохраняя данные через запятую. Да, M2M-связь была бы академически правильнее, но для MVP работает и так.

Вторая модель — PairMatch — связывает два результата и хранит сгенерированный план:

class PairMatch(db.Model): her_result_id = db.Column(db.Integer, db.ForeignKey("quiz_results.id"), nullable=False) his_result_id = db.Column(db.Integer, db.ForeignKey("quiz_results.id"), nullable=False) match_plan = db.Column(db.Text, nullable=True) # Сгенерированный план на 8 марта

Prompt engineering: заставляем ИИ писать «Love is...»

Самая веселая часть — промпты. Я переписывал их десяток раз. Первая версия от ИИ звучала как диагноз: «Love is... когда партнёр учитывает ваш избегающий тип привязанности». Спасибо, но мы тут 8 марта празднуем, а не на терапии сидим.

Финальный промпт для карточек:

response = client.chat.completions.create( model="deepseek-chat", messages=[ { "role": "system", "content": ( "Ты — остроумный и дерзкий копирайтер. Пишешь тёплые, но с перчинкой " "фразы в стиле стикеров «Love is...». Без занудства, без психологических " "терминов. Только живой русский язык. Максимум 2 предложения." ), }, { "role": "user", "content": ( f"Язык любви человека: {ll_ru}.\n" f"Тип привязанности: {at_ru}.\n\n" f"Напиши одну фразу в формате «Love is... [конкретное действие партнёра]».\n" f"Фраза должна учитывать оба параметра. Будь конкретной, с юмором. " f"Не используй слова: триггер, паттерн, привязанность, когнитивный.\n" f"Пример: «Love is... написать ей первым в 10 утра, чтобы она не успела накрутить себя.»" ), }, ], temperature=0.9, max_tokens=200, )

Ключевые хаки:

  1. Стоп-слова. LLM обожают психологический жаргон. Пришлось жестко забанить «триггеры» и «паттерны».

  2. temperature=0.9. Для лирики нужен рандом. На 0.3 модель выдает скучные штампы.

  3. Пример в промпте. Без него ИИ льет воду («проявлять любовь через коммуникацию»). С примером дает конкретику («написать первым в 10 утра»).

Парный матчинг: не перепутай ЕЁ и ЕГО

Когда я перехожу по ссылке от жены, я попадаю на Gate Screen. Прохожу свой мини-тест, и тут магия ИИ собирает нам план на вечер.

Здесь всплыла забавная бага: ИИ в 30% случаев путал профили и писал, что «Его язык любви — Подарки», хотя это был язык Катюши.

Пришлось добавить в системный промпт капсом:

Ошибка упала до 5%. ИИ получает массив конкретных желаний жены (например, «ужин в ресторане» и «новые кроссовки») и строит план вокруг них, учитывая мой язык любви (например, предлагая мне подарить кроссовки во время долгой пешей прогулки — комбо!).

Я использовал грязный хак с маркером ===PLAN=== для разделения вывода на анализ совместимости и сам список действий. Для двух текстовых блоков настраивать строгий JSON mode было оверкиллом.

Вместо итогов: что я понял за эту неделю

  1. Про отношения. Катюша прошла тест первой. Выбрала «Слова» и «Подарки». В конкретных желаниях (которые подтягивались динамически из JS) отметила не вещи, а «Письмо от руки» и «Мастер-класс по керамике вместе». Я 10 лет пытался удивить её вещами, а ей нужны были эмоции и контекст.

  2. Про разработку. MVP за неделю — это реально, если отсечь инфраструктурный жир. Vanilla JS для микро-SPA — это нормально. DeepSeek — шикарная и дешевая альтернатива OpenAI для ру-сегмента (переезд занял ровно одну строку — замену base_url).

  3. Про результаты. Когда я прошел тест вторым, ИИ выдал нам идеальный сценарий выходного. Катя прочитала и с улыбкой сказала: «Ну вот, нейросеть поняла меня быстрее, чем ты за 10 лет. Но закодил-то её ты!».

Гэри Чепмен написал свою книгу в 1992 году. С тех пор мы изобрели нейросети, написали миллионы строк кода, но до сих пор с трудом читаем мысли самых близких людей. Если мой код помог хотя бы одной паре (нам) нормально поговорить о желаниях — значит, сервер крутится не зря.


А теперь вопросы к Вам:

  • А вы знаете языки любви (свои и партнера)?

  • Как решаете проблему подарков, когда вместе уже целую вечность?

  • Vanilla JS vs фреймворки для weekend-project — на чьей вы стороне в 2025 году?

Буду рад обсудить в комментариях! И с наступающим праздником всех причастных!

PS: При разработке сервиса консультировался с хорошей знакомой, увлекающейся психологией, сервис доступен по ссылке https://wish.inevskaya-ai.ru/
Анимация - ссылка на стикерпак https://t.me/addstickers/GumLoveIs

Стикерпак https://t.me/addstickers/GumLoveIs
Стикерпак https://t.me/addstickers/GumLoveIs

Источник

Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу crypto.news@mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.

Вам также может быть интересно

На что обратить внимание и как выбрать агентство цифрового маркетинга

На что обратить внимание и как выбрать агентство цифрового маркетинга

Введение Люди обычно не ищут StuartKerrs.com просто так. Часто это начинается с небольшого толчка возможно, бизнесу нужна большая видимость в интернете,
Поделиться
Techbullion2026/03/07 16:02
Устранение проблем с задержкой и качеством USB и 3,5 мм аудиоустройств ввода в Windows

Устранение проблем с задержкой и качеством USB и 3,5 мм аудиоустройств ввода в Windows

Если у вас возникли проблемы со звуком на компьютере с Windows, переключение между USB и 3,5 мм устройствами может помочь. USB-аудио часто имеет более высокую задержку из-за цифровой обработки
Поделиться
Techbullion2026/03/07 15:57
Анализ цены Ethereum (ETH): киты активизируют покупки на фоне взрывного роста спроса на стейкинг в сети

Анализ цены Ethereum (ETH): киты активизируют покупки на фоне взрывного роста спроса на стейкинг в сети

Ethereum (ETH) торгуется около $2 000, пока киты накапливают, очередь на стейкинг достигает 3,4 млн ETH, ETF фиксируют отток $90 млн, а Виталик предлагает обновление Minimmit. Публикация Ethereum
Поделиться
Blockonomi2026/03/07 16:14