> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hubtalk.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Copilot

> AI-ассистент, который помогает строить и редактировать сценарии агентов в HubTalk AI v4.

# Copilot

Copilot — это AI-ассистент, встроенный в редактор агента (значок **✦**). Общайтесь с ним на естественном языке, чтобы построить сценарий с нуля, внести точечную правку или перестроить целую ветку разговора — Copilot сам рассчитывает изменения и показывает их вам в виде предложения, прежде чем что-либо применяется.

<img src="https://mintcdn.com/hubtalk/cKl-cjuDGhk4sToG/images/v4_copilot_chat.png?fit=max&auto=format&n=cKl-cjuDGhk4sToG&q=85&s=c71ba22acab438ac7d904b638f4e3d86" alt="Панель Copilot открыта в редакторе агента, переписка в процессе" width="1440" height="900" data-path="images/v4_copilot_chat.png" />

## Как работает Copilot

* **Copilot никогда не меняет сценарий напрямую.** Каждое предложение приходит карточкой **«Изменение предложено Copilot»** — списка конкретных изменений, например добавления ноды, правки поля или перестройки перехода. Вы просматриваете его и принимаете или отклоняете.
* Предложенные изменения проверяются теми же правилами валидации, что и ручные правки, поэтому ничего некорректного не может быть принято по ошибке.
* Proposal привязан к той версии сценария, которая была открыта. Если сценарий изменился до того, как вы приняли решение, Copilot перепроверяет proposal и помечает то, что больше не применимо.
* Пока proposal ожидает вашего решения, отправить Copilot новое сообщение нельзя — сначала нужно принять или отклонить его.
* **Принятие proposal обновляет черновик, а не опубликованную версию агента.** Copilot никогда не публикует изменения сам — вывод изменений в прод всегда отдельный, явный шаг, который делаете вы.

## Что умеет Copilot

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

* добавление, удаление и перенастройку нод
* преобразование ноды из одного типа в другой с переносом совместимых настроек
* добавление, редактирование и удаление переходов, а также изменение их порядка, когда порядок влияет на то, какой из них проверяется первым
* обновление глобальных настроек сценария, динамических переменных и настроек голоса
* изменение того, кто говорит первым в разговоре
* сборку и преобразование нод **MCP Tool**, вызывающих внешний инструмент

### Ноды MCP

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

То, что Copilot получает, намеренно узко — имена, ссылки и описания серверов плюс выставленные инструменты. **Секретов, заголовков и адресов эндпоинтов в этом наборе нет.** Реестром Copilot тоже не управляет: создать сервер и выставить на нём инструмент по-прежнему может только человек в разделе MCP-серверов.

## Просмотр proposal

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

* превью новых значений рядом с текущими
* диff изменения — удалённое зачёркнуто, добавленное выделено
* счётчик для proposal, затрагивающего несколько нод, чтобы пройти по ним по одной
* **«✓ Принять»** или **«✗ Отклонить»** отдельное изменение, либо **«✓ Принять все»** / **«✗ Отклонить все»** сразу
* **«↩ Отменить»**, чтобы вернуться на шаг назад после принятия изменения

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

### Когда изменение неприменимо

Если часть предложения применить нельзя, Copilot называет **настоящую причину** — с точным путём до поля, которое нужно поправить. Производные симптомы не выдаются за отдельные проблемы: они честно помечаются как «зависит от операции …», чтобы одна неверно заполненная настройка не превращалась в пять одинаково выглядящих карточек «Неприменимо» без указания, что именно исправлять.

<img src="https://mintcdn.com/hubtalk/cKl-cjuDGhk4sToG/images/v4_copilot_proposal_diff.png?fit=max&auto=format&n=cKl-cjuDGhk4sToG&q=85&s=03c9101a119d1feed30766e856afb689" alt="Proposal Copilot со счётчиком, диффом по каждому изменению и кнопками Accept/Reject" width="1440" height="900" data-path="images/v4_copilot_proposal_diff.png" />

## Защита моделей и голосовых настроек

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

## Добавление контекста в сообщение

Используйте кнопку **+** у сообщения, чтобы приложить контекст, на основе которого будет работать Copilot:

* конкретную **ноду** в сценарии
* прошлый **разговор** (чат- или звонок-сессию)
* **тест-кейс**
* **файл**

<img src="https://mintcdn.com/hubtalk/cKl-cjuDGhk4sToG/images/v4_copilot_context_attach.png?fit=max&auto=format&n=cKl-cjuDGhk4sToG&q=85&s=8f386d0cce9c2161a006f575d9d5ff68" alt="Меню кнопки + для добавления контекста: Нода, Прошлая сессия, Тест-кейс, Файл" width="1440" height="900" data-path="images/v4_copilot_context_attach.png" />

## Симуляции и тест-кейсы

Попросите Copilot проверить сценарий, не выходя из чата:

* **Запустить симуляцию** — Copilot проигрывает разговор с симулированным абонентом, построенным по персоне или по фиксированному сценарию, и возвращает транскрипт, путь по нодам сценария, переходы и переменные по ходу разговора, а также результат — прошли ли ваши проверки (ассерты) или нет.
* **Создать тест-кейс** — Copilot может написать новый тест-кейс на основе разговора.

Симуляции всегда используют mock-ответы для вызовов функций и инструментов, поэтому тестирование никогда не отправляет реальные запросы в ваши интеграции. Тест-кейсы могут проверять, например, что нода была достигнута (или не была достигнута), что переменная была установлена или равна конкретному значению, а также что переход не был выбран.

<img src="https://mintcdn.com/hubtalk/cKl-cjuDGhk4sToG/images/v4_copilot_simulation_result.png?fit=max&auto=format&n=cKl-cjuDGhk4sToG&q=85&s=71e296541abd20223bf606fbb7d0a90f" alt="Результат симуляции: статус, путь по нодам, ассерты и транскрипт" width="1440" height="900" data-path="images/v4_copilot_simulation_result.png" />

## Наблюдение за размышлениями Copilot

Вместо простого индикатора «думает…» Copilot показывает, что именно он делает:

* **Размышления** — когда модель их предоставляет, вы видите её рассуждения по мере генерации, в сворачиваемой области.
* **Шаги** — всегда доступная трасса того, что Copilot делает прямо сейчас, например читает сценарий и проверяет его валидность, изучает приложенный контекст, запускает симуляцию или готовит предложенные изменения. Каждый шаг завершается кратким итогом, например сколько проверок прошло успешно.

Используйте **«■ Стоп»**, чтобы отменить текущий ход выполнения — всё, что Copilot успел сделать к этому моменту, сохраняется. Прошлые размышления и шаги свёрнуты в истории переписки и могут быть развёрнуты позже; если вы хотите видеть только финальный ответ, поток размышлений можно скрыть в настройках, не теряя при этом трассу шагов.

<img src="https://mintcdn.com/hubtalk/cKl-cjuDGhk4sToG/images/v4_copilot_thinking.png?fit=max&auto=format&n=cKl-cjuDGhk4sToG&q=85&s=f7f01b8fecce7d1a4c6819ce65dc6c2e" alt="Copilot в процессе хода: поток размышлений и трасса шагов с живым результатом" width="1440" height="900" data-path="images/v4_copilot_thinking.png" />

## История переписки

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