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-name
description: What this agent does (max 160 chars)
version: 1.0.0
temperature: 0.2
max_tokens: 4096
tools:
- brevo_contacts
- brevo_email_campaign_management
- brevo_sms_campaigns
triggers:
- 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

ChampTypeDescription
namestringIdentifiant unique en kebab-case (ex. cart-recovery-agent)
descriptionstringCe que fait cet agent (max 160 caractères)
versionstringVersion sémantique (ex. 1.0.0)
toolsarrayModules du serveur MCP Brevo auxquels cet agent peut accéder

Champs comportementaux

ChampTypeDéfautDescription
temperaturefloat0.3Tempé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_tokensinteger4096Longueur maximale de réponse par tour
modelstringclaude-sonnet-4-6Modèle LLM à utiliser

Champs de déclencheurs

ChampTypeDéfautDescription
triggersarray[]Événements, planifications ou webhooks qui activent cet agent
triggers[].eventstring-Nom de l’événement (ex. cart_abandoned, customer_created)
triggers[].schedulestring-Expression cron (ex. 0 9 * * * pour 9h quotidien)
triggers[].webhookstring-Chemin webhook (ex. /agents/cart-recovery/trigger)
triggers[].conditionsarray[]Conditions de filtrage pour le déclencheur
triggers[].debouncestring-Fenêtre de debounce (ex. 5m, 1h)

Champs de permissions

ChampTypeDéfautDescription
permissionsarray[]Portées de permissions requises pour la piste d’audit
related_agentsarray[]IDs d’agents auxquels cet agent peut déléguer
escalationstring-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/mcp

Tip

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: 5m

Dé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 month

Déclencheurs webhook

Invoquez l’agent via HTTP :

triggers:
- webhook: /agents/win-back/trigger
method: POST
authentication: api_key

Corps 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 :

## Mauvais
Re-engage churned customers.
## Bon
When a customer hasn't purchased in 90+ days:
1. Check their last 3 orders for product category preferences
2. Create a personalized discount based on AOV (10% if AOV > $100, 15% if < $100)
3. Send email with subject line referencing their preferred category
4. Wait 72 hours, if no open, send SMS with discount code
5. Wait 7 days, if no purchase, mark as deep-churn and stop sequence

Dé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 review

Chaî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 :

chain.yaml
name: quarterly-retention-campaign
steps:
- 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

VariableDescription
{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-orchestrator
description: Design and execute multi-channel campaigns from natural language prompts
version: 2.0.0
temperature: 0.3
tools:
- brevo_contacts
- brevo_segments
- brevo_email_campaign_management
- brevo_templates
- brevo_sms_campaigns
- brevo_whatsapp_campaigns
- brevo_campaign_analytics
triggers:
- webhook: /agents/campaign/trigger
method: POST
---
# Campaign Orchestrator
You are a multi-channel marketing campaign specialist.
Given a campaign brief, you design, build, and launch
campaigns across email, SMS, and WhatsApp via Brevo.
## Process
1. Parse the campaign brief (audience, message, goal, timeline)
2. Create or identify the target segment in Brevo
3. Select the best channel(s) based on audience preference data
4. Build campaign content using existing templates or creating new ones
5. Configure send schedule and A/B tests
6. 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 campaign

Agent d’intelligence client

---
name: customer-intelligence
description: Autonomous segmentation, RFM scoring, and churn prediction
version: 1.5.0
temperature: 0.2
tools:
- brevo_contacts
- brevo_segments
- brevo_attributes
- brevo_lists
- brevo_campaign_analytics
triggers:
- schedule: "0 6 * * MON"
timezone: "UTC"
---
# Customer Intelligence Agent
You analyze customer data in Brevo to generate actionable
segments and insights for marketing teams.
## Weekly Analysis
1. Pull contact activity data from campaign analytics
2. 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
## Output
Produce 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 week

Dé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 trail
console.log(result.metrics); // Events tracked

Exécution via Claude Code

Terminal window
# Point to your agent spec and let Claude execute it
claude "Run the agent defined in ./agents/cart-recovery-agent.md for today's abandoned carts"

Planification avec Cron

Terminal window
# Run the customer intelligence agent every Monday at 6am
0 6 * * MON claude --print "Run ./agents/customer-intelligence.md weekly analysis" >> /var/log/tajo-agents.log 2>&1

Prochaines étapes

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

Assistant AI

Bonjour ! Posez-moi vos questions sur la documentation.

Commencez gratuitement avec Brevo