СЕРГЕЙ РЕВИН
← Все работы

Собственный продукт · AI в переписке

Bruno: AI находит обещания в ваших чатах и напоминает о них

«Завтра пришлю документы» — и забыл. Bruno подключается к вашему Telegram, AI находит обещания в ваших сообщениях и напоминает о них в боте с кнопками «выполнено» и «отменено». Перед каждой сменой модели или промпта качество проверяется на эталонном наборе фраз.

Как это выглядит

Макеты на демо-данных, без реальных данных

Bruno

Напоминание

Вы обещали Илье: «Завтра пришлю документы»

· Срок: сегодня

[ ✅ Выполнено ] [ ✖ Отменено ]

09:00

Напоминание с кнопками

Коротко

Продукт
Собственный, bruno.nooka.pro
Статус
В проде, подписка в Telegram Stars
Роль
Продукт, архитектура, разработка — один

Результаты

  • 63

    фразы в эталонном наборе: 27 обещаний и 36 «не обещаний», русский и английский

  • 1,0

    precision и recall на эталоне — порог, без которого изменение не выходит

  • 2

    мессенджера: Telegram и Max

🧪Eval-прогоны

МодельФразPrecision / RecallЗадержкаСтоимость
gpt-4o-mini601,0 / 1,0764 мс$0,06
gpt-5.2631,0 / 1,01 203 мс$0,063
Прогоны на эталонном наборе

Как было

  • Обещания раздаются в десятках чатов и теряются в потоке сообщений.
  • Таск-трекер не видит переписку, а переносить каждое «сделаю» вручную никто не будет.
  • AI-распознавание легко сломать сменой модели — и не заметить.

Что построено

Подключение аккаунта

Telegram подключается как полноценный аккаунт через TDLib: телефон, код, двухфакторка или QR. Второй мессенджер — Max.

Поиск обещаний

Ваши сообщения уходят в очередь на разбор, AI решает, обещание ли это и к какому сроку, результат сохраняется в базу.

Напоминания с кнопками

Бот напоминает в Telegram, а обещание закрывается одной кнопкой: выполнено или отменено. Есть выгрузка в Todoist.

Эталонный набор

Каждая смена модели или промпта прогоняется на 63 размеченных фразах: precision, recall, задержка и стоимость. Падение метрик — стоп для выпуска.

Разобрано отдельно →

Стек

  • TypeScript
  • Fastify
  • React + Vite
  • TDLib
  • BullMQ
  • PostgreSQL + Drizzle
  • OpenAI
  • Telegram Bot API
  • Telegram Stars

Вопросы

Bruno читает все мои переписки?

Анализируются ваши сообщения — именно в них живут ваши обещания. Чужие сообщения не разбираются.

Почему precision 1,0 — это не «идеальная точность»?

Это результат на небольшом размеченном наборе. Мы используем его как порог: изменение, которое ухудшает метрики, не выходит. Точность в реальной переписке ниже 100% — и это нормально.

Похожая задача? Напишите — начнём с разбора процессов.

Написать в Telegram