Хакатон Мэра МосквыЗадача №9 · ОЭЗ АлабугаЛЦТ 26

Вершина

Симулятор для развития навыков переговоров: ведите текстовый разговор с ИИ-собеседником по сделке, которую сами настроили, — и получайте разбор с метриками и конкретными советами.

Telegram Mini App — работает прямо в мессенджере, без установки

Аудитория и проблема

Навык переговоров рождается только в диалоге

Для специалистов, у которых от переговоров зависит результат: менеджеры по закупкам и продажам, руководители, HR и рекрутеры, основатели. Отдельно — компании и программы обучения, которым нужен тренажёр soft skills без очного тренера.

Мало практики

Ролевая игра с тренером дорогая, её не повторишь в удобный момент, и участник редко получает разбор именно своих формулировок.

Теория не становится навыком

BATNA, интересы сторон, открытые вопросы — без тренировки в живом диалоге остаются лекцией и чек-листом.

Разбора своих слов нет

Разбор чужих кейсов не отвечает на вопрос: что не так было сказано именно вами — и что сказать иначе.

3

ИИ-собеседника

5

ролей пользователя

6

целей переговоров

24

сценария переговоров

9

метрик оценки

Что уже умеет MVP

Сценарии

24 сценария: 5 сфер (закупки, продажи, найм, руководство, фаундер) × 5 целей (размещение заказа, скидка у подрядчика, повышение зарплаты, продление контракта, бюджет проекта) — без пары «фаундер + повышение зарплаты». Плюс свой сценарий с нуля с кастомизированным ИИ-собеседником.

Собеседники

Токсичная CPO, Занятой CEO и свой собеседник — по ручной карточке, из встречи в CogniCo или без карточки (тогда Молчун).

Настройка

Визард из шести шагов: цель, условия сделки, альтернатива, что известно, собеседник, проверка.

Диалог

Текстовый чат, реплики собеседника приходят потоком.

Движок

Зона соглашения, кривые уступок, правила реакции, фазы, лимит ходов, финал сделкой или отказом.

Обратная связь

Девять метрик с зонами и источниками норм, топ-3 зоны роста, разбор «точка разворота» и разбор нарушенных собственных ограничений.

Шаринг

Ссылка на результат со сроком жизни, отзыв, просмотр без входа, расшифровка — только по явному согласию.

Интеграции

CogniCo: каждый пользователь подключает свой кабинет.

Устойчивость

Без ключей модели всё работает на заготовках и эвристике.

Не входит в MVP — вектор развития

  • голосовой режим (распознавание и синтез речи)
  • геймификация: серии, титулы, бейджи, битвы с коллегой
  • дашборд прогресса с трендами — в MVP есть история партий
  • генерация сценария моделью на лету
  • числовая цена альтернативы (BATNA)
  • частичная сделка — согласие по части условий
  • версии для экосистемы «ВКонтакте» и мессенджера Max + адаптивный web-сайт

Уникальность

Тренируйтесь с «цифровым двойником» реального собеседника

УТП — ИИ-персоны на основе паттернов поведения из реальной бизнес-переписки, созвонов и переговоров. Карточку ИИ-собеседника можно собрать из записи встречи в CogniCo и потренироваться перед настоящими переговорами.

Своя сделка, а не чужой кейс

Игрок вводит свои условия: границу, идеал, важность каждого параметра, свою альтернативу. Результат считается по его же линейке, поэтому фраза «вы согласились хуже своей границы» — про него, а не про автора кейса.

Исход зависит от поведения

Уступка без встречного требования, давление, открытый вопрос, ссылка на рыночную цену меняют поведение собеседника по явным правилам. Разные стратегии на одном сценарии дают разный итог.

Разбор результата

Разбор показывает выгодность результата переговоров и 9 метрик — с зонами «плохо / норма / хорошо» и указанием источника нормы.

Сколько угодно попыток

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

Коробочное решение

Универсальная платформа для b2b-интеграций (LMS, CRM) и для b2c-использования. Дальше — свой MCP, чтобы пользователи создавали персоны и сценарии бесед со своим ИИ-ассистентом.

Интеграция с CogniCo

В текущей версии MVP для примера есть интеграция с MCP cognico.ru: карточка собеседника собирается из записи реальной встречи по OAuth.

Геймификация по выбору

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

Как это работает

Решает код, модель только говорит

Главное свойство симулятора: воспроизводится не текст, а исход. Одинаковая стратегия даёт одинаковый результат, потому что его считает код. Формулировки собеседника каждый раз разные, как у живого человека.

Путь пользователя

  1. 1Вход в Mini App
  2. 2«Расскажи о себе»: имя, сферы работы
  3. 3Выбор темы из каталога или свой сценарий
  4. 4Визард: цель · условия сделки · альтернатива · что известно · собеседник · проверка
  5. 5Текстовый созвон
  6. 6Итог: сделка или отказ
  7. 7Разбор: метрики, зоны роста, советы с цитатами
  8. 8Поделитесь результатом-ссылкой с руководителем или коллегой

Как устроен один ход

01

Разметка

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

02

Движок

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

03

Тон

Модель получает уже решённый ход («предложи 3% скидки, возрази про бюджет») и формулирует его в характере персонажа.

04

Страж

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

05

Запись

Реплика уходит потоком, ход пишется в базу атомарно.

Решает код, модель только говорит: числа сделки задаёт движок, а не модель.

Формулировки меняют исход

Поведение игрокаРеакция собеседника
Две уступки подряд без встречного требованияУжесточается: уступает медленнее
Ссылка на объективный критерий по условиюУступает по этому условию больше
Открытый вопрос по скрытому фактуФакт раскрывается, открывается обмен
Давление, ультиматумЭскалирует; жёсткий собеседник может уйти
Убедительное упоминание своей альтернативыУступает больше
Реплика не по темеВозвращает к предмету, числа из неё в торг не идут

Каждое срабатывание пишется в журнал с номером хода и сдвигом выгоды — из него собирается разбор.

Настройка под контекст

Контекст симуляции задаётся в визарде — игрок сам администратор своей тренировки. Отдельной админки нет сознательно: тренажёр self-service, человек настраивает разговор под свою реальную ситуацию без посредника.

НастройкаЧто меняет
Сфера и темаСценарий, стороны стола, набор условий
Условия: идеал, граница, важностьЗону соглашения, выгоду, метрики исхода
Альтернатива словамиРаспознавание упоминаний альтернативы
Собственные ограниченияРазбор отмечает реплики, где игрок их нарушил
Заметка о собеседнике (свой сценарий)Контекст, в котором собеседник говорит
СобеседникХарактер, кривую уступок, манеру речи
Жёсткость своего собеседника (0–1)Скорость уступок

Сценарий и сделка

Сценарий — это контекст, роли, скрытые факты собеседника и от двух до четырёх условий торга. Условия выбираются из справочника из 13 типов (в зависимости от сферы): цена, скидка, объём, срок оплаты, срок поставки, срок контракта, гарантия, время реакции, бюджет, ставки в команде, зарплата, премия, срок пересмотра. По каждому условию игрок задаёт идеал, границу и важность. Выгода сделки — взвешенная сумма значений, нормированных между границей и идеалом.

Сторону собеседника вычисляет код из условий игрока: граница собеседника ставится внутрь диапазона игрока, зона соглашения — около трети диапазона; важность условий у собеседника намеренно отличается, поэтому выгоден обмен — уступить там, где дёшево себе и дорого ему. Проверяется, что существует сделка лучше альтернативы для обеих сторон. Так скрытые интересы собеседника становятся не декорацией, а асимметрией весов: правильный вопрос вскрывает, что для него важнее, и открывает выгодный обмен.

Фазы, ветвление и финалы

Переходы фаз — по условиям, а не по желанию модели: открытие → исследование → торг → закрытие. Собеседник уступает по кривой, зависящей от времени и характера: Токсичный CPO держится и уступает поздно, Занятой CEO нетерпелив. Поэтому сдаться на третьей реплике или тянуть бесконечно не получится.

Ветвление — это комбинация правил реакции: разные стратегии уводят партию по разным траекториям. Финалы:

  • Сделка — предложения сошлись по всем условиям, игрок подтверждает итоговые условия на карточке.
  • Отказ — собеседник ушёл, игрок ушёл сам, отклонил итоговые условия на последнем ходу или кончились ходы.

Собеседник из встречи CogniCo

Пользователь подключает свой кабинет CogniCo по OAuth, выбирает запись встречи и человека. Модель получает только реплики этого человека и саммари встречи и заполняет закрытую карточку: имя, роль, форма обращения, длина реплик, формальность, жёсткость, черты манеры, характерные фразы. Пользователь проверяет карточку перед сохранением. Токены CogniCo хранятся в базе зашифрованными.

Обратная связь

9 метрик и разбор с цитатами

Все метрики считаются из журнала ходов и состояния движка. У каждой метрики поведения и речи есть зоны «плохо / норма / хорошо» и указан источник нормы — исследование, практика или экспертная оценка. Метрики исхода меряются линейкой самого игрока.

Исход

итог сделки (доля доступной зоны соглашения), выигрыш над альтернативой, соблюдение своей границы

Поведение

дисциплина уступок, реакция на возражения, выяснение скрытых фактов, опора на внешние основания

Речь

доля открытых вопросов, слова-паразиты

Точка разворота

Ход, после которого переговоры сильнее всего сдвинулись, — с цитатой реплики и тем, что сказать иначе.

Нарушенное ограничение

Первая реплика, где игрок вышел за ограничение, которое сам указал в визарде.

Топ-3 зоны роста

Метрики, сильнее всего отстающие от нормы, с конкретными советами.

Интерфейс

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

Реальные экраны Mini App: настройка сценария, результат сделки, разбор с метриками, прогресс и бейджи.

Визард настройки: выбор собеседника, шаг 5 из 6
Визард настройки: выбор собеседника, шаг 5 из 6
Ход переговоров: результат сделки на маршруте к вершине
Ход переговоров: результат сделки на маршруте к вершине
Разбор: итоговый балл, 9 метрик и топ-3 зоны роста
Разбор: итоговый балл, 9 метрик и топ-3 зоны роста
Прогресс: серия дней, звонки и итоговый балл
Прогресс: серия дней, звонки и итоговый балл
Геймификация: бейдж «Скалозавр» за выдержанную границу
Геймификация: бейдж «Скалозавр» за выдержанную границу

Архитектура

Как устроено решение

Mini App на Vue 3 общается по HTTPS с бэкендом на FastAPI — реплики приходят потоком SSE. Модели вынесены в переходник на Deno Deploy, карточка собеседника собирается из CogniCo по MCP. Всё на одном сервере в Яндекс.Облаке.

Игрок

веб-приложение в браузере (Mini App на Vue 3)

Жюри по ссылке

разбор партии без входа

Caddy

HTTPS, сертификат Let's Encrypt, статика фронта, /api → бэкенд

Бэкенд · FastAPI

движок переговоров и страж реплик, метрики, разбор, поток реплик

Groq через переходник на Deno Deploy

qwen3.8 · gpt-oss; резерв — Cloudflare Workers AI, без моделей — заготовки

CogniCo · MCP

свой кабинет пользователя по OAuth 2.1 + PKCE

PostgreSQL 18 и content/

партии, ходы, разборы; сценарии, персонажи, пороги — YAML

Слои бэкенда

backend/arena/domain/правила: сделка, зона соглашения, кривые уступок, фазы, разметка, страж, метрики. Ни базы, ни HTTP
backend/arena/application/операции: аккаунт, каталог, переговоры, тон модели, разметка, разбор, CogniCo
backend/arena/api/эндпоинты, формы запросов и ответов, коды ошибок
backend/arena/infrastructure/база, загрузка content/, провайдеры моделей, клиент CogniCo
backend/migrations/миграции Alembic
content/сценарии, персонажи, пороги метрик, тексты разборов (YAML)
deploy/настройка сервера и выкладка
proxy/переходник к Groq

Модели по задачам

У каждой задачи своя модель со своим лимитом бесплатного Groq. Если модель не ответила, запрос уходит следующей в цепочке, затем в Cloudflare Workers AI, затем в заготовки — игра не прерывается.

Реплики собеседникаqwen/qwen3.8-27b
Разметка реплик игрокаopenai/gpt-oss-120b
Карточка собеседника из встречиopenai/gpt-oss-20b

Безопасность

Вход из Mini App — по подписи initData токеном бота (HMAC-SHA256, срок — сутки), один пользователь Telegram — один аккаунт; пароли — argon2id; токены сессий хранятся только хешами; лимиты попыток входа; токены CogniCo зашифрованы (Fernet); ключ Groq лежит только в секретах переходника, сервер знает лишь токен доступа к переходнику. Контракт API — docs/api-contract.md, живая документация — /docs на запущенном бэкенде.

Технологический стек

Бэкенд

Python 3.12, FastAPI, pydantic, SQLAlchemy 2, Alembic, psycopg 3, httpx, argon2-cffi, cryptography, PyYAML, uvicorn, pytest

Фронтенд

Mini App — Vue 3 (Composition API), TypeScript, Pinia, Vue Router, Vite, pnpm, Telegram Mini Apps

Данные

PostgreSQL 18; сценарии и персонажи — YAML в репозитории

Модели

Groq: qwen3.8-27b — речь, gpt-oss-120b — разметка, gpt-oss-20b — импорт

Устойчивость

резерв Cloudflare Workers AI; без моделей говорят заготовки

Доступ к моделям

переходник на Deno Deploy с токеном, регион Амстердам

Интеграции

CogniCo по MCP, OAuth 2.1 + PKCE, токены зашифрованы

Безопасность

argon2id, в базе только хеши токенов, лимиты входа

Инфраструктура

Яндекс.Облако, Caddy, systemd, бэкапы, CI на GitHub Actions

Методы переговоров: Гарвардский метод (интересы вместо позиций, объективные критерии, BATNA), условные уступки, открытые вопросы. Нормы метрик взяты из исследований и практики, источник указан у каждой в content/thresholds.yaml.

Геймификация

Слой, который включаете вы — не мы

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

Коллекция «Покорённые вершины» — 5 бейджей

1

Верхолаз

Прогресс прохождений: 2 / 90.

2

Камнегрыз

«Отреагировал на все возражения» — за партию, где игрок ответил на все возражения собеседника.

3

Скалозавр

«Не согласился на невыгодные условия под давлением» — если игрок не принял условия ниже своей границы под давлением или ультиматумом.

4

Вершиноид

Прогресс по скрытым фактам: 2 / 5.

5

Царь горы

Прогресс по трём ключевым достижениям: 1 / 3.

Закрытые бейджи показываются знаком вопроса и прогрессом, открытые — иллюстрацией и описанием. В шаринге результата бейджи видны только при включённой геймификации.

План развития

Ближайшие два месяца: B2C и B2B параллельно

Октябрь–ноябрь 2026

B2C

  • Регистрация в Telegram Apps + партнёрки с ИТ-сообществами и сообществами продажников, стартаперов, университетов — привлечь первых пользователей и отладить CJM и сценарии переговоров.
  • Версии мини-аппов для ВКонтакте и мессенджера Max, продолжаем партнёриться + органический поисковой трафик из TG, VK, Max.

B2B

  • Свой MCP для LMS и CRM.
  • Глубокий custdev для корректировки сценариев переговоров и фичей (надо ли голосовые созвоны?).
  • Поиск пилотов с интеграторами CRM, пользователями CRM и LMS.

Известные ограничения

  • Интерфейс рассчитан на телефон: в браузере на компьютере открывается в узкой колонке.
  • Альтернатива без числа: «выигрыш над альтернативой» пока пропорционален итогу сделки.
  • Узкий коридор завышает итог — по итогу сделки людей нельзя сравнивать между собой.
  • Лимиты бесплатного Groq: при исчерпании собеседник переходит на резерв и заготовки, игра не прерывается.

Команда

Пять человек, которые поднялись на эту вершину вместе

До конкурса мы не были знакомы. Капитан собирала команду по ИТ-сообществам и в профессиональной соцсети «Сетка». Так вместе оказались Янина, Маргарита, Анна и две Анастасии.

Янина Шкуропат

Янина Шкуропат

Product Manager / Product Marketing Manager

6+ лет в запуске и росте b2c-продуктов: dating-приложения (Loveplanet, 4 digital-продукта iOS/Android/web), EdTech (LMS-платформы в REBRAIN), FinTech-экосистема с нуля (BIND Holding, ОАЭ).

Любит продукт на стыке Discovery и Data, сама проводит CustDev, собирает воронки и визуализирует в Datalens, знает немного Python. Дополнительно преподаёт английский для ИТ-специалистов @it_english_spb и пишет про тренды в ИТ.

Маргарита Рубин

Маргарита Рубин

Фуллстек-разработчица

3+ года опыта: Go/Python/C#, PostgreSQL, Docker, Kafka на бэке, JS+React на фронте. Главный фокус сейчас — интеграция AI в привычные процессы разработки и создание full-cycle агентных систем.

В прошлом помогала развивать стартап хостинг-сервиса, где отвечала за архитектуру и разработку. Сейчас ищет возможности для запуска собственных B2C-продуктов: то, что создаётся «для людей», ближе и интереснее всего — что подтверждает широкий опыт участия в волонтёрских технических проектах.

Анастасия Ярош

Анастасия Ярош

Фронтенд-разработчица

Около 4 лет опыта. Стек: Vue, React, Next, Astro, TS, JS, HTML, CSS. Участие как в коммерческих проектах, так и в волонтёрской разработке.

Профессиональные интересы: оптимизация, производительность, UX/UI, польза юзерам, опенсорс. Использовала ИИ для прототипирования, ресерча и сбора требований, написания документации. Дважды была членом ПК конференции сообщества тестировщиц QA Sisters, участвовала как ментор в международной программе Women in Tech, участвовала в международном хакатоне Vue.js Forge в 2022 году.

Внесла предложение в правила ESLint для CSS — его приняли. Контрибьютор опенсорного веб-справочника Дока, участвовала в официальном переводе документации Vue на русский язык.

Анна Кашицына

Анна Кашицына

UX/UI-дизайнер

3+ года опыта в UX/UI-дизайне веб- и мобильных продуктов: UX Research, JTBD, User Flow, прототипирование, UI и дизайн-системы. Работала в крупной топливной компании и стажировалась в Студии Олега Чулакова.

В проектах занимается всем циклом работы над интерфейсом: от исследований, интервью и проверки гипотез до прототипов, UI и дизайн-систем. Сейчас особенно интересуется продуктовыми задачами и тем, как с помощью AI быстрее исследовать, находить идеи и собирать сильные концепции. Развивает собственные продуктовые кейсы и ищет проекты, где можно соединить сильный UX, выразительный визуал и реальную пользу для людей.

Анастасия Дементьева

Анастасия Дементьева

Product / UX/UI Designer

2+ года в UX/UI и продуктовой разработке: iGaming, fintech, e-commerce и digital-продукты. Проектирует web и mobile-интерфейсы: от исследования задачи и пользовательских сценариев до прототипирования, UI и передачи решений в разработку.

Сильна в структурировании сложных задач, анализе конкурентов и пользовательских сценариев. Любит разбираться в логике продукта, находить точки улучшения и превращать идеи в понятные пользовательские решения. Есть опыт работы в кросс-функциональных командах с PM, BA, разработчиками и QA, умеет аргументировать дизайн-решения и быстро собирать прототипы для проверки гипотез.

История команды

До конкурса мы не были знакомы. Капитан собирала команду по ИТ-сообществам и в профессиональной соцсети «Сетка». Так вместе оказались Янина, Маргарита, Анна и две Анастасии. Общих хакатонов и проектов у нас не было, зато есть общая ситуация: все мы сейчас в поиске работы. Есть у команды и забавное совпадение — фамилии первых трёх участниц не склоняются, и мы в шутку хотели назвать команду «Несклоняемые». В конкурсе хотим получить новый кейс и из MVP сделать успешный b2b-продукт.

Что было самым сложным

Самым сложным оказалось не написать рабочий код, а вовремя остановиться. Времени мало, а хотелок пользователей на основе минимального custdev много, поэтому скоуп MVP пришлось резать несколько раз. Отдельная задача — модерация в официальной экосистеме Telegram Apps: мы понимали, что пройти модерацию до сдачи MVP не успеваем, как и сделать версии приложения для «ВКонтакте» и мессенджера «Макс».

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

Приглашаем на восхождение

Проверьте свои переговоры на «Вершине» — прямо сейчас, прямо в Telegram

Один сценарий занимает 5–7 минут. Выберите сделку, настройте условия и поговорите с ИИ-собеседником — а потом посмотрите разбор своих переговоров. Второй проход с другой тактикой покажет другой итог.

Сценарий на 5–7 минут

  1. 1Представьтесь — введите имя.
  2. 2«Новые переговоры» → «Скидка у подрядчика». Визард откроется с заполненными условиями: впишите цель, пролистайте условия, при желании поменяйте границу или идеал.
  3. 3Выберите собеседника — например, Токсичного CPO.
  4. 4Проведите разговор. Чтобы увидеть, как реагирует движок: спросите открытым вопросом о ситуации собеседника, сослитесь на рыночную цену или уступить два раза подряд, ничего не попросив взамен.
  5. 5Подтвердите итоговые условия, когда собеседник их предложит, или завершите переговоры крестиком в шапке чата.
  6. 6Посмотрите разбор: метрики, зоны роста, точку разворота с цитатой.
  7. 7Поделитесь результатом и откройте ссылку в браузере — разбор виден без входа.

Работает на телефоне в Telegram, в Telegram Desktop и web.telegram.org. Есть и браузерная версия: proud-camel-9879.sikamor24.deno.net/arena (возможны незначительные отличия функционала).