Files
IdeA/.ideai/memory/context-agent-token-offload-design.md

59 lines
3.4 KiB
Markdown

---
name: context-agent-token-offload-design
description: memory note context-agent-token-offload-design
metadata:
type: project
---
# Agent Context — allègement token, périmètre figé
Décision validée le 2026-07-23 : un nouvel agent **Context**, tournant sur un **LLM local peu
puissant**, a été ajouté au projet IdeA pour réduire la fréquence des limites de tokens atteintes
par les autres agents (Main, Architect, UX, DevBackend, DevFrontend, QA, Git) — **sans dégrader
la qualité de leurs décisions**.
## Périmètre retenu (mécanique, faible risque)
- Recherche de symboles (localisation définition/usage).
- Résumé de fichier(s) — factuel, pas d'interprétation architecturale.
- Classification d'erreurs de compilation (tri d'un log brut).
- Extraction des tests en échec (à partir d'une sortie de test brute).
- Résumé de diff (`git diff` volumineux → liste factuelle de fichiers/nature de changement).
- Repérage de fichiers probablement concernés par un ticket (piste, pas garantie).
## Explicitement exclu / dégradé en brouillon uniquement
Proposer un message de commit, générer un test unitaire, mettre à jour une documentation qui fait
foi : ce sont des artefacts qui engagent une décision et qui appartiennent aux agents propriétaires
(Git pour les commits, QA pour les tests). Un modèle local faible qui les produit comme livrable
ferait courir un risque de qualité que la vérification par l'agent fort annulerait de toute façon
le gain de tokens visé. Context peut produire un brouillon explicitement marqué comme tel, jamais
un livrable.
## Garde-fous de fiabilité (vu la faiblesse du modèle)
Context ne décide rien, ne corrige pas de code de production, ne remplace jamais une vérification
qui doit être prouvée (tests QA, verdict de build), et ne devine jamais quand l'information manque
— il doit dire "non trouvé"/"incertain" plutôt qu'extrapoler. Réponses courtes, structurées,
citant ce qui a été effectivement vu (chemins, lignes), sans jugement de valeur.
## Où c'est câblé
- Contexte agent : `.ideai/agents/context.md` (écrit via `idea_update_context`).
- Template global IdeA créé : « Context — Agent d'assistance légère à faible coût »
(`defaultProfileId` = profil LLM local de l'agent Context), pour réutilisation cross-projet.
Le template ne contient que la partie générique (aucune référence à IdeA le produit) ;
la déclaration des 7 autres rôles nommés reste project-spécifique et vit dans
`.ideai/agents/context.md` du projet, pas dans le template.
- Rôle ajouté à la liste des rôles du contexte projet global (CLAUDE.md §3) : Context ne fait
**pas** partie du cycle obligatoire (§4) — pas d'étape qui lui est dédiée, il est sollicité en
support ponctuel par n'importe quel agent.
- Chaque agent (Main, Architect, DevBackend, DevFrontend, QA, Git, UX) a reçu un ajout court dans
sa section « Délégation & collaboration » expliquant quand solliciter Context et rappelant que
son résultat est une piste à vérifier, jamais une conclusion ou une décision.
## Pourquoi
Voir [[idea-product-directives-main-handoff]] pour les directives produit générales ; cette note
couvre spécifiquement le compromis coût-tokens/qualité qui a motivé le périmètre volontairement
restreint de Context (pas de délégation de jugement, seulement de compression/extraction
factuelle).