Formato Specifiche Agenti
Formato Specifiche Agenti
Gli agenti Tajo sono definiti in file markdown. Ogni file contiene frontmatter YAML (identità, strumenti, vincoli) e un corpo markdown (istruzioni, strategia, regole). Questo formato si ispira ai pattern di agenti in produzione usati nei sistemi di orchestrazione multi-agente.
Struttura del File
---name: agent-namedescription: Cosa fa questo agente (max 160 caratteri)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---
# Nome Agente
Istruzioni per l'agente in linguaggio naturale...Campi Frontmatter
Campi Obbligatori
| Campo | Tipo | Descrizione |
|---|---|---|
name | stringa | Identificatore univoco in kebab-case (es. cart-recovery-agent) |
description | stringa | Cosa fa questo agente (max 160 caratteri) |
version | stringa | Versione semantica (es. 1.0.0) |
tools | array | Moduli server MCP Brevo a cui questo agente può accedere |
Campi Comportamentali
| Campo | Tipo | Default | Descrizione |
|---|---|---|---|
temperature | float | 0.3 | Temperatura LLM. Più bassa = più deterministica. Usa 0.1-0.2 per operazioni sui dati, 0.3-0.5 per la progettazione di campagne |
max_tokens | intero | 4096 | Lunghezza massima risposta per turno |
model | stringa | claude-sonnet-4-6 | Modello LLM da usare |
Campi Trigger
| Campo | Tipo | Default | Descrizione |
|---|---|---|---|
triggers | array | [] | Eventi, pianificazioni o webhook che attivano questo agente |
triggers[].event | stringa | - | Nome evento (es. cart_abandoned, customer_created) |
triggers[].schedule | stringa | - | Espressione cron (es. 0 9 * * * per le 9 del mattino quotidiane) |
triggers[].webhook | stringa | - | Percorso webhook (es. /agents/cart-recovery/trigger) |
triggers[].conditions | array | [] | Condizioni filtro per il trigger |
triggers[].debounce | stringa | - | Finestra di debounce (es. 5m, 1h) |
Campi Permessi
| Campo | Tipo | Default | Descrizione |
|---|---|---|---|
permissions | array | [] | Scope di permesso richiesti per la traccia di audit |
related_agents | array | [] | ID agenti a cui questo agente può delegare |
escalation | stringa | - | Dove instradare quando l’agente è incerto (human, supervisor-agent) |
Strumenti: Mappatura ai Server MCP Brevo
Il campo tools fa riferimento ai nomi dei moduli server MCP Brevo. Ogni modulo si mappa a un endpoint specifico su mcp.brevo.com:
tools: # Contatti e Segmentazione - brevo_contacts # /v1/brevo_contacts/mcp - brevo_lists # /v1/brevo_lists/mcp - brevo_segments # /v1/brevo_segments/mcp - brevo_attributes # /v1/brevo_attributes/mcp
# Campagne e Messaggistica - 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
Usa il set minimo di strumenti di cui il tuo agente ha bisogno. Meno strumenti = migliore ragionamento IA e risposte più veloci. Vedi Server MCP Brevo per tutti i moduli disponibili.
Trigger
Trigger per Evento
Attiva l’agente quando accade qualcosa nel tuo sistema:
triggers: - event: cart_abandoned conditions: - cart_value: "> 50" - items_count: ">= 1" - time_since_activity: "> 30m" debounce: 5mTrigger per Pianificazione
Esegui l’agente su una pianificazione ricorrente:
triggers: - schedule: "0 9 * * MON" # Ogni lunedì alle 9 timezone: "Europe/Rome" - schedule: "0 */4 * * *" # Ogni 4 ore - schedule: "0 0 1 * *" # Primo giorno di ogni meseTrigger Webhook
Invoca l’agente tramite HTTP:
triggers: - webhook: /agents/win-back/trigger method: POST authentication: api_keyCorpo Markdown: Istruzioni
Il corpo della specifica agente è in linguaggio naturale. Scrivilo come se stessi istruendo un marketer esperto:
Struttura
# Nome Agente
Paragrafo di contesto, cosa fa questo agente e perché.
## Strategia
Approccio passo dopo passo che l'agente deve seguire.
## Framework Decisionale
Regole per fare scelte (es. quale canale usare in base al valore del carrello).
## Regole
Vincoli rigidi, cose che l'agente deve SEMPRE o MAI fare.
## Template
Riferimenti agli ID template Brevo, testo SMS, template WhatsApp.
## Metriche
Eventi da tracciare per misurare il successo.Scrivere Istruzioni Efficaci
Sii specifico sulla strategia, non solo sugli obiettivi:
## MaleRe-engaggia i clienti abbandonati.
## BeneQuando un cliente non ha acquistato per 90+ giorni:1. Controlla i suoi ultimi 3 ordini per le preferenze di categoria prodotto2. Crea uno sconto personalizzato basato sull'AOV (10% se AOV > $100, 15% se < $100)3. Invia email con oggetto che fa riferimento alla loro categoria preferita4. Aspetta 72 ore, se non aperta, invia SMS con codice sconto5. Aspetta 7 giorni, se nessun acquisto, contrassegna come deep-churn e ferma la sequenzaDefinisci i guardrail esplicitamente:
## Regole- MAI inviare più di 3 messaggi per sequenza- MAI contattare clienti che si sono disiscritti- SEMPRE verificare se il cliente si è convertito prima di inviare il passo successivo- SEMPRE rispettare le ore di silenzio (nessun SMS 21-9 ora locale)- In caso di dubbio su una decisione, escalate alla revisione umanaCatene Multi-Agente
Per workflow complessi, componi più agenti in una catena. Ogni agente gestisce una fase, passando il contesto al successivo:
name: quarterly-retention-campaignsteps: - agent: customer-intelligence input: | Analizza i segmenti clienti per la campagna di retention Q2. Obiettivo: {task}
Identifica: 1. Clienti a rischio (frequenza di acquisto in calo) 2. Clienti VIP (top 10% per LTV) 3. Candidati win-back (90+ giorni dall'ultimo ordine)
- agent: campaign-designer input: | Progetta campagne di retention per questi segmenti: {previous}
Crea approcci differenziati per segmento: - A rischio: nudge gentile con raccomandazioni prodotto - VIP: accesso anticipato esclusivo o premio fedeltà - Win-back: sconto aggressivo con urgenza
- agent: campaign-executor input: | Esegui queste campagne tramite Brevo: {previous}
Usa canali appropriati per le preferenze del segmento. Imposta A/B test per le righe oggetto. Pianifica gli invii per i tempi ottimali.
- agent: campaign-reporter input: | Genera il report di lancio della campagna di retention: {previous}
Includi: segmenti target, campagne create, portata prevista, configurazioni A/B test.Variabili di Catena
| Variabile | Descrizione |
|---|---|
{task} | L’obiettivo/richiesta originale |
{previous} | Output dal passo precedente |
{step_N} | Output dal passo N (indice 0) |
{artifacts_dir} | Directory per gli output dei file |
Specifiche Agenti Preconfigurati
Campaign Orchestrator
---name: campaign-orchestratordescription: Progetta ed esegue campagne multi-canale da prompt in linguaggio naturaleversion: 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
Sei uno specialista in campagne di marketing multi-canale.Dato un brief di campagna, progetti, costruisci e lancicampagne su email, SMS e WhatsApp tramite Brevo.
## Processo1. Analizza il brief della campagna (audience, messaggio, obiettivo, timeline)2. Crea o identifica il segmento target in Brevo3. Seleziona i canali migliori in base ai dati sulle preferenze del pubblico4. Costruisci il contenuto della campagna usando template esistenti o creandone di nuovi5. Configura la pianificazione dell'invio e gli A/B test6. Lancia e riporta le metriche iniziali di consegna
## Selezione del Canale- Email: default per tutte le campagne- SMS: aggiungi per offerte urgenti o recupero carrelli- WhatsApp: aggiungi per campagne conversazionali o segmenti di alto valore
## Regole- SEMPRE visualizza l'anteprima delle campagne prima dell'invio- MAI inviare a contatti disiscritti- SEMPRE imposta il tracciamento per l'attribuzione della campagna- Massimo 2 varianti A/B test per campagnaCustomer Intelligence Agent
---name: customer-intelligencedescription: Segmentazione autonoma, scoring RFM e previsione abbandonoversion: 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
Analizzi i dati clienti in Brevo per generare segmentie insight azionabili per i team di marketing.
## Analisi Settimanale1. Recupera i dati di attività dei contatti dalle analytics delle campagne2. Calcola i punteggi RFM (Recency, Frequency, Monetary)3. Identifica i cambiamenti di segmento (clienti che si spostano tra i livelli)4. Segnala i rischi di abbandono (coinvolgimento in calo per 4+ settimane)5. Genera raccomandazioni di segmento per le campagne imminenti
## Definizioni dei Segmenti- Champions: R=5, F=5, M=5, recenti, frequenti, alto valore- Fedeli: R>=3, F>=4, M>=3, acquirenti costanti- A Rischio: R<=2, F>=3, M>=3, erano fedeli, ora in calo- In Ibernazione: R=1, F>=2, M>=2, spariti da tempo, erano attivi- Nuovi: primo acquisto negli ultimi 30 giorni
## OutputProduci un report markdown con:- Dimensioni dei segmenti e variazioni settimana su settimana- Top 10 clienti a rischio per LTV- Azioni consigliate per segmento- Temi di campagna suggeriti per la settimanaDistribuzione
Esecuzione di un Agente in Modo Programmatico
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", // Connetti solo i server MCP elencati nel campo tools dell'agente autoConnectServers: true,});
const result = await agent.run( "Recupera i carrelli abbandonati superiori a $50 delle ultime 4 ore");
console.log(result.summary);console.log(result.toolCalls); // Traccia di audit completaconsole.log(result.metrics); // Eventi tracciatiEsecuzione tramite Claude Code
# Punta alla specifica del tuo agente e lascia che Claude la eseguaclaude "Esegui l'agente definito in ./agents/cart-recovery-agent.md per i carrelli abbandonati di oggi"Pianificazione con Cron
# Esegui l'agente di customer intelligence ogni lunedì alle 60 6 * * MON claude --print "Esegui ./agents/customer-intelligence.md analisi settimanale" >> /var/log/tajo-agents.log 2>&1Passi Successivi
- Server MCP Brevo, Strumenti disponibili e configurazione server
- Creare il Primo Agente, Tutorial pratico
- Riferimento Skill, Skill Tajo che si compongono con gli agenti
- Panoramica Architettura MCP, Come tutto si incastra