Jusqu'ici, un agent. Passons à un vrai cas métier ad-ops multi-agents : estimer le potentiel de diffusion et recommander des formats pour le CTR, en parallèle, puis fusionner le tout en un plan actionnable — le tout en lecture seule, via les vrais outils OrbiAds.
L'architecture
Trois agents, orchestrés par l'ADK :
SequentialAgent("gam_optimizer")
├─ ParallelAgent("specialists") # async
│ ├─ forecast_agent -> output_key = "forecast_result"
│ └─ format_agent -> output_key = "format_result"
└─ synthesis_agent # reads {forecast_result?} + {format_result?} Estime le potentiel d'impressions (trafic / forecast).
Calcule le CTR par taille et signale les tailles héritées.
Fusionne en un plan : potentiel → formats → tailles à abandonner.
Piège ADK : le templating d'instruction {var} est strict et lève un KeyError si la clé d'un sous-agent n'est pas encore présente. Utilisez la forme optionnelle {var?}.
L'honnêteté avant le remplissage
Sur un réseau de test sans trafic, il n'y a pas de CTR à calculer. Un bon
prompt fait répondre l'agent « donnée manquante » plutôt qu'inventer. C'est ce que
montre la trace : le forecast est « non chiffrable » faute de données, et le format_agent remonte les vrais freins GAM au lieu de fabriquer un résultat.
Les vrais freins GAM (à connaître)
- AD_REQUEST_SIZES est incompatible avec
IMPRESSIONS/CLICKSdans le rapport historique par défaut. - Le paramètre
dateRangen'est pas accepté tel quel parrun_custom_report— l'agent s'adapte et le signale. - Les tailles responsive/fluid remontent en
width=0/height=0: ce ne sont pas des tailles obsolètes, et l'agent ne les confond pas.
La discipline de prompt
Le multi-agent ne vaut que si chaque agent est fiable. Les règles qui font la différence : nommer l'action exacte de l'outil, interdire les noms d'outils inventés et les placeholders entre crochets, exiger un chiffre réel ou l'absence explicite de donnée, et n'appeler que des outils en lecture seule. On ajoute un NETWORK CHECK pour ne jamais lire un réseau de production par erreur. Le modèle, lui, reste un choix : c'est l'approche qu'on valide, pas un modèle précis.
La suite
Dernier épisode : faire parler le standard d'achat AdCP à un agent — valider et prévisualiser un media buy GAM, toujours en lecture seule.
