# Recherche — Zammad AI Agents (différé, pilote futur)

> **Statut : DIFFÉRÉ (2026-06-26).** Analysé, non construit pour le POC. À piloter quand le volume
> le justifie. Source : https://admin-docs.zammad.org/en/latest/ai/ai-agents.html

## Ce que c'est

Automatisation IA qui agit **uniquement sur les métadonnées** d'un ticket. **Ne rédige jamais de
réponse client** (ça, c'est le Writing Assistant, cf. `docs/ai/writing-assistant-tools.md`).

Types d'agents : **catégoriseur**, **dispatcher de groupe** (routage), **prioritiseur**, **tagger**,
**extracteur de texte** (vers champs custom), **réécriture de titre**.

- **Déclenchement** : ne tournent pas seuls → invoqués par un **trigger**, un **scheduler job** ou
  une **macro**.
- **Entrées** : titre + contenu d'article (tous / dernier / premier) + métadonnées existantes.
- **Prérequis** : provider IA actif (✅ on a Anthropic) + permission `admin.ai_agent` + souvent des
  **champs custom** (System › Objects) pour catégoriseur/extracteur.

## Opportunités pour ADVMFR

- **Triage dispatcher** : classer les mails `contact@` par intention pour mieux router, là où nos
  triggers regex sont les plus faibles (messages sans mot-clé exact).
- **Détecteur de langue** : plus fiable que notre flag regex `non-english` — et **contourne la
  limitation ES** qui empêche le trigger 40 (`article.body`) de se déclencher à la création (cf.
  `docs/research/mailboxes-routing.md`).
- **Extracteur** : n° de commande, karat, quantités, type de pierre → champs custom (reporting).
- **Réécriture de titre** : normaliser les sujets vagues (« Help! » → sujet exploitable).

## Pourquoi on diffère (caveats)

- Le **routage par mots-clés actuel fonctionne** et est **déterministe** (validé end-to-end).
- **Coût par ticket** : chaque ticket déclencherait un appel IA *en plus* du Writing Assistant.
- **Complexité** : champs custom (Objects) à créer ; la doc avertit que les agents **ne doivent pas
  écraser** des changements (coordination trigger/scheduler/macro).
- **Non-déterminisme** vs nos triggers regex.
- Mieux évalué avec du **vrai volume**, pas en POC sur domaine de test.

## Reco pilote (quand on y reviendra)

1. Commencer par **un seul** agent à faible risque : **Triage dispatcher** OU **détecteur de
   langue** sur `contact@` uniquement.
2. L'invoquer via un **trigger** sur nouveau ticket du groupe Triage.
3. **Mesurer** : qualité de classification + coût IA / ticket sur un échantillon.
4. Étendre seulement si le gain dépasse le coût. Sinon, garder les triggers regex.

À figer dans un ADR si adopté (lien éventuel avec l'ADR 0003 service externe).
