Agentspecifikationsformat
Agentspecifikationsformat
Tajo-agenter defineres i markdown-filer. Hver fil indeholder YAML frontmatter (identitet, værktøjer, begrænsninger) og en markdown-krop (instruktioner, strategi, regler). Dette format er inspireret af produktionsagentmønstre brugt i multi-agent orkestreringssystemer.
Filstruktur
---name: agent-namedescription: Hvad denne agent gør (maks. 160 tegn)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---
# Agentens navn
Naturligt sprog-instruktioner til agenten...Frontmatter-felter
Obligatoriske felter
| Felt | Type | Beskrivelse |
|---|---|---|
name | string | Unikt kebab-case-id (f.eks. cart-recovery-agent) |
description | string | Hvad agenten gør (maks. 160 tegn) |
version | string | Semantisk versionering (f.eks. 1.0.0) |
tools | array | Brevo MCP-servermoduler agenten kan tilgå |
Adfærdsfelter
| Felt | Type | Standard | Beskrivelse |
|---|---|---|---|
temperature | float | 0.3 | LLM-temperatur. Lavere = mere deterministisk. Brug 0.1-0.2 for dataoperationer, 0.3-0.5 for kampagnedesign |
max_tokens | integer | 4096 | Maksimal responslængde pr. omgang |
model | string | claude-sonnet-4-6 | LLM-model der bruges |
Udløserfelter
| Felt | Type | Standard | Beskrivelse |
|---|---|---|---|
triggers | array | [] | Hændelser, tidsplaner eller webhooks der udløser agenten |
triggers[].event | string | - | Hændelsesnavn (f.eks. cart_abandoned, customer_created) |
triggers[].schedule | string | - | Cron-udtryk (f.eks. 0 9 * * * for dagligt kl. 9:00) |
triggers[].webhook | string | - | Webhook-sti (f.eks. /agents/cart-recovery/trigger) |
triggers[].conditions | array | [] | Filtreringsbetingelser for udløseren |
triggers[].debounce | string | - | Debounce-vindue (f.eks. 5m, 1h) |
Tilladelsesfelter
| Felt | Type | Standard | Beskrivelse |
|---|---|---|---|
permissions | array | [] | Nødvendige tilladelsesomfang til revisionslog |
related_agents | array | [] | Agent-ID’er denne agent kan delegere til |
escalation | string | - | Hvad der skal eskaleres ved agentusikkerhed (human, supervisor-agent) |
Værktøjer: Mapping til Brevo MCP-servere
Feltet tools refererer til Brevo MCP-servermodulnavne. Hvert modul mapper til et specifikt endpoint på mcp.brevo.com:
tools: # Kontakter og segmentering - brevo_contacts # /v1/brevo_contacts/mcp - brevo_lists # /v1/brevo_lists/mcp - brevo_segments # /v1/brevo_segments/mcp - brevo_attributes # /v1/brevo_attributes/mcp
# Kampagner og beskeder - 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
# Analyse - brevo_campaign_analytics # /v1/brevo_campaign_analytics/mcp
# Salgs-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
Brug det minimale sæt værktøjer din agent behøver. Færre værktøjer = bedre AI-ræsonnering og hurtigere svar. Se Brevo MCP-server for alle tilgængelige moduler.
Udløsere
Hændelsesudløsere
Udløs agenten når noget sker i dit system:
triggers: - event: cart_abandoned conditions: - cart_value: "> 50" - items_count: ">= 1" - time_since_activity: "> 30m" debounce: 5mTidsplansudløsere
Kør agenten på en tilbagevendende tidsplan:
triggers: - schedule: "0 9 * * MON" # Hver mandag kl. 9:00 timezone: "America/New_York" - schedule: "0 */4 * * *" # Hver 4. time - schedule: "0 0 1 * *" # Den første dag i månedenWebhook-udløsere
Kald agenten via HTTP:
triggers: - webhook: /agents/win-back/trigger method: POST authentication: api_keyMarkdown-krop: Instruktioner
Agentspecifikationens krop er naturligt sprog-instruktioner. Skriv det som en briefing til en erfaren marketeer:
Struktur
# Agentens navn
Kontekstafsnit, hvad agenten gør og hvorfor.
## Strategi
Trin-for-trin tilgang agenten følger.
## Beslutningsramme
Regler for at træffe valg (f.eks. hvilken kanal der skal bruges baseret på kurvværdi).
## Regler
Hårde begrænsninger, ting agenten ALTID eller ALDRIG må gøre.
## Skabeloner
Referencer til skabelon-ID'er i Brevo, SMS-tekst, WhatsApp-skabeloner.
## Metrics
Hændelser der skal spores for at måle succes.Skriv effektive instruktioner
Vær specifik om strategien, ikke kun målene:
## DårligtGeninddrag tabte kunder.
## GodtNår en kunde ikke har købt i 90+ dage:1. Kontroller deres seneste 3 ordrer for produktkategori-præferencer2. Opret en personaliseret rabat baseret på AOV (10% hvis AOV > $100, 15% hvis < $100)3. Send email med emne der refererer til den foretrukne kategori4. Vent 72 timer, ingen åbning, send SMS med rabatkode5. Vent 7 dage, ingen køb, markér som dybt tabt og stop sekvensenDefiner begrænsninger eksplicit:
## Regler- SEND ALDRIG mere end 3 beskeder per sekvens- KONTAKT ALDRIG kunder der har frameldt sig- VERIFICER ALTID om kunden har konverteret før næste trin sendes- RESPEKTER ALTID stille timer (ingen SMS 21:00-9:00 lokal tid)- Ved beslutningsusikkerhed, eskaler til menneskelig gennemgangMulti-agent kæder
For komplekse arbejdsgange, sammensæt flere agenter i en kæde. Hver agent håndterer én fase og videregiver kontekst til den næste:
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.Kædevariabler
| Variabel | Beskrivelse |
|---|---|
{task} | Det originale mål/request |
{previous} | Output fra forrige trin |
{step_N} | Output fra trin N (nulindekseret) |
{artifacts_dir} | Mappe til filoutputs |
Prækonfigurerede agentspecifikationer
Kampagneorkestrering
---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---
# Kampagneorkestrering
Du er specialist i flerkanals marketingkampagner.Givet et kampagnebrief designer, bygger og lancerer dukampagner på tværs af email, SMS og WhatsApp via Brevo.
## Proces1. Forstå kampagnebriefet (målgruppe, budskab, mål, tidslinje)2. Opret eller identificer målsegmentet i Brevo3. Vælg den/de bedste kanal(er) baseret på målgruppepræferencedata4. Byg kampagneindhold ved hjælp af eksisterende skabeloner eller opret nye5. Konfigurer afsendelsestidsplan og A/B-tests6. Lancér og rapportér indledende leveringsmetrics
## Kanalvalg- Email: standard for alle kampagner- SMS: tilføj for tidsfølsomme tilbud eller kurvgenoprettelse- WhatsApp: tilføj for konversationskampagner eller høj-værdi segmenter
## Regler- GENNEMGÅ ALTID kampagner før afsendelse- SEND ALDRIG til frameldte kontakter- OPSÆT ALTID sporing til kampagneattribution- Maks. 2 varianter til A/B-test per kampagneKundeintelligensagent
---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"---
# Kundeintelligensagent
Du analyserer kundedata i Brevo for at genererehandlingsorienterede segmenter og indsigter til marketingteams.
## Ugentlig analyse1. Hent kontaktaktivitetsdata fra kampagneanalyse2. Beregn RFM-scores (Recency, Frequency, Monetary)3. Identificer segmentændringer (kunder der bevæger sig mellem niveauer)4. Flag churnrisici (faldende engagement i 4+ uger)5. Generer segmentanbefalinger til kommende kampagner
## Segmentdefinitioner- Champions: R=5, F=5, M=5, nylige, hyppige, høj-værdi- Loyale: R>=3, F>=4, M>=3, konsistente købere- I risiko: R<=2, F>=3, M>=3, var loyale, faldende nu- Dvale: R=1, F>=2, M>=2, lang tid siden, var aktive- Nye: første køb inden for de seneste 30 dage
## OutputGenerer markdown-rapport med:- Segmentstørrelser og ugentlige ændringer- Top 10 kunder i risiko efter LTV- Anbefalede handlinger per segment- Foreslåede kampagnetemaer til ugenDeployment
Programmatisk agentstart
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", // Forbind kun MCP-servere listet i agentens tools-felt 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); // Fuldt revisionslogconsole.log(result.metrics); // Sporede hændelserStart via Claude Code
# Peg mod din agentspecifikation og lad Claude udføre denclaude "Run the agent defined in ./agents/cart-recovery-agent.md for today's abandoned carts"Planlæg med cron
# Kør kundeintelligensagenten hver mandag kl. 6:000 6 * * MON claude --print "Run ./agents/customer-intelligence.md weekly analysis" >> /var/log/tajo-agents.log 2>&1Næste trin
- Brevo MCP-server, Tilgængelige værktøjer og serverkonfiguration
- Byg din første agent, Praktisk tutorial
- Færdighedsreference, Tajo-færdigheder der sammensættes med agenter
- MCP-arkitekturoversigt, Hvordan det hele passer sammen