> **Beta Translation:** This document was translated via Machine Learning and as such may not be 100% accurate. All non-English languages are currently classified as Beta.
Добавьте регистрацию происхождения в цикл работы агента React, чтобы сеансы работы агента можно было отслеживать и отлаживать с использованием той же инфраструктуры объяснимости, что и в GraphRAG.
**Принятые решения:**
Запись в `urn:graph:retrieval` (общий граф объяснимости)
Линейная цепочка зависимостей на данный момент (анализ N → был получен из → анализ N-1)
Инструменты являются непрозрачными "черными ящиками" (записывайте только входные и выходные данные)
Поддержка DAG отложена до будущей итерации
## Типы сущностей
И GraphRAG, и Agent используют PROV-O в качестве базовой онтологии с подтипами, специфичными для TrustGraph:
| `trustgraph-base/trustgraph/provenance/uris.py` | Добавлены генераторы URI для Document RAG |
| `trustgraph-base/trustgraph/provenance/__init__.py` | Экспортированы новые типы, предикаты и функции Document RAG |
| `trustgraph-base/trustgraph/schema/services/retrieval.py` | Добавлены explain_id и explain_graph в DocumentRagResponse |
| `trustgraph-base/trustgraph/messaging/translators/retrieval.py` | Обновлен DocumentRagResponseTranslator для полей, связанных с объяснением |
| `trustgraph-flow/trustgraph/agent/react/service.py` | Добавлена логика создания и записи информации о объяснении |
| `trustgraph-flow/trustgraph/retrieval/document_rag/document_rag.py` | Добавлен колбэк для информации о объяснении и выводятся тройки, содержащие информацию о происхождении |
| `trustgraph-flow/trustgraph/retrieval/document_rag/rag.py` | Добавлен генератор информации о объяснении и подключен колбэк |
| `trustgraph-cli/trustgraph/cli/show_explain_trace.py` | Обработка типов трассировки агента |
| `trustgraph-cli/trustgraph/cli/list_explain_traces.py` | Отображение сессий агента вместе с GraphRAG |
## Созданные файлы
| Файл | Назначение |
|------|---------|
| `trustgraph-base/trustgraph/provenance/agent.py` | Генераторы троек, специфичные для агента |
## Обновления CLI
**Обнаружение:** И GraphRAG, и вопросы агента имеют тип `tg:Question`. Отличаются следующим:
1. Шаблон URI: `urn:trustgraph:agent:` против `urn:trustgraph:question:`
2. Выводимые сущности: `tg:Analysis` (агент) против `tg:Exploration` (GraphRAG)
**`list_explain_traces.py`:**
Отображает столбец "Тип" (Агент против GraphRAG)
**`show_explain_trace.py`:**
Автоматически определяет тип трассировки
Отображение информации об агенте: Вопрос → Шаги анализа → Вывод
## Обратная совместимость
`session_id` по умолчанию равно `""` - старые запросы работают, но не будут содержать информацию о происхождении
`collection` по умолчанию равно `"default"` - разумная альтернатива
CLI корректно обрабатывает оба типа трассировки
## Проверка
```bash
# Run an agent query
tg-invoke-agent -q "What is the capital of France?"
# List traces (should show agent sessions with Type column)
tg-list-explain-traces -U trustgraph -C default
# Show agent trace
tg-show-explain-trace "urn:trustgraph:agent:xxx"
```
## Будущие задачи (не входят в этот PR)
Зависимости DAG (когда анализ N использует результаты нескольких предыдущих анализов)
Связь с конкретными инструментами (KnowledgeQuery → его трассировка GraphRAG)
Потоковая передача метаданных (отправлять по мере выполнения, а не пакетами в конце)