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-name
description: Hvad denne agent gør (maks. 160 tegn)
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
---
# Agentens navn
Naturligt sprog-instruktioner til agenten...

Frontmatter-felter

Obligatoriske felter

FeltTypeBeskrivelse
namestringUnikt kebab-case-id (f.eks. cart-recovery-agent)
descriptionstringHvad agenten gør (maks. 160 tegn)
versionstringSemantisk versionering (f.eks. 1.0.0)
toolsarrayBrevo MCP-servermoduler agenten kan tilgå

Adfærdsfelter

FeltTypeStandardBeskrivelse
temperaturefloat0.3LLM-temperatur. Lavere = mere deterministisk. Brug 0.1-0.2 for dataoperationer, 0.3-0.5 for kampagnedesign
max_tokensinteger4096Maksimal responslængde pr. omgang
modelstringclaude-sonnet-4-6LLM-model der bruges

Udløserfelter

FeltTypeStandardBeskrivelse
triggersarray[]Hændelser, tidsplaner eller webhooks der udløser agenten
triggers[].eventstring-Hændelsesnavn (f.eks. cart_abandoned, customer_created)
triggers[].schedulestring-Cron-udtryk (f.eks. 0 9 * * * for dagligt kl. 9:00)
triggers[].webhookstring-Webhook-sti (f.eks. /agents/cart-recovery/trigger)
triggers[].conditionsarray[]Filtreringsbetingelser for udløseren
triggers[].debouncestring-Debounce-vindue (f.eks. 5m, 1h)

Tilladelses­felter

FeltTypeStandardBeskrivelse
permissionsarray[]Nødvendige tilladelsesomfang til revisionslog
related_agentsarray[]Agent-ID’er denne agent kan delegere til
escalationstring-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/mcp

Tip

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

Tidsplansudlø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åneden

Webhook-udløsere

Kald agenten via HTTP:

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

Markdown-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årligt
Geninddrag tabte kunder.
## Godt
Når en kunde ikke har købt i 90+ dage:
1. Kontroller deres seneste 3 ordrer for produktkategori-præferencer
2. Opret en personaliseret rabat baseret på AOV (10% hvis AOV > $100, 15% hvis < $100)
3. Send email med emne der refererer til den foretrukne kategori
4. Vent 72 timer, ingen åbning, send SMS med rabatkode
5. Vent 7 dage, ingen køb, markér som dybt tabt og stop sekvensen

Definer 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 gennemgang

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

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.

Kæde­variabler

VariabelBeskrivelse
{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-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
---
# Kampagneorkestrering
Du er specialist i flerkanals marketingkampagner.
Givet et kampagnebrief designer, bygger og lancerer du
kampagner på tværs af email, SMS og WhatsApp via Brevo.
## Proces
1. Forstå kampagnebriefet (målgruppe, budskab, mål, tidslinje)
2. Opret eller identificer målsegmentet i Brevo
3. Vælg den/de bedste kanal(er) baseret på målgruppepræferencedata
4. Byg kampagneindhold ved hjælp af eksisterende skabeloner eller opret nye
5. Konfigurer afsendelsestidsplan og A/B-tests
6. 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 kampagne

Kundeintelligensagent

---
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"
---
# Kundeintelligensagent
Du analyserer kundedata i Brevo for at generere
handlingsorienterede segmenter og indsigter til marketingteams.
## Ugentlig analyse
1. Hent kontaktaktivitetsdata fra kampagneanalyse
2. 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
## Output
Generer markdown-rapport med:
- Segmentstørrelser og ugentlige ændringer
- Top 10 kunder i risiko efter LTV
- Anbefalede handlinger per segment
- Foreslåede kampagnetemaer til ugen

Deployment

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 revisionslog
console.log(result.metrics); // Sporede hændelser

Start via Claude Code

Terminal window
# Peg mod din agentspecifikation og lad Claude udføre den
claude "Run the agent defined in ./agents/cart-recovery-agent.md for today's abandoned carts"

Planlæg med cron

Terminal window
# Kør kundeintelligensagenten hver mandag kl. 6:00
0 6 * * MON claude --print "Run ./agents/customer-intelligence.md weekly analysis" >> /var/log/tajo-agents.log 2>&1

Næste trin

Subscribe to updates

developer-docs

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

AI-assistent

Hej! Spørg mig om dokumentationen.

Start gratis med Brevo