AI Platform Docs
Корпоративные документы

Программа и методика испытаний ИС "Платформа ИИ"

ООО "ГК "Иннотех", домен Искусственный интеллект, 2026 г.

1. Общие положения

Продукт: Платформа ИИ

Версия: 3.5

Дата: 2026-10-15

1.1. Назначение документа

Настоящий документ определяет программу и методику испытаний (ПМИ) кандидата на первую поставку — Платформы ИИ версии 3.5. ПМИ охватывает пользовательские тестовые кейсы для проверки основных сценариев использования пяти компонентов поставки:

  • Agent Registry — каталог агентов;
  • Low-code Конструктор — визуальный редактор Flow;
  • Low-code Runtime — среда исполнения Flow;
  • Platform RAG — сервис извлечения знаний;
  • Memory Service — управляемый слой персистентной памяти.

1.2. Область применения

Испытания проводятся для подтверждения работоспособности пользовательских сценариев: создание агента в Low-code Конструкторе, его проверка и публикация из интерфейса Конструктора, обнаружение в каталоге, поиск и вызов агента, а также использование сервисов Platform RAG и Memory Service.

1.3. Состав компонентов

КомпонентНазначение
Low-code КонструкторСоздание, сохранение, проверка и публикация Flow агента (исходный код — LangFlow)
Low-code RuntimeИсполнение неизменяемого Flow через A2A и MCP
Agent RegistryАвтоматическое обнаружение агентов, каталог, поиск с правами доступа
Platform RAGИзвлечение знаний: коллекции, приём документов, гибридный поиск
Memory ServiceПерсистентная память: извлечение фактов, поиск, CRUD, рабочая память сессий

1.4. Роли пользователей

РольОсновная задачаИспользуемый компонент
Автор Low-code-агентаСоздаёт, сохраняет, проверяет и публикует схему в визуальном редактореLow-code Конструктор
Пользователь каталогаПросматривает и ищет доступных агентовAgent Registry
Потребитель агентаВызывает выбранного агента по разрешённому интерфейсуPlatform Agent Gateway, Low-code Runtime
Владелец знанийУправляет коллекциями RAGPlatform RAG, Platform SDK
Пользователь агентаВидит, что агент о нём помнит; редактирует и удаляет записиMemory Service, T1GPT

1.5. Предварительные условия

Для выполнения пользовательских тестовых кейсов необходимо:

  1. Развёрнутые среды с компонентами Платформа ИИ 3.5;
  2. Действующие учётные записи с SSO-входом;
  3. Настроенные права доступа к рабочим областям;
  4. Готовый к использованию Agent Registry с обнаруженными агентами;
  5. Доступ к платформе публикации: работающий Control Plane и Publisher для развёртывания workload в Kubernetes;
  6. Доступ к Platform RAG и Memory Service.

2. Тестовые кейсы

2.1. Low-code Конструктор

ТК-001. Вход в Low-code Конструктор через SSO

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Low-code КонструкторАвторизация пользователяВход через SSO1. Открыть адрес Low-code Конструктора, предоставленный администратором.
2. Ввести учётные данные через сервис SSO платформы.
3. Подтвердить вход.
Пользователь перенаправлен в Low-code Конструктор. Отображается разрешенная рабочая область и палитра компонентов.

ТК-002. Создание нового Flow

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Low-code КонструкторСоздание FlowСоздание минимального Flow1. Открыть Low-code Конструктор.
2. Создать новый пустой рабочий Flow.
3. Задать понятное название и описание назначения агента.
4. Добавить компонент входа сообщения.
5. Добавить компонент PlatformLLM и выбрать разрешённый профиль модели.
6. Соединить выход модели с компонентом ответа.
7. Проверить типы входных и выходных данных каждого соединения.
Flow создан. Все соединения корректны, типы данных совместимы. Компоненты доступны в палитре. Компоненты PlatformRAG и PlatformMemory в палитре отсутствуют.

ТК-003. Сохранение рабочей версии

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Low-code КонструкторСохранение версииСохранение Flow1. Открыть существующий Flow.
2. Ввести название, отражающее назначение агента.
3. Нажать «Сохранить».
4. Зафиксировать идентификатор, номер рабочей версии, время сохранения.
5. Повторно сохранить неизменённую версию.
Рабочая версия сохранена. Возвращены: идентификатор, номер версии, время сохранения, применённая политика компонентов, версия Low-code Конструктора. Повторное сохранение даёт одинаковую контрольную сумму SHA-256.

ТК-004. Проверка Flow — успешный сценарий

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Low-code КонструкторПроверка схемыУспешная проверка1. Открыть сохранённый Flow.
2. Запустить серверную проверку.
3. Дождаться итогового состояния.
Проверка подтверждает: корректность структуры, наличие обязательных полей, соответствие политике компонентов, отсутствие секретов, совместимость с lfx, согласованность входных/выходных данных. Результат содержит версию проверяющего модуля, версию политики и SHA-256 исходных данных.

ТК-005. Проверка Flow — запрещённый компонент

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Low-code КонструкторПроверка схемыОшибка component_not_allowed1. Открыть Flow с компонентом, отсутствующим в действующей политике.
2. Запустить проверку.
3. Дождаться итогового состояния.
Проверка возвращает ошибку component_not_allowed. Схему нельзя публиковать. Необходимо удалить компонент или выбрать разрешённую платформенную замену.

ТК-006. Проверка Flow — секрет в исходных данных

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Low-code КонструкторПроверка схемыОбнаружение секрета1. Вставить ключ API или токен в текстовое поле узла Flow.
2. Запустить проверку.
Проверка обнаруживает значение, похожее на секрет. Требуется удалить значение и использовать профиль Vault.

ТК-007. Публикация агента из интерфейса Конструктора

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Low-code КонструкторПубликация агентаПубликация проверенной версии Flow1. Убедиться, что рабочая версия прошла серверную проверку и не содержит ручных правок компонентов вне политики.
2. Открыть сохранённую рабочую версию и вызвать публикацию в интерфейсе.
3. Дождаться ответа на публикацию.
4. Отслеживать статус операции публикации до конечного состояния.
Система экспортирует Flow в канонический формат platform.low-code.flow/v2 и вызывает Control Plane. Операция публикации принимается ответом 202 Accepted, создаются запись агента и версии. Изменяемые поля Flow.data в публикацию не попадают.

ТК-008. Публикация агента — отклонение схемы

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Low-code КонструкторПубликация агентаОтклонение изменённого компонента1. После успешной проверки вручную изменить компонент в JSON схемы.
2. Вызвать публикацию.
Публикация отклоняется с ошибкой: состояние проверки отменено. Требуется повторный прогон проверки.

ТК-009. Проверка результата публикации — обнаружение агента

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Agent RegistryПоиск агентаНахождение агента в каталоге1. После достижения операцией публикации конечного успешного статуса открыть Agent Registry.
2. Найти агента по названию и типу реализации low-code.
3. Сравнить опубликованную версию с рабочей версией схемы.
Агент обнаружен в каталоге со статусом active. Опубликованная версия совпадает с рабочей версией схемы.

2.2. Agent Registry

ТК-010. Просмотр списка агентов

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Agent RegistryПросмотр спискаПолучение списка разрешённых агентов1. Открыть Agent Registry (Swagger UI).
2. Нажать Authorize, выбрать oauth2Password, ввести логин и пароль.
3. Выполнить GET /api/v2/agents?limit=20.
Возвращается страница разрешённых агентских записей в состоянии active. Каждая запись содержит безопасные сведения: название, версия, протокол, состояние, владелец. В каждом ответе присутствует traceId.

ТК-011. Фильтрация списка агентов

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Agent RegistryФильтрацияПоиск по протоколу, типу реализации и владельцу1. Выполнить GET /api/v2/agents?protocol=a2a&implementationType=low-code&ownerType=principal&ownerIssuer={issuer}&ownerSubject={subject}&limit=20.
2. Перейти на следующую страницу с курсором из ответа.
Возвращаются агенты, соответствующие всем указанным фильтрам: протокол a2a, тип реализации low-code, владелец. Курсор зашифрован и привязан к удостоверению и набору фильтров; запрос с курсором другого пользователя или с изменёнными фильтрами отклоняется с cursor_invalid.

ТК-012. Просмотр одной записи агента

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Agent RegistryПолучение записиПросмотр карточки агента1. Выполнить GET /api/v2/agents/{agentId} с валидным UUID.
2. Проверить возвращаемые поля.
Возвращается безопасная карточка: имя, описание, идентификаторы агента и версии, владелец, рабочая область, состояние, протокол, тип реализации. Ответ не содержит внутренний адрес службы, полную исходную карточку, закрытые диагностические данные и учетные данные. Поле интерфейса вызова возвращается только при выполнении четырёх условий: версия готова, отношения доступа согласованы, публичный маршрут принят, у пользователя есть право invoke.

ТК-013. Поиск агентов — успешный сценарий

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Agent RegistryГибридный поискПоиск по тексту1. Выполнить POST /api/v2/agents/search с текстом запроса, рабочей областью, фильтрами протокола и типа реализации.
2. Указать topK и необязательный порог minScore.
Возвращаются разрешённые совпадения выше порога. Смысловая и лексическая оценки не обходят проверку прав: каждый кандидат фильтруется по праву просмотра. Поля userId, роли и готовое решение о доступе в запросе запрещены. Текст запроса не сохраняется в журналах.

ТК-014. Поиск агентов — пустая выдача

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Agent RegistryГибридный поискОтсутствие совпадений1. Выполнить POST /api/v2/agents/search с текстом запроса, для которого нет разрешённых агентов.Возвращается HTTP 200 и пустой массив matches: [].

ТК-015. Получение записи отсутствующего агента

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Agent RegistryПолучение записиЗапрос к отсутствующему агенту1. Выполнить GET /api/v2/agents/{nonexistent-uuid}.
2. Выполнить GET /api/v2/agents/{agentId} для агента, на который нет права просмотра.
В обоих случаях возвращается одинаковый ответ HTTP 404. Система не раскрывает, отсутствующий агент это или скрытый.

ТК-016. Переход к вызову агента

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Agent RegistryПолучение интерфейса вызоваИспользование URL вызова1. Найти агента с полем интерфейса в Agent Registry.
2. Использовать только URL из карточки — канонический HTTPS-адрес Platform Agent Gateway для конкретного агента и версии — без подмены агента, версии или внутренней службы через заголовок, параметр или тело.
3. Выполнить вызов через Platform Agent Gateway.
Platform Agent Gateway повторно проверяет токен и право на вызов agent#invoke, затем заменяет исходный пользовательский токен на короткоживущее удостоверение, связанное с конкретным агентом. Вызов выполняется успешно при наличии прав; известный URL без права не позволяет обойти шлюз.

ТК-017. Состояния агента

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Agent RegistryОтображение состоянийПроверка состояний агентов1. Открыть список агентов.
2. Проверить, что в каталоге видны только записи в состоянии active.
3. Убедиться, что записи degraded, removed, rejected в обычную выдачу не попадают.
В каталоге отображаются только активные записи.
active — версия прошла проверку и показана при наличии прав.
degraded — агент существует, но нет пригодного эндпоинта; запись скрыта из каталога, вызов недоступен.
removed — агент подтверждённо удалён.
rejected — карточка не прошла проверку, запись не активируется.

ТК-018. Ошибки Agent Registry

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Agent RegistryОбработка ошибокКоды ошибок API1. Выполнить запрос с неверной формой (400/422).
2. Выполнить запрос без токена (401).
3. Выполнить запрос без права (403).
4. Выполнить запрос к отсутствующему агенту (404).
5. Вызвать конфликт неизменяемой идентичности (409).
6. Превысить ограничение частоты (429).
7. Запросить при недоступной авторизации (503).
Возвращаются соответствующие HTTP-коды и структурированные ошибки с traceId. Тело ошибки не раскрывает токен, внутренний URL, текст запроса или карточки и существование запрещённого кандидата. При 503 просмотр списка и одной записи может продолжать работать.

2.3. Platform RAG

ТК-020. Создание коллекции

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Platform RAGУправление коллекциямиСоздание новой коллекции1. Выполнить POST /v1/collections с именем, профилем эмбеддинга, моделью ACL и стратегией чанкинга.
2. Указать X-Tenant-Id и X-User-Id.
Возвращается HTTP 201 Created. Коллекция создана с уникальным collection_id, статус created.

ТК-021. Просмотр коллекции

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Platform RAGУправление коллекциямиПолучение карточки коллекции1. Выполнить GET /v1/collections/{collection_id}.
2. Проверить статус и параметры коллекции.
Возвращается HTTP 200. Статус коллекции — ready (после индексации первых документов). Отображаются doc_count и chunk_count.

ТК-022. Приём документов

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Platform RAGПриём документовОтправка канонического документа1. Выполнить POST /v1/documents:submit с каноническим документом (содержимое, метаданные, ACL, хеш, ключ идемпотентности).Возвращается HTTP 202 Accepted. Задание зарегистрировано со статусом PENDING.

ТК-023. Проверка статуса задания приёма

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Platform RAGПриём документовОтслеживание статуса ingest1. Получить job_id из ответа приёма.
2. Периодически запрашивать GET /v1/jobs/{job_id}.
3. Дождаться перехода статуса в DONE.
Цепочка статусов: PENDING → RUNNING → DONE. После DONE документ доступен для поиска.

ТК-024. Идемпотентность приёма

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Platform RAGПриём документовПовторная отправка с тем же хешем1. Повторно отправить документ с тем же content_hash и idempotency_key.Возвращается статус DEDUPLICATED. Документ не дублируется.

ТК-025. Гибридный поиск

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Platform RAGПоискГибридный запрос по коллекции1. Выполнить POST /v1/query с именем коллекции, текстом запроса, режимом hybrid.
2. Указать top_k и rerank: true.
Возвращаются цитаты с doc_id, chunk_id, source_url, title, content, score. Результаты ранжированы по семантике и BM25 слиянием RRF.

ТК-026. Фильтрация поиска по правам

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Platform RAGПоискПоиск с ACL-фильтрацией1. Выполнить поиск от имени пользователя без прав на документ.
2. Сравнить результаты с поиском от имени пользователя с правом group:hr.
Пользователь без прав получает пустой items (или без закрытого документа). Пользователь с правами получает цитаты.

ТК-027. Упаковка контекста

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Platform RAGПоискУпаковка под бюджет токенов1. Выполнить POST /v1/retrieve_and_pack с token_budget.Возвращается упакованный текстовый контекст, количество токенов, режим и массив цитат, вошедших в контекст.

ТК-028. Переиндексация коллекции

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Platform RAGУправление коллекциямиЗапуск переиндексации1. Выполнить POST /v1/collections/{collection_id}:reindex.Возвращается HTTP 202 Accepted. Новая версия индекса создаётся атомарно. Старая версия сохраняется до завершения.

ТК-029. Пустой ACL в приватной коллекции

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Platform RAGПриём документовДокумент без ACL1. Отправить документ с пустым acl в приватную коллекцию с политикой reject.Возвращается HTTP 400 invalid_document. Документ отклонён.

2.4. Memory Service

ТК-030. Подключение памяти к агенту — добавление памяти

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Memory ServiceЗапись памятиДобавление фактов из диалога1. Выполнить POST /v1/memories с сообщениями диалога, agent_id, run_id.
2. Указать infer: true.
Возвращается HTTP 202 Accepted с event_id и статусом PENDING. Извлечение фактов выполняется асинхронно.

ТК-031. Проверка статуса события добавления

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Memory ServiceСтатус событияОжидание завершения извлечения1. Получить event_id из ответа добавления.
2. Периодически запрашивать GET /v1/events/{event_id}.
3. Дождаться статуса SUCCEEDED.
Цепочка статусов: PENDING → SUCCEEDED. При SUCCEEDED возвращаются memory_ids.

ТК-032. Поиск памяти

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Memory ServiceПоиск памятиМультисигнальный поиск по фильтру1. Выполнить POST /v1/memories/search с запросом, фильтрами (scope + составные условия), top_k, token_budget.Возвращаются ранжированные результаты с score, score_details (semantic, bm25), created_at. Результаты уложены в бюджет токенов.

ТК-033. Список записей памяти

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценаряОжидаемый результат
1Memory ServiceСписок памятиПолучение списка по агенту1. Выполнить GET /v1/memories?agent_id={agent_id}&page_size=20.Возвращается HTTP 200 с count и массивом записей (id, memory, скоупы, created_at).

ТК-034. Получение одной записи

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Memory ServiceУправление записямиПросмотр конкретной записи1. Выполнить GET /v1/memories/{memory_id}.Возвращается HTTP 200 с полями: id, memory, user_id, agent_id, categories, hash, created_at, updated_at, role.

ТК-035. Обновление записи памяти

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Memory ServiceУправление записямиИзменение текста факта1. Выполнить PUT /v1/memories/{memory_id} с новым текстом.Возвращается HTTP 200 с обновлённой записью. Изменения немедленно отражаются в поиске.

ТК-036. Удаление записи памяти

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Memory ServiceУправление записямиSoft-delete одной записи1. Выполнить DELETE /v1/memories/{memory_id}.Возвращается HTTP 200 с сообщением «Memory deleted successfully».

ТК-037. Право на забвение — удаление по фильтру

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Memory ServiceПраво на забвениеУдаление всех записей по фильтру1. Выполнить DELETE /v1/memories?agent_id={agent_id}.
2. Проверить ответ.
Возвращается HTTP 200 с deleted_count и confirmation_id для аудита. Удаление необратимо.

ТК-038. История изменений записи

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Memory ServiceИстория записейПросмотр журнала изменений1. Выполнить GET /v1/memories/{memory_id}/history.Возвращается HTTP 200 и массив записей с событиями ADD, UPDATE, DELETE.

ТК-039. Рабочая память сессии — сохранение

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Memory ServiceРабочая память сессииСохранение чекпоинта1. Выполнить POST /v1/sessions/{session_id}/state с состоянием и ttl_seconds.Возвращается HTTP 200 с session_id, state, updated_at, ttl_remaining_seconds.

ТК-040. Рабочая память сессии — восстановление

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Memory ServiceРабочая память сессииВосстановление чекпоинта1. Выполнить GET /v1/sessions/{session_id}/state.Возвращается HTTP 200 с восстановленным состоянием. При отсутствии — HTTP 404.

ТК-041. Негативные проверки Memory Service

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Memory ServiceОбработка ошибокОтсутствие обязательных параметров1. Выполнить POST /v1/memories без agent_id и run_id.
2. Выполнить GET /v1/memories без фильтров.
3. Выполнить DELETE /v1/memories без фильтра.
4. Запросить чужой user_id при delete.
5. Запросить несуществующее событие.
1. HTTP 400 — отсутствует скоуп.
2. HTTP 400 — отсутствует скоуп.
3. HTTP 400 — отсутствует фильтр.
4. HTTP 403 Wrong user ID.
5. HTTP 404.

2.5. Сквозные пользовательские сценарии

ТК-050. Сквозной путь: создание агента и вызов

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Low-code КонструкторСоздание и проверка агентаПолный путь автора1. Войти в Low-code Конструктор через SSO.
2. Создать пустой Flow.
3. Добавить компонент входа, PlatformLLM, выход.
4. Сохранить рабочую версию.
5. Запустить серверную проверку.
6. Дождаться успешного результата (SHA-256, версия политики).
Flow создан, сохранён и проверен.
2Low-code КонструкторПубликацияПубликация из интерфейса1. Вызвать публикацию в интерфейсе Low-code Конструктора.
2. Дождаться ответа 202 Accepted.
3. Отслеживать статус операции публикации до конечного успешного состояния.
4. Publisher собирает артефакт и разворачивает экземпляр в Kubernetes.
Low-code Runtime развёрнут и готов. Операция публикации достигла конечного успешного статуса.
3Agent RegistryОбнаружениеАвтоматическое обнаружение1. Agent Registry обнаруживает развёрнутый workload в Kubernetes.
2. Формирует карточку агента и авторизационные данные.
3. Добавляет активную запись в каталог.
Агент появляется в каталоге со статусом active и типом реализации low-code. Появление не мгновенно — после завершения операции публикации и взаимодействия с Kubernetes.
4Agent RegistryПоискНахождение агента пользователем1. Пользователь открывает Agent Registry.
2. Находит агента по названию.
3. Проверяет наличие права на вызов.
Агент найден. Интерфейс вызова присутствует при наличии права.
5Platform Agent GatewayВызовВыполнение вызова агента1. Пользователь вызывает агента через Platform Agent Gateway.
2. Gateway проверяет токен и право agent#invoke.
3. Заменяет токен на короткоживущее удостоверение.
4. Передаёт запрос в Low-code Runtime.
Вызов выполняется. Исходный токен не передаётся в Low-code Runtime.

ТК-051. Сквозной путь: использование Platform RAG

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Platform RAGСоздание коллекцииНастройка базы знаний1. Создать коллекцию через Platform SDK или Control Plane.
2. Указать имя, профиль эмбеддинга, модель ACL, стратегию чанкинга.
Коллекция создана, статус created.
2Platform RAGПриём документовЗагрузка документов1. Отправить канонический документ через submit_documents.
2. Дождаться статуса DONE.
Документ проиндексирован и доступен для поиска.
3Platform RAGПоискЗапрос с цитатами1. Выполнить POST /v1/query с текстом запроса.
2. Проверить наличие цитат (ссылки на источник).
Результаты содержат doc_id, chunk_id, source_url для проверки достоверности.
4Platform RAGУпаковка контекстаПередача в LLM1. Выполнить POST /v1/retrieve_and_pack с token_budget.Возвращён упакованный контекст, укладывающийся в заданный бюджет токенов.

ТК-052. Сквозной путь: использование Memory Service

№Модуль (компонент)ФункциональностьНазвание сценарияДействия – Шаги сценарияОжидаемый результат
1Memory ServiceДобавление памятиСохранение фактов о пользователе1. Отправить ход диалога через POST /v1/memories.
2. Дождаться статуса SUCCEEDED.
Факт извлечён, проведена дедупликация, проиндексирован.
2Memory ServiceПоиск памятиПолучение релевантных фактов1. Выполнить POST /v1/memories/search перед вызовом LLM.
2. Проверить ранжирование и бюджет токенов.
Возвращены релевантные факты, ранжированные по семантике и BM25.
3Memory ServiceУправление записямиРедактирование факта1. Отредактировать запись через интерфейс T1GPT или API.
2. Проверить поиск после изменения.
Изменения немедленно отражаются в поиске.
4Memory ServiceПраво на забвениеУдаление своих записей1. Пользователь открывает экран «Память агента» в T1GPT.
2. Просматривает записи.
3. Удаляет неверную запись.
Запись удалена. Возвращён confirmation_id для аудита.

2.6. Активность и потребление Control Plane

Эти сценарии описывают проверку нового функционала CORE-1980. Их наличие в программе не означает успешное выполнение или подпись комиссии. Проверки Activity в локальном контуре завершены 26 сентября 2026 года; их измеренные результаты и границы приведены в руководстве по эксплуатации. Они не заменяют приёмку всего выпуска комиссией.

ПроверкаДействияОжидаемый результат
AU-01: потреблениеВыполнить известный набор LLM-запросов через платформенный ключ, затем выбрать его и точный периодЧисло запросов и наблюдаемые токены совпадают с независимым набором; состояния полноты отражены явно
AU-02: разрезыВыбрать один ключ фильтром и сгруппировать токены по моделямГруппы и «Остальные» согласованы с итогом; фильтр и разрез выполняют разные действия
AU-03: диагностикаОткрыть запрос из журнала, проверить ошибку и задержкуКарточка соответствует запросу; нет текстов диалогов и секретов; неизвестные измерения не заменены нулями
AU-04: праваСравнить администратора, владельца ключа и постороннего; отозвать право у открывшего карточкуВыборки ограничены текущими правами; недоступная карточка возвращает 404, включая повторное чтение после отзыва
AU-05: агентыВызвать агента и открыть отдельную статистику его HTTP-обращенийHTTP-исход не выдаётся за успешность всей задачи; пользователь не приписывается служебному LLM-ключу
AU-06: недоступностьВ изолированном контуре временно прервать запись в ClickHouse и восстановить еёПодтверждённая дисковая очередь доставляется в пределах проверяемых ограничений; повторы не удваивают расход
AU-07: срок храненияСравнить записи внутри и за границей 30 сутокИстория старше окна недоступна через API, журнал, справочники и карточки независимо от задержки физического удаления

Воспроизводимые команды и границы проверок: эксплуатация Activity, известные ограничения.

3. Правила проведения испытаний

3.1. Порядок выполнения

  1. Испытания проводятся в среде, идентичной целевой по составу компонентов и зависимостей.
  2. Каждый тестовый кейс выполняется последовательно. Пропуск предыдущего кейса допускается только с документированным обоснованием.
  3. Результат каждого кейса фиксируется как «Прошёл» или «Не прошёл» с указанием причины неудачи.
  4. При неудаче ключевого кейса (ТК-004, ТК-050) испытания приостанавливаются до устранения причины.

3.2. Критерии приёмки

Испытания считаются пройденными, если:

  1. Все тестовые кейсы из раздела 2 выполнены.
  2. Ключевые сценарии (ТК-001 — ТК-007, ТК-010 — ТК-018, ТК-020 — ТК-029, ТК-030 — ТК-041, ТК-050 — ТК-052) прошли успешно.
  3. Негативные проверки (ТК-005, ТК-006, ТК-029, ТК-041) подтверждают корректную обработку ошибок.
  4. Сквозные сценарии (ТК-050 — ТК-052) воспроизводят полный пользовательский путь.

3.3. Документирование результатов

Результаты испытаний оформляются в протоколе испытаний, содержащем:

  • номер и название тестового кейса;
  • дату и исполнителя;
  • результат (прошёл / не прошёл);
  • при неудаче — описание расхождения с ожидаемым результатом;
  • ссылки на журналы и traceId.

4. Ограничения испытаний

Испытания версии 3.5 проводятся с учётом известных ограничений:

  1. Промышленная готовность семантического поиска не подтверждена — он не проверен на настоящих AI Gateway и OpenSearch, проверяется только совместимость интерфейсов.
  2. Промышленная среда не реализована — испытания проводятся в средах разработки.
  3. Platform RAG и Memory Service поставляются как самостоятельные сервисы и не интегрированы с другими компонентами Платформы ИИ — компоненты PlatformRAG и PlatformMemory отсутствуют в палитре Low-code Конструктора, доступ к сервисам у агентов только через Platform SDK.

Приложение 1. Протокол испытаний

Испытания проведены объединенной комиссией в составе:

От Заказчика: [ФИО, должность]

От Исполнителя: [ФИО, должность]

Объект испытаний: Платформа ИИ

Протокол испытаний исходной версии 3.5

№Тестовый кейсНазвание сценарияРезультат
1ТК-001Вход в Low-code Конструктор через SSOУспешно
2ТК-002Создание минимального FlowУспешно
3ТК-003Сохранение FlowУспешно
4ТК-004Успешная проверкаУспешно
5ТК-005Ошибка component_not_allowedУспешно
6ТК-006Обнаружение секретаУспешно
7ТК-007Публикация проверенной версии FlowУспешно
8ТК-008Отклонение изменённого компонентаУспешно
9ТК-009Нахождение агента в каталогеУспешно
10ТК-010Получение списка разрешённых агентовУспешно
11ТК-011Поиск по протоколу, типу реализации и владельцуУспешно
12ТК-012Просмотр карточки агентаУспешно
13ТК-013Поиск по текстуУспешно
14ТК-014Отсутствие совпаденийУспешно
15ТК-015Запрос к отсутствующему агентуУспешно
16ТК-016Использование URL вызоваУспешно
17ТК-017Проверка состояний агентовУспешно
18ТК-018Коды ошибок APIУспешно
19ТК-020Создание новой коллекцииУспешно
20ТК-021Получение карточки коллекцииУспешно
21ТК-022Отправка канонического документаУспешно
22ТК-023Отслеживание статуса ingestУспешно
23ТК-024Повторная отправка с тем же хешемУспешно
24ТК-025Гибридный запрос по коллекцииУспешно
25ТК-026Поиск с ACL-фильтрациейУспешно
26ТК-027Упаковка под бюджет токеновУспешно
27ТК-028Запуск переиндексацииУспешно
28ТК-029Пустой ACL в приватной коллекцииУспешно
29ТК-030Добавление фактов из диалогаУспешно
30ТК-031Ожидание завершения извлеченияУспешно
31ТК-032Мультисигнальный поиск по фильтруУспешно
32ТК-033Получение списка по агентуУспешно
33ТК-034Просмотр конкретной записиУспешно
34ТК-035Изменение текста фактаУспешно
35ТК-036Soft-delete одной записиУспешно
36ТК-037Удаление всех записей по фильтруУспешно
37ТК-038Просмотр журнала измененийУспешно
38ТК-039Сохранение чекпоинтаУспешно
39ТК-040Восстановление чекпоинтаУспешно
40ТК-041Отсутствие обязательных параметровУспешно
41ТК-050Полный путь автораУспешно
42ТК-051Настройка базы знанийУспешно
43ТК-052Сохранение фактов о пользователеУспешно

Выявленные замечания и отклонения

Замечания в ходе испытаний не выявлены.

Заключение

По результатам проведенных испытаний комиссия пришла к следующему выводу:

решение рекомендуется к приемке и дальнейшему внедрению.

Подписи сторон

От Заказчика: ___________________ / ____________________________ /

От Исполнителя: ___________________ / ___________________________ /

На этой странице

1. Общие положения1.1. Назначение документа1.2. Область применения1.3. Состав компонентов1.4. Роли пользователей1.5. Предварительные условия2. Тестовые кейсы2.1. Low-code КонструкторТК-001. Вход в Low-code Конструктор через SSOТК-002. Создание нового FlowТК-003. Сохранение рабочей версииТК-004. Проверка Flow — успешный сценарийТК-005. Проверка Flow — запрещённый компонентТК-006. Проверка Flow — секрет в исходных данныхТК-007. Публикация агента из интерфейса КонструктораТК-008. Публикация агента — отклонение схемыТК-009. Проверка результата публикации — обнаружение агента2.2. Agent RegistryТК-010. Просмотр списка агентовТК-011. Фильтрация списка агентовТК-012. Просмотр одной записи агентаТК-013. Поиск агентов — успешный сценарийТК-014. Поиск агентов — пустая выдачаТК-015. Получение записи отсутствующего агентаТК-016. Переход к вызову агентаТК-017. Состояния агентаТК-018. Ошибки Agent Registry2.3. Platform RAGТК-020. Создание коллекцииТК-021. Просмотр коллекцииТК-022. Приём документовТК-023. Проверка статуса задания приёмаТК-024. Идемпотентность приёмаТК-025. Гибридный поискТК-026. Фильтрация поиска по правамТК-027. Упаковка контекстаТК-028. Переиндексация коллекцииТК-029. Пустой ACL в приватной коллекции2.4. Memory ServiceТК-030. Подключение памяти к агенту — добавление памятиТК-031. Проверка статуса события добавленияТК-032. Поиск памятиТК-033. Список записей памятиТК-034. Получение одной записиТК-035. Обновление записи памятиТК-036. Удаление записи памятиТК-037. Право на забвение — удаление по фильтруТК-038. История изменений записиТК-039. Рабочая память сессии — сохранениеТК-040. Рабочая память сессии — восстановлениеТК-041. Негативные проверки Memory Service2.5. Сквозные пользовательские сценарииТК-050. Сквозной путь: создание агента и вызовТК-051. Сквозной путь: использование Platform RAGТК-052. Сквозной путь: использование Memory Service2.6. Активность и потребление Control Plane3. Правила проведения испытаний3.1. Порядок выполнения3.2. Критерии приёмки3.3. Документирование результатов4. Ограничения испытанийПриложение 1. Протокол испытанийПротокол испытаний исходной версии 3.5Выявленные замечания и отклоненияЗаключениеПодписи сторон