Format de spécification d'agent
Format de spécification d’agent
Les agents Tajo sont définis dans des fichiers markdown. Chaque fichier contient un frontmatter YAML (identité, outils, contraintes) et un corps markdown (instructions, stratégie, règles). Ce format s’inspire des schémas d’agents en production utilisés dans les systèmes d’orchestration multi-agents.
Structure du fichier
---name: agent-namedescription: What this agent does (max 160 chars)version: 1.0.0temperature: 0.2max_tokens: 4096tools: - brevo_contacts - brevo_email_campaign_management - brevo_sms_campaignstriggers: - event: cart_abandoned - schedule: "0 */4 * * *"permissions: - contacts:read - email:send - sms:send---
# Agent Name
Instructions for the agent in natural language...Champs du frontmatter
Champs requis
| Champ | Type | Description |
|---|---|---|
name | string | Identifiant unique en kebab-case (ex. cart-recovery-agent) |
description | string | Ce que fait cet agent (max 160 caractères) |
version | string | Version sémantique (ex. 1.0.0) |
tools | array | Modules du serveur MCP Brevo auxquels cet agent peut accéder |
Champs comportementaux
| Champ | Type | Défaut | Description |
|---|---|---|---|
temperature | float | 0.3 | Température LLM. Plus basse = plus déterministe. Utilisez 0.1-0.2 pour les opérations de données, 0.3-0.5 pour la conception de campagnes |
max_tokens | integer | 4096 | Longueur maximale de réponse par tour |
model | string | claude-sonnet-4-6 | Modèle LLM à utiliser |
Champs de déclencheurs
| Champ | Type | Défaut | Description |
|---|---|---|---|
triggers | array | [] | Événements, planifications ou webhooks qui activent cet agent |
triggers[].event | string | - | Nom de l’événement (ex. cart_abandoned, customer_created) |
triggers[].schedule | string | - | Expression cron (ex. 0 9 * * * pour 9h quotidien) |
triggers[].webhook | string | - | Chemin webhook (ex. /agents/cart-recovery/trigger) |
triggers[].conditions | array | [] | Conditions de filtrage pour le déclencheur |
triggers[].debounce | string | - | Fenêtre de debounce (ex. 5m, 1h) |
Champs de permissions
| Champ | Type | Défaut | Description |
|---|---|---|---|
permissions | array | [] | Portées de permissions requises pour la piste d’audit |
related_agents | array | [] | IDs d’agents auxquels cet agent peut déléguer |
escalation | string | - | Où router quand l’agent est incertain (human, supervisor-agent) |
Outils : Correspondance avec les serveurs MCP Brevo
Le champ tools référence les noms des modules du serveur MCP Brevo. Chaque module correspond à un point de terminaison spécifique sur mcp.brevo.com :
tools: # Contacts & Segmentation - brevo_contacts # /v1/brevo_contacts/mcp - brevo_lists # /v1/brevo_lists/mcp - brevo_segments # /v1/brevo_segments/mcp - brevo_attributes # /v1/brevo_attributes/mcp
# Campaigns & Messaging - brevo_email_campaign_management # /v1/brevo_email_campaign_management/mcp - brevo_templates # /v1/brevo_templates/mcp - brevo_sms_campaigns # /v1/brevo_sms_campaigns/mcp - brevo_whatsapp_campaigns # /v1/brevo_whatsapp_campaigns/mcp
# Analytics - brevo_campaign_analytics # /v1/brevo_campaign_analytics/mcp
# Sales CRM - brevo_deals # /v1/brevo_deals/mcp - brevo_companies # /v1/brevo_companies/mcp - brevo_tasks # /v1/brevo_tasks/mcp - brevo_pipelines # /v1/brevo_pipelines/mcp - brevo_notes # /v1/brevo_notes/mcpTip
Utilisez l’ensemble minimum d’outils dont votre agent a besoin. Moins d’outils = meilleur raisonnement IA et réponses plus rapides. Voir Serveur MCP Brevo pour tous les modules disponibles.
Déclencheurs
Déclencheurs d’événements
Activez l’agent quand quelque chose se produit dans votre système :
triggers: - event: cart_abandoned conditions: - cart_value: "> 50" - items_count: ">= 1" - time_since_activity: "> 30m" debounce: 5mDéclencheurs planifiés
Exécutez l’agent selon une planification récurrente :
triggers: - schedule: "0 9 * * MON" # Every Monday at 9am timezone: "America/New_York" - schedule: "0 */4 * * *" # Every 4 hours - schedule: "0 0 1 * *" # First day of each monthDéclencheurs webhook
Invoquez l’agent via HTTP :
triggers: - webhook: /agents/win-back/trigger method: POST authentication: api_keyCorps markdown : Instructions
Le corps de la spécification d’agent est constitué d’instructions en langage naturel. Rédigez-le comme si vous briefiez un marketeur qualifié :
Structure
# Agent Name
Context paragraph, what this agent does and why.
## Strategy
Step-by-step approach the agent should follow.
## Decision Framework
Rules for making choices (e.g., which channel to use based on cart value).
## Rules
Hard constraints, things the agent must ALWAYS or NEVER do.
## Templates
References to Brevo template IDs, SMS copy, WhatsApp templates.
## Metrics
Events to track for measuring success.Écrire des instructions efficaces
Soyez spécifique sur la stratégie, pas seulement sur les objectifs :
## MauvaisRe-engage churned customers.
## BonWhen a customer hasn't purchased in 90+ days:1. Check their last 3 orders for product category preferences2. Create a personalized discount based on AOV (10% if AOV > $100, 15% if < $100)3. Send email with subject line referencing their preferred category4. Wait 72 hours, if no open, send SMS with discount code5. Wait 7 days, if no purchase, mark as deep-churn and stop sequenceDéfinissez les garde-fous explicitement :
## Rules- NEVER send more than 3 messages per sequence- NEVER contact customers who unsubscribed- ALWAYS check if the customer converted before sending the next step- ALWAYS respect quiet hours (no SMS 9pm-9am local time)- If unsure about a decision, escalate to human reviewChaînes multi-agents
Pour les flux de travail complexes, composez plusieurs agents en chaîne. Chaque agent gère une phase, transmettant le contexte au suivant :
name: quarterly-retention-campaignsteps: - agent: customer-intelligence input: | Analyze customer segments for Q2 retention campaign. Goal: {task}
Identify: 1. At-risk customers (declining purchase frequency) 2. VIP customers (top 10% by LTV) 3. Win-back candidates (90+ days since last order)
- agent: campaign-designer input: | Design retention campaigns for these segments: {previous}
Create differentiated approaches per segment: - At-risk: gentle nudge with product recommendations - VIP: exclusive early access or loyalty reward - Win-back: aggressive discount with urgency
- agent: campaign-executor input: | Execute these campaigns via Brevo: {previous}
Use appropriate channels per segment preference. Set up A/B tests for subject lines. Schedule sends for optimal times.
- agent: campaign-reporter input: | Generate the retention campaign launch report: {previous}
Include: segments targeted, campaigns created, expected reach, A/B test configurations.Variables de chaîne
| Variable | Description |
|---|---|
{task} | L’objectif/requête d’origine |
{previous} | Sortie de l’étape précédente |
{step_N} | Sortie de l’étape N (indexée à 0) |
{artifacts_dir} | Répertoire pour les sorties de fichiers |
Spécifications d’agents prêts à l’emploi
Orchestrateur de campagnes
---name: campaign-orchestratordescription: Design and execute multi-channel campaigns from natural language promptsversion: 2.0.0temperature: 0.3tools: - brevo_contacts - brevo_segments - brevo_email_campaign_management - brevo_templates - brevo_sms_campaigns - brevo_whatsapp_campaigns - brevo_campaign_analyticstriggers: - webhook: /agents/campaign/trigger method: POST---
# Campaign Orchestrator
You are a multi-channel marketing campaign specialist.Given a campaign brief, you design, build, and launchcampaigns across email, SMS, and WhatsApp via Brevo.
## Process1. Parse the campaign brief (audience, message, goal, timeline)2. Create or identify the target segment in Brevo3. Select the best channel(s) based on audience preference data4. Build campaign content using existing templates or creating new ones5. Configure send schedule and A/B tests6. Launch and report initial delivery metrics
## Channel Selection- Email: default for all campaigns- SMS: add for time-sensitive offers or cart recovery- WhatsApp: add for conversational campaigns or high-value segments
## Rules- ALWAYS preview campaigns before sending- NEVER send to unsubscribed contacts- ALWAYS set up tracking for campaign attribution- Maximum 2 A/B test variants per campaignAgent d’intelligence client
---name: customer-intelligencedescription: Autonomous segmentation, RFM scoring, and churn predictionversion: 1.5.0temperature: 0.2tools: - brevo_contacts - brevo_segments - brevo_attributes - brevo_lists - brevo_campaign_analyticstriggers: - schedule: "0 6 * * MON" timezone: "UTC"---
# Customer Intelligence Agent
You analyze customer data in Brevo to generate actionablesegments and insights for marketing teams.
## Weekly Analysis1. Pull contact activity data from campaign analytics2. Calculate RFM scores (Recency, Frequency, Monetary)3. Identify segment shifts (customers moving between tiers)4. Flag churn risks (declining engagement over 4+ weeks)5. Generate segment recommendations for upcoming campaigns
## Segment Definitions- Champions: R=5, F=5, M=5, recent, frequent, high-value- Loyal: R>=3, F>=4, M>=3, consistent buyers- At Risk: R<=2, F>=3, M>=3, were loyal, now fading- Hibernating: R=1, F>=2, M>=2, long gone, were once active- New: first purchase in last 30 days
## OutputProduce a markdown report with:- Segment sizes and week-over-week changes- Top 10 at-risk customers by LTV- Recommended actions per segment- Suggested campaign themes for the weekDéploiement
Exécution programmatique d’un agent
import { TajoAgent } from "@tajo/agent-sdk";
const agent = new TajoAgent({ specPath: "./agents/cart-recovery-agent.md", brevoToken: process.env.BREVO_MCP_TOKEN, model: "claude-sonnet-4-6", // Only connect the MCP servers listed in the agent's tools field autoConnectServers: true,});
const result = await agent.run( "Recover abandoned carts over $50 from the last 4 hours");
console.log(result.summary);console.log(result.toolCalls); // Full audit trailconsole.log(result.metrics); // Events trackedExécution via Claude Code
# Point to your agent spec and let Claude execute itclaude "Run the agent defined in ./agents/cart-recovery-agent.md for today's abandoned carts"Planification avec Cron
# Run the customer intelligence agent every Monday at 6am0 6 * * MON claude --print "Run ./agents/customer-intelligence.md weekly analysis" >> /var/log/tajo-agents.log 2>&1Prochaines étapes
- Serveur MCP Brevo, Outils disponibles et configuration du serveur
- Créer votre premier agent, Tutoriel pratique
- Référence des Skills, Skills Tajo qui se composent avec les agents
- Vue d’ensemble de l’architecture MCP, Comment tout s’assemble