chat-agent + voice · 1/14 · Подтверждено кодом

Как устроен chat-agent + voice

Разговор, голос и вычисления связаны контрактами

Снимок: chat-agent c0738a60, voice 21c85b0c. Мы разобрали приложения локальными анализаторами. Текущие контейнеры и реальные запросы требуют отдельной проверки; схема кода этого не заменяет.

Клиентchat-agentvoiceУдалённые моделиПоследовательность чтения контракта; выполнение требует runtime evidence
chat-agent + voice · 2/14 · Подтверждено кодом

Сначала запрос попадает в свой вход

HTTP, WebRTC и WSS имеют разные маршруты

В декларациях найдены 9 внешних маршрутов. Их адрес, получатель и настройки OAuth раскрываются в атласе. Динамический host остаётся пробелом, пока мы не проверим runtime.

БраузерIngressCore / gatewayПоследовательность чтения контракта; выполнение требует runtime evidence
chat-agent + voice · 3/14 · Подтверждено кодом

Текст и карта входят разными путями

Сообщение запускает работу; чтение карты получает данные

В индексе есть /core/message и отдельные domain endpoints. При принятии сообщения важно различать HTTP-ответ и итог Agent. Успешное чтение карты ещё не подтверждает генерацию.

СообщениеCoreAgentИтогПоследовательность чтения контракта; выполнение требует runtime evidence
chat-agent + voice · 4/14 · Подтверждено кодом

У голоса два транспорта

Дальше начинается обработка аудио

WebRTC и WSS выделены в ingress. Общий аудиомодуль объявляет resample в mono s16 при 16000 Гц. Это подтверждает параметры кода; PCM, распознавание и ответ проверяются настоящей фразой.

WebRTC / WSSIngressMono s16 · 16 kHzASRПоследовательность чтения контракта; выполнение требует runtime evidence
chat-agent + voice · 5/14 · Подтверждено кодом

У каждой шины своя работа

Имя subject без брокера не раскрывает маршрут

В deployment объявлены chat_nats и audio_nats. CHAT_NATS_URL зависит от условия поставки, ASR_NATS_URL указан отдельно. Пока фактическая ветка не подтверждена, связываем producer и consumer как кандидатов.

ProducerБрокерConsumerReply inboxПоследовательность чтения контракта; выполнение требует runtime evidence
chat-agent + voice · 6/14 · Предположение

Agent обращается к модели через контракт

Вызов модели и инструмент - разные действия

Найден обмен chat.agent.requests между Core и Agent, а также chat.agent.stream от LLM. Направление request/reply видно в последовательностях. Число генераций и порядок tool calls можно подтвердить только трассой.

src_agentsrc_llmTool callsРезультатПоследовательность чтения контракта; выполнение требует runtime evidence
chat-agent + voice · 7/14 · Подтверждено кодом

Инструменты дают модели конкретные действия

Регистрации читаются без тела функций

Найдены 11 регистраций: airport_get, airports_search, artifact_get, flight_get, geo_distances, map_show_points, map_show_route, plan_save, position_get, route_preview, weather_get. Карточка показывает параметры, результат и закреплённую строку; это не означает, что все инструменты выполнялись.

Выбор моделиПроверка аргументовИнструментОтвет toolПоследовательность чтения контракта; выполнение требует runtime evidence
chat-agent + voice · 8/14 · Подтверждено кодом

Данные проходят через явные формы

Снимок, аргументы и ответ не должны сливаться

Извлечены 20 схемы: например TraceEnvelope, AgentStepInput, ErrorInfo и изменения аэропорта. Для них есть проверяемые синтетические примеры. Custom validators и наследуемые поля отмечены как ограничение.

ВходСнимокАргументы toolОтветПоследовательность чтения контракта; выполнение требует runtime evidence
chat-agent + voice · 9/14 · Неизвестно

Подтверждение и отмена меняют состояние

Регистрация plan_save сама по себе не доказывает commit

В каталоге есть plan_save и управляющие endpoints. Для вывода о сохранении нужно проследить предложение, решение, транзакцию и итог. Мы не рисуем незнакомые переходы между статусами как работающий workflow.

ПредложениеРешениеПроверкаСохранениеПоследовательность чтения контракта; выполнение требует runtime evidence
chat-agent + voice · 10/14 · Подтверждено runtime

Трасса добавляет время и порядок

Поиск ограничивается сервисом и интервалом

Grafana источники проверяются перед запросами. API возвращает spans, события и метрики; браузерное наблюдение помечается как неполное. Блокировка доступа сохраняет пробел и не разрешает обход защиты.

Request / Trace IDAPI или разрешённый UISpans / метрикиПроверкаПоследовательность чтения контракта; выполнение требует runtime evidence
chat-agent + voice · 11/14 · Предположение

Статический анализ показывает места для проверки

Сложность и dead code - кандидаты, а не готовый диагноз

Repowise дал 1329 находок до объединения повторов. Каждой соответствует глава с небольшим исправлением, крупным вариантом и критерием проверки. Динамический handler нельзя удалять только потому, что graph edge не найден.

КандидатПотребителиЦелевой тестРешениеПоследовательность чтения контракта; выполнение требует runtime evidence
chat-agent + voice · 12/14 · Предположение

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

Imports и calls показывают потенциальную зону влияния

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

Изменённый файлЗависимостиПотребителиПроверкиПоследовательность чтения контракта; выполнение требует runtime evidence
chat-agent + voice · 13/14 · Подтверждено кодом

Повторная работа использует кеш

Неизменённые файлы не разбираются заново

Хеши, версии анализаторов и входных индексов закреплены в снимке. После изменения пересчитывается набор связей. Локальные измерения доступны в index; внешнюю задержку моделей ими не объясняем.

ХешиИзменённые файлыПересчёт связейНовый снимокПоследовательность чтения контракта; выполнение требует runtime evidence
chat-agent + voice · 14/14 · Неизвестно

Теперь можно выбирать конкретное улучшение

Каждый вывод ведёт к доказательству

Атлас показывает контракт, native views - структуру, учебник - исправление и проверку. Пробел не заполняется догадкой: плагин запрашивает runtime-выборку либо разрешение на точный исходный фрагмент.

КонтрактДоказательствоИсправлениеЦелевой тестПоследовательность чтения контракта; выполнение требует runtime evidence

Служебные вложения доступны в исходном архиве.