Formato de Especificação de Agente
Os agentes Tajo são definidos em ficheiros markdown. Cada ficheiro contém frontmatter YAML (identidade, ferramentas, restrições) e um corpo markdown (instruções, estratégia, regras). Este formato é inspirado em padrões de agentes em produção usados em sistemas de orquestração multi-agente.
Estrutura do Ficheiro
---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...Campos de Frontmatter
Campos Obrigatórios
| Campo | Tipo | Descrição |
|---|---|---|
name | string | Identificador único em kebab-case (ex.: cart-recovery-agent) |
description | string | O que este agente faz (máx. 160 chars) |
version | string | Versão semântica (ex.: 1.0.0) |
tools | array | Módulos do servidor MCP Brevo a que este agente pode aceder |
Campos de Comportamento
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
temperature | float | 0.3 | Temperatura do LLM. Menor = mais determinístico. Use 0.1-0.2 para operações de dados, 0.3-0.5 para design de campanhas |
max_tokens | integer | 4096 | Comprimento máximo de resposta por turno |
model | string | claude-sonnet-4-6 | Modelo LLM a usar |
Campos de Acionador
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
triggers | array | [] | Eventos, agendamentos ou webhooks que ativam este agente |
triggers[].event | string | - | Nome do evento (ex.: cart_abandoned, customer_created) |
triggers[].schedule | string | - | Expressão cron (ex.: 0 9 * * * para 9h diárias) |
triggers[].webhook | string | - | Caminho do webhook (ex.: /agents/cart-recovery/trigger) |
triggers[].conditions | array | [] | Condições de filtro para o acionador |
triggers[].debounce | string | - | Janela de debounce (ex.: 5m, 1h) |
Campos de Permissão
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
permissions | array | [] | Âmbitos de permissão necessários para trilha de auditoria |
related_agents | array | [] | IDs de agentes para os quais este agente pode delegar |
escalation | string | - | Para onde encaminhar quando o agente estiver incerto (human, supervisor-agent) |
Ferramentas: Mapeamento para Servidores MCP Brevo
O campo tools referencia nomes de módulos do servidor MCP Brevo. Cada módulo mapeia para um endpoint específico em 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
Use o conjunto mínimo de ferramentas de que o seu agente precisa. Menos ferramentas = melhor raciocínio de IA e respostas mais rápidas. Veja Servidor MCP Brevo para todos os módulos disponíveis.
Acionadores
Acionadores de Evento
Ative o agente quando algo acontece no seu sistema:
triggers: - event: cart_abandoned conditions: - cart_value: "> 50" - items_count: ">= 1" - time_since_activity: "> 30m" debounce: 5mAcionadores de Agendamento
Execute o agente num agendamento recorrente:
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 monthAcionadores de Webhook
Invoque o agente via HTTP:
triggers: - webhook: /agents/win-back/trigger method: POST authentication: api_keyCorpo Markdown: Instruções
O corpo da especificação do agente são instruções em linguagem natural. Escreva como se estivesse a dar instruções a um profissional de marketing experiente:
Estrutura
# 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.Escrever Instruções Eficazes
Seja específico sobre a estratégia, não apenas sobre os objetivos:
## 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 sequenceDefinir barreiras de proteção explicitamente:
## 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 reviewCadeias Multi-Agente
Para fluxos de trabalho complexos, componha múltiplos agentes numa cadeia. Cada agente trata uma fase, passando contexto para o seguinte:
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.Variáveis de Cadeia
| Variável | Descrição |
|---|---|
{task} | O objetivo/pedido original |
{previous} | Saída do passo anterior |
{step_N} | Saída do passo N (indexado em 0) |
{artifacts_dir} | Diretório para saídas de ficheiros |
Especificações de Agentes Pré-construídos
Orquestrador de Campanhas
---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 campaignAgente de Inteligência de Cliente
---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 weekImplementação
Executar um Agente Programaticamente
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 trackedExecutar via 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"Agendar com 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>&1Próximos Passos
- Servidor MCP Brevo, Ferramentas disponíveis e configuração do servidor
- Construir o Seu Primeiro Agente, Tutorial prático
- Referência de Skills, Skills Tajo que se compõem com agentes
- Visão Geral da Arquitetura MCP, Como tudo se encaixa