1. Контекст и проблема
Целевой пользователь: специалист, работающий с большим массивом текстовых документов и принимающий решения на основе прецедентов.
Суть проблемы: работа с открытым реестром документов занимает чрезмерно много времени:
- поиск требует ручного подбора ключевых слов и фильтров, просмотра десятков-сотен документов;
- чтобы оценить релевантность документа, специалисту приходится вручную вчитываться в содержание и сопоставлять его с конкретным кейсом;
- реестр не дает статистики результатов по конкретным обстоятельствам — все оценивается "на глаз";
- нужен отдельный анализ массовой практики (типовые кейсы нижнего уровня) и практики высшего/контролирующего органа (прецедентный уровень).
2. Цель проекта
Разработать AI-агента на базе Claude, который по описанию ситуации естественным языком самостоятельно находит релевантные документы в реестре, анализирует их суть, формирует статистику результатов и выдает пользователю готовый аналитический отчет с ссылками на первоисточники.
3. Архитектура решения
Поскольку Claude не имеет нативного доступа к внешнему реестру, решение строится по принципу RAG (Retrieval-Augmented Generation):
- Запрос — пользователь описывает ситуацию свободным текстом (например: "Произошло событие X при обстоятельствах Y, какие типичные результаты рассмотрения подобных кейсов?").
- Поиск (Retrieval) — система обращается к базе документов (внешнее API или собственная векторная база на открытых данных) и извлекает топ-50/100 наиболее релевантных документов.
- Анализ (Claude) — агент обрабатывает найденные тексты, классифицирует их, выделяет суть и формирует итог.
4. Функциональные требования
4.1. Модуль интеграции с данными
- Источник данных: внешнее API реестра или открытые данные (OpenData).
- Векторизация текстов через embeddings и хранение в векторной БД (Pinecone, Milvus, Qdrant) — для семантического поиска по содержанию, а не только по точным словам.
- Фильтрация базы по уровню органа (первичный / промежуточный / высший), периоду, категории кейсов.
4.2. Модуль AI-аналитики (на базе Claude)
Через системные промпты агент должен:
- Экстракция фактов — проверять совпадение обстоятельств найденного документа с запросом пользователя; нерелевантные отбрасывать.
- Определение результата — однозначно классифицировать итоговую часть: удовлетворено полностью / частично / отказано (или соответствующий эквивалент для конкретной области).
- Саммаризация — краткое (1-2 предложения) описание позиции или причины результата для каждого релевантного документа.
4.3. Статистический модуль
На основе отфильтрованных и проанализированных документов система выводит:
- общее количество релевантных кейсов;
- процент результатов: % "удовлетворено" / % "частично" / % "отказано";
- распределение результатов по уровням органа (например, "на первичном уровне удовлетворяют 80%, но высший орган в 90% случаев отменяет").
4.4. Интерфейс пользователя
Минималистичный UI:
- поле ввода описания ситуации;
- панель фильтров (даты, уровень органа);
- дашборд результатов:
- диаграмма/график процента положительных и отрицательных результатов;
- текстовый вывод (executive summary) от Claude;
- таблица проанализированных документов: [Номер документа] | [Суть в одном предложении] | [Результат] | [Ссылка на источник].
5. Этапы реализации (MVP)
- Исследование данных — настройка извлечения документов из реестра (тестовая выборка, например, 10 000 документов по выбранной категории).
- Разработка RAG-пайплайна — настройка векторной базы и семантического поиска.
- Интеграция Claude API — написание и тестирование системных промптов, чтобы модель без галлюцинаций определяла статус кейса и писала резюме.
- Сборка интерфейса — базовое веб-приложение (или бот-интерфейс на старте) для тестирования пользователем.