Formatul specificației de agent
Agenții Tajo sunt definiți în fișiere markdown. Fiecare fișier conține un frontmatter YAML (identitate, instrumente, constrângeri) și un corp markdown (instrucțiuni, strategie, reguli). Formatul este inspirat de modelele de agenți folosite în producție în sistemele de orchestrare multi-agent.
Structura fișierului
---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...Câmpurile din frontmatter
Câmpuri obligatorii
| Câmp | Tip | Descriere |
|---|---|---|
name | string | Identificator unic în format kebab-case (de exemplu cart-recovery-agent) |
description | string | Ce face acest agent (maximum 160 de caractere) |
version | string | Versiune semantică (de exemplu 1.0.0) |
tools | array | Modulele serverului MCP Brevo la care are acces acest agent |
Câmpuri de comportament
| Câmp | Tip | Implicit | Descriere |
|---|---|---|---|
temperature | float | 0.3 | Temperatura modelului LLM. Mai mică înseamnă mai determinist. Folosește 0.1-0.2 pentru operațiuni cu date și 0.3-0.5 pentru crearea campaniilor |
max_tokens | integer | 4096 | Lungimea maximă a răspunsului pentru fiecare tură |
model | string | claude-sonnet-4-6 | Modelul LLM folosit |
Câmpuri pentru declanșatoare
| Câmp | Tip | Implicit | Descriere |
|---|---|---|---|
triggers | array | [] | Evenimente, programări sau webhook-uri care activează acest agent |
triggers[].event | string | - | Numele evenimentului (de exemplu cart_abandoned, customer_created) |
triggers[].schedule | string | - | Expresie cron (de exemplu 0 9 * * * pentru zilnic la ora 9) |
triggers[].webhook | string | - | Calea webhook-ului (de exemplu /agents/cart-recovery/trigger) |
triggers[].conditions | array | [] | Condițiile de filtrare pentru declanșator |
triggers[].debounce | string | - | Fereastra de temporizare (de exemplu 5m, 1h) |
Câmpuri pentru permisiuni
| Câmp | Tip | Implicit | Descriere |
|---|---|---|---|
permissions | array | [] | Domeniile de permisiuni necesare pentru pista de audit |
related_agents | array | [] | ID-urile agenților către care acest agent poate delega |
escalation | string | - | Unde se transferă cazul când agentul este nesigur (human, supervisor-agent) |
Instrumentele: corespondența cu serverele MCP Brevo
Câmpul tools face referire la numele modulelor serverului MCP Brevo. Fiecare modul corespunde unui anumit endpoint de pe 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
Folosește setul minim de instrumente de care are nevoie agentul tău. Mai puține instrumente înseamnă raționament AI mai bun și răspunsuri mai rapide. Vezi Server MCP Brevo pentru toate modulele disponibile.
Declanșatoare
Declanșatoare pe evenimente
Activează agentul atunci când se întâmplă ceva în sistemul tău:
triggers: - event: cart_abandoned conditions: - cart_value: "> 50" - items_count: ">= 1" - time_since_activity: "> 30m" debounce: 5mDeclanșatoare pe bază de program
Rulează agentul după un program recurent:
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 monthDeclanșatoare prin webhook
Invocă agentul prin HTTP:
triggers: - webhook: /agents/win-back/trigger method: POST authentication: api_keyCorpul markdown: instrucțiunile
Corpul specificației de agent conține instrucțiuni în limbaj natural. Scrie-l ca și cum ai instrui un specialist de marketing priceput:
Structura
# 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.Cum scrii instrucțiuni eficiente
Fii precis în privința strategiei, nu doar a obiectivelor:
## BadRe-engage churned customers.
## GoodWhen 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 sequenceDefinește explicit limitele de siguranță:
## 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 reviewLanțuri de agenți
Pentru fluxuri de lucru complexe, combină mai mulți agenți într-un lanț. Fiecare agent se ocupă de o etapă și transmite contextul mai departe:
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.Variabilele lanțului
| Variabilă | Descriere |
|---|---|
{task} | Obiectivul sau cererea inițială |
{previous} | Rezultatul pasului anterior |
{step_N} | Rezultatul pasului N (numerotat de la 0) |
{artifacts_dir} | Directorul pentru fișierele generate |
Specificații de agenți gata făcute
Campaign Orchestrator
---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 campaignCustomer Intelligence Agent
---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 weekPunerea în funcțiune
Cum rulezi un agent programatic
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 trackedCum rulezi agentul prin 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"Programare cu 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>&1Pașii următori
- Server MCP Brevo, instrumentele disponibile și configurarea serverului
- Cum îți construiești primul agent, tutorial practic
- Referința Skills, Skills Tajo care se combină cu agenții
- Prezentarea arhitecturii MCP, cum se leagă totul