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

# TreeRAG

> Pourquoi Stratta navigue la structure réelle d'une norme plutôt que de faire correspondre des embeddings — et pourquoi cela produit des citations déterministes.

TreeRAG est le modèle de raisonnement qui sous-tend Stratta. Il explique pourquoi les réponses
s'accompagnent de citations que vous pouvez ouvrir et vérifier, plutôt que de références approximatives.

## Le RAG, en bref

Le « RAG » (retrieval-augmented generation) consiste à fournir à une IA le bon texte source avant
qu'elle ne réponde, afin qu'elle raisonne à partir de documents plutôt que de sa mémoire. La
question est de savoir *comment* récupérer le bon texte. La réponse de Stratta, c'est **TreeRAG**.

## L'approche habituelle : les embeddings vectoriels

L'approche courante découpe un document en de nombreux petits fragments, convertit chacun en un
vecteur numérique, et au moment de la requête récupère les fragments dont les vecteurs sont les
plus proches de celui de la question. C'est rapide et généraliste, mais pour les normes d'ingénierie
cela comporte deux inconvénients :

* **Les citations deviennent floues.** Une frontière de fragment correspond rarement à une clause
  ou à une page, si bien que la référence à la norme reste approximative.
* **La structure est perdue.** Les normes sont hiérarchiques et truffées de références croisées. Les
  fragments à plat suppriment l'arbre chapitre → section → clause qui indique où vit une règle.

## L'approche de Stratta : naviguer l'arbre

Stratta stocke chaque norme sous la forme de sa **table des matières réelle** — un arbre de
chapitres, sections, sous-sections et annexes, inspiré de l'approche
[PageIndex](https://github.com/VectifyAI/PageIndex). Il n'y a **aucun embedding**.

Claude navigue cet arbre comme un ingénieur disposant de la norme imprimée :

| Étape | Ce que fait Claude                                   | Outil            |
| ----- | ---------------------------------------------------- | ---------------- |
| 1     | Voir quelles normes existent                         | `list_norms`     |
| 2     | Lire la structure des chapitres                      | `get_toc`        |
| 3     | Explorer un chapitre en profondeur                   | `get_subtree`    |
| 4     | Lire le contenu complet d'une section                | `get_section`    |
| 5     | Rechercher par mot-clé lorsque le chemin est inconnu | `search_in_norm` |
| 6     | Suivre les liens vers d'autres normes                | `get_cross_refs` |
| 7     | Ouvrir un schéma                                     | `get_figure`     |

Chaque section conserve son **chemin exact et sa plage de pages**. Ainsi, lorsque Claude cite
`[SIA 261, 8.2, p. 44]`, cet emplacement est réel et ouvrable — c'est ce que nous appelons une
**citation déterministe**.

## Pourquoi les références croisées comptent

Les normes SIA répartissent délibérément une même règle sur plusieurs normes : l'action dans la
SIA 261, les facteurs de sécurité et les combinaisons dans la SIA 260, les règles de matériau dans
la norme de domaine (béton dans la 262, acier dans la 263…). Stratta enregistre ces liens
explicitement pour que Claude puisse les suivre. Des références croisées manquantes sont la cause la
plus fréquente de réponses incomplètes — TreeRAG est conçu pour l'éviter.

## Compromis

TreeRAG est excellent pour les documents **structurés et critiques pour la citation** comme les
normes. Il exige toutefois un arbre de table des matières de grande qualité, raison pour laquelle
l'ingestion est minutieuse et pilotée par l'agent (voir
[Ingérer une norme](/fr/guides/ingest-a-norm)). Pour de la prose non structurée, de simples
embeddings peuvent être plus simples — mais ce n'est pas le problème que Stratta résout.

## Pour aller plus loin

<CardGroup cols={2}>
  <Card title="Architecture" icon="sitemap" href="/fr/concepts/architecture">
    Où l'arbre est stocké et servi.
  </Card>

  <Card title="Outils de lecture MCP" icon="book-open" href="/fr/mcp/read-tools">
    Les outils qui parcourent l'arbre.
  </Card>
</CardGroup>
