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

Меня зовут Степан Мартьянов, я SRE-инженер: дежурства, инциденты, разборы, вечный вопрос «как сказать команде то, что не хочется говорить». А вне работы — музыка, искусство, творческие проекты, где переговоров не меньше: соавторство, границы «что моё/что наше», деньги за чужую идею, договорённости с людьми, которые куда артистичнее меня в уходе от прямых ответов. И там, и там я заметил одно и то же: подводит не незнание слов, а состояние. Поэтому этот текст — о том, как разговор с ИИ превратить в тренировку, а не в успокоительное.

Толчком стал материал блога StudyAI о том, как Claude помогает подготовиться к страшному разговору. Он хорошо отвечает на вопрос «как попросить модель сыграть собеседника». Мне стало интересно продолжение: что нужно добавить к такой репетиции, чтобы она превратилась в тренировку — не разовый прогон, а повторяемый цикл с обратной связью? История этого эксперимента постепенно выросла в тренажёр сложных разговоров AgonArena — сначала в Telegram, теперь и на iOS. О нём тоже будет ниже, с честной пометкой, где заканчивается разбор и начинается мой продукт.

Зачем репетировать вообще

В трудном разговоре часто подводит не незнание слов, а состояние: страх, обида, спешка. Под их давлением вы либо сдаётесь на первом «нет», либо переходите на личности. Репетиция решает две задачи:

  • Снизить цену ошибки. В репетиции провал бесплатен: можно проиграть спор десять раз и на одиннадцатый зайти иначе.

  • Услышать свои шаблоны. Со стороны видно, что вы оправдываетесь там, где надо торговаться, и торгуетесь там, где надо слушать.

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

Что работает в свободной ролевой беседе

Если просто попросить модель «сыграть собеседника», польза есть, и честная статья обязана это признать:

  • Подбор формулировок. Можно перебрать пять вариантов одной фразы и выбрать тот, который звучит как вы — только спокойнее. Например, вместо «ну я не знаю, мне кажется, пора бы…» — «Я хочу обсудить пересмотр компенсации. Когда вам удобно?»

  • Заготовка контраргументов. Модель неплохо генерирует типовые возражения — к ним можно подготовить ответы заранее.

  • Снижение напряжения. Вы идёте в разговор, который уже один раз «видели», а не вслепую.

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

Где свободная беседа ломается

1. Оппонент сдаётся. Модели настроены быть приятными — это свойство измерялось отдельно, у него даже есть имя: sycophancy. Попросите «начальника» не давать прибавку — и он часто смягчается после пары сильных аргументов, если специально не запретить ему уступать. Реальный собеседник — заказчик, соавтор, продюсер — может оказаться значительно менее сговорчивым. Вы тренируетесь против соперника, который поддаётся, и выходите с завышенной уверенностью: такая тренировка закрепляет иллюзию готовности, а не навык.

2. Нет структуры и давления. Живой разговор ограничен временем и повесткой. Свободный чат, если рамку не задать, растекается: обсудили, пожаловались, разошлись. Без раундов и таймера почти не тренируется главное — держать линию под давлением.

3. Нет оценки. На «как я справился?» модель скорее ответит поддержкой: «Отлично, попробуйте ещё». Похвала просто недиагностична. Без баллов и конкретных ошибок трудно понять, растёте вы или закрепляете плохое.

4. Нет смены перспективы. Один из самых полезных приёмов — сыграть за другую сторону и услышать свои аргументы с той стороны стола. В свободной беседе о нём надо помнить самому — обычно не вспоминают.

5. Нет тренировочной истории. Память — это ещё не тренировка. Нет сопоставимых оценок, одинаковых критериев от прогона к прогону и сравнения «этот раз против прошлого» — нет и ответа, становится лучше или повторяется одно и то же.

Что превращает ролевой чат в тренировочный цикл

Не претендую на единственно верную методику, но набор получается примерно такой:

  1. Сценарий с интересами сторон. Не «начальник вообще», а конкретная ситуация: цели, ограничения, точка конфликта.

  2. Оппонент, который сопротивляется всерьёз. Давит, спорит, уступает неохотно; уровень жёсткости можно выбрать.

  3. Смена ролей. Вы проигрываете позицию второй стороны и слышите свои же аргументы оттуда.

  4. Независимое судейство. Оценка не от оппонента, который «в игре», а от судей с разными ракурсами: экономика, справедливость, отношения.

  5. Счёт и повтор. Цифра, за которой конкретика: где слились, где давили зря, где недоторговались. И следующий прогон, с которым есть что сравнить.

Как это устроено в AgonArena

Сразу обозначу интерес: дальше начинается мой продукт, и я постараюсь описать только механику, без оценки собственной крутости; насколько AgonArena отвечает списку выше — решайте сами.

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

  • ИИ-соперник — не читает монолог, а спорит и давит; жёсткость выбирается до старта: лёгкая, обычная или жёсткая — от сговорчивого собеседника до переговорщика, который уступает только по делу.

  • Трое судей с разными ракурсами: собственник смотрит на устойчивость и экономику, команда — на справедливость и выполнимость, переговорщик — на прогресс и отношения. Каждый ставит оценку от 1 до 5 и объясняет её.

  • Разбор и прогресс — после поединка: что сработало, где вы уступили слишком рано, какие ошибки повторяются.

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

  • «База переговоров» — программа из пяти уроков с практикой на реальных ситуациях.

Сегодня AgonArena живёт в двух местах: Telegram-бот — основной и самый зрелый, и iOS-приложение — открытая бета.

Поединок в iOS-приложении
Поединок в iOS-приложении

Поединок с ИИ-соперником в iOS-приложении AgonArena.

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

Честная оговорка: модель не воспроизводит вашего конкретного начальника. Она воспроизводит давление — то, чего в свободном чате обычно как раз не хватает.

Как это сделано: короткая инженерная заметка

AgonArena — небольшой проект, но архитектурно я стараюсь строить его как полноценный production-сервис: с явной моделью состояний, контролем конкурентных операций, наблюдаемостью и воспроизводимыми тестами.

  • Единый backend для Telegram и iOS. Telegram-бот и мобильное приложение используют один backend, общую базу данных и единый сервисный слой. Telegram взаимодействует с системой через webhook, а iOS-клиент — через REST API. Это позволяет не дублировать логику поединков, судейства и ограничений между двумя клиентами.

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

  • Rate limiting на уровне API. Пользовательские операции ограничиваются по скользящему временному окну. При превышении лимита API возвращает HTTP 429 и заголовок Retry-After, а клиент показывает, когда действие можно повторить. Отдельные бюджетные ограничения контролируют количество поединков и запросов на распознавание речи.

  • Конечный автомат поединка. Жизненный цикл поединка описан явными состояниями и допустимыми переходами. Изменение состояния выполняется условным UPDATE по принципу compare-and-set, поэтому два параллельных процесса не могут независимо завершить один и тот же раунд. Фоновый процесс обнаруживает и восстанавливает поединки, остановившиеся в промежуточном состоянии.

  • Идемпотентная финализация. Завершить поединок могут несколько источников: действие пользователя, серверный таймер, Telegram-обработчик или мобильный API. Перед запуском судей каждый из них должен получить атомарный claim на финализацию. Claim связан с уникальным токеном владения, поэтому устаревший процесс не может освободить блокировку нового владельца. Если iOS-клиент получает конфликт состояния, он не повторяет команду завершения, а запрашивает актуальное состояние поединка.

  • Изолированный тестовый контур. Backend покрыт unit-, integration- и end-to-end-тестами. Сквозные тесты передают реальные Telegram-обновления через диспетчер, но работают на временной базе данных. В iOS используются unit- и UI-тесты с перехватом сетевого слоя и локальным mock-сервером. В тестовой конфигурации ключи внешних LLM- и STT-провайдеров принудительно отключены, поэтому тесты воспроизводимы и не создают платных запросов. Полный офлайн-набор проверок выполняется перед production-деплоем.

  • Наблюдаемость. Сервис публикует отдельные health-checks для общей готовности приложения, состояния LLM-каскада и зависших поединков. Внешний монитор регулярно проверяет эти показатели и отправляет предупреждения при отклонениях. Дополнительно журналируются обращения к моделям, ошибки провайдеров и переключения на fallback.

Пять приёмов для репетиции с любым ИИ

Даже без специального тренажёра репетицию в обычном чате можно заметно улучшить:

  1. Давайте контекст, а не роль. Не «будь начальником», а «ты техдиректор, найм заморожен, сотрудника ценишь, прибавку одобрить не можешь». Интересы и ограничения важнее характера.

  2. Запрещайте сдаваться. «Не соглашайся, пока не исчерпаешь три сильных возражения».

  3. Меняйте роли. Пусть ИИ сыграет вас, а поспорьте с ним. Свои шаблоны — вечные оправдания, ссылки на обстоятельства — слышно мгновенно.

  4. Просите протокол ошибок, а не отзыв. «Разбери мои реплики по критериям: аргументация, тон, альтернативы. Без похвалы».

  5. Повторите через день-два. Навык живёт не в инсайте, а в повторении под давлением.

Честно об ограничениях

И соперник, и судьи — модели, а не люди:

  • Модель не знает конкретного человека. Мотивы вашего начальника, соавтора или куратора она достраивает из типовых сценариев.

  • Симуляция — не прогноз. «Победа» над ИИ не гарантирует, что живой разговор пойдёт так же.

  • ИИ-судьи субъективны. Оценки — мнение моделей; они ошибаются и не замечают важного.

  • Тренировка не гарантирует исход. Живые переговоры зависят от контекста, отношений и того, что происходит за пределами диалога.

Что тренажёр всё-таки даёт — безопасную среду, где ошибка бесплатна, а обратная связь конкретна. Для разговора, которого боишься, это по-прежнему много.

Вердикт трёх судей
Вердикт трёх судей

Итог поединка: оценки трёх ИИ-судей.

Попробовать

На момент подготовки статьи базовые сценарии доступны для тестирования. Самый простой путь — Telegram-бот @agonarena_bot: текст или голос, кнопки, русский и английский. Сайт с описанием и каталогом сценариев — agonarena.ru. Если хочется начать с теории — внутри есть «База переговоров» из пяти уроков.

Приложение для iPhone — в открытой бете: testflight.apple.com/join/rWhfsgC3. Сборка одобрена Apple, вход по ссылке открыт — понадобятся только App Store и приложение TestFlight. Бот при этом никуда не девается и работает уже сейчас.

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

Комментарии (2)


  1. innokentyBo
    03.10.2026 11:13

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

    Я бы добавил ещё один уровень проверки — перенос навыка. Рост баллов в знакомом сценарии может означать, что пользователь просто выучил формат тренажёра.

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


    1. Symsym Автор
      03.10.2026 11:13

      Привет! Спасибо за полезную обратную связь. Отмечу, что в боте множество сценариев, и общий балл считается по всем сценариям. В телеграм боте сейчас есть отслеживание прогресса, в разделе статистика. Не очень понял как дать другой сюжет с тем же конфликтом интересов. Есть пример?