Izgradnja prvog agenta
Izgradnja prvog agenta
Ovaj vodič vas vodi kroz izgradnju Agenta za oporavak korpe, AI agenta koji prati napuštene korpe i orkestrira personalizovanu sekvencu oporavka kroz email, SMS i WhatsApp koristeći Brevo MCP alate.
Preduslovi
- Brevo nalog sa API ključem (nabavite ga ovde)
- Konfigurisan Brevo MCP Server (vodič za podešavanje)
- Claude Desktop, Claude Code ili bilo koji MCP-kompatibilni klijent
- Email šabloni kreirani u Brevo za oporavak korpe
Kako agenti rade
Agent je markdown fajl koji definiše:
- Identitet, šta agent radi i njegova ograničenja
- Alate, koje MCP alate može da koristi
- Uputstva, kako treba da razmišlja i dela
- Ograničenja, šta nikada ne sme da radi
Kada je pozvan, agent koristi LLM za razmišljanje o cilju, biranje odgovarajućih alata i izvršavanje akcija prema Brevo API.
Marketar: "Postavi oporavak korpe za korpe iznad $50" ↓Agent čita svoju specifikaciju (alati, ograničenja) ↓Agent razmišlja: "Moram kreirati segment, dizajnirati sekvencu, postaviti praćenje" ↓Agent poziva: brevo/create-segment → brevo/send-email → brevo/send-sms → brevo/track-event ↓Rezultat: 3-koračna sekvenca oporavka aktivna, praćenje događaja tečeKorak 1: Definišite agenta
Kreirajte fajl pod imenom cart-recovery-agent.md:
---name: cart-recovery-agentdescription: Recover abandoned carts with personalized multi-channel sequencesversion: 1.0.0temperature: 0.2max_tokens: 4096tools: - brevo/list-contacts - brevo/get-contact - brevo/create-segment - brevo/send-email - brevo/send-sms - brevo/track-event - brevo/get-email-templates - brevo/get-email-statstriggers: - event: cart_abandoned conditions: - cart_value: "> 50" - time_since_activity: "> 30m" - schedule: "0 */4 * * *"permissions: - contacts:read - email:send - sms:send - events:write---
# Cart Recovery Agent
You are an e-commerce cart recovery specialist working with Brevo'sengagement platform. Your goal is to recover abandoned carts throughpersonalized, well-timed multi-channel outreach.
## Strategy
When a cart is abandoned:
1. **Wait 1 hour**, then send a reminder email with cart contents2. **Wait 24 hours**, if no open → send SMS with urgency message3. **Wait 48 hours**, if still no recovery → send final email with incentive (discount code if cart value > $100)
## Decision Framework
- Cart value < $50: Skip (not worth recovery cost)- Cart value $50-$100: Email only (2 touches)- Cart value $100-$250: Email + SMS (3 touches)- Cart value > $250: Email + SMS + personal outreach flag
## Rules
- NEVER send more than 3 messages per abandoned cart- NEVER contact customers who opted out of marketing- ALWAYS check if cart was recovered before sending next step- ALWAYS personalize with customer first name and cart items- ALWAYS track recovery events for attribution- Respect quiet hours: no SMS between 9pm-9am customer local time
## Email Templates
Use these Brevo template IDs:- Reminder (step 1): template_id 101- Urgency (step 2): template_id 102- Incentive (step 3): template_id 103
## Metrics to Track
- `cart_recovery_email_sent`, recovery email dispatched- `cart_recovery_sms_sent`, recovery SMS dispatched- `cart_recovered`, customer completed purchase- `cart_recovery_failed`, sequence completed without recoveryKorak 2: Registrujte alate
Agent treba pristup određenim Brevo MCP alatima. Polje tools u frontmatter definiše koje alate agent može da pozove. Kada agent radi, može pozivati samo ove alate, sve ostalo je blokirano.
Evo šta svaki alat radi u kontekstu ovog agenta:
tools: # Čitanje podataka kupca i stanja korpe - brevo/list-contacts # Pronađi kupce sa napuštenim korpama - brevo/get-contact # Dohvati detalje pojedinačnog kupca
# Kreiranje ciljanih segmenata - brevo/create-segment # Segmentovanje prema vrednosti korpe, vremenu, ponašanju
# Slanje poruka za oporavak - brevo/send-email # Transakcioni emaili za oporavak - brevo/send-sms # SMS obaveštenja za korpe visoke vrednosti
# Praćenje rezultata - brevo/track-event # Beleženje pokušaja oporavka i rezultata - brevo/get-email-stats # Provera da li su emaili otvoreni - brevo/get-email-templates # Verifikacija postojanja šablonaKorak 3: Kreirajte lanac izvršavanja
Za složene agente možete definisati višestepeni lanac izvršavanja gde specijalizovani pod-agenti obrađuju različite faze:
steps: - agent: analyzer input: | Analyze the abandoned cart data for the past 4 hours. Goal: {task}
Use brevo/list-contacts to find contacts with CART_ABANDONED event in the last 4 hours. Segment by cart value tier.
- agent: sequencer input: | Based on this analysis, design recovery sequences: {previous}
For each tier, create the appropriate message sequence using the decision framework.
- agent: executor input: | Execute these recovery sequences via Brevo: {previous}
Send emails and SMS according to the timing rules. Track every action with brevo/track-event.
- agent: reporter input: | Generate a recovery report from these execution results: {previous}
Include: carts targeted, messages sent, early recoveries, projected revenue impact.Korak 4: Testirajte agenta
Sa Claude Code
# Uputite Claude Code na vašu specifikaciju agentaclaude --mcp brevo "Run the cart recovery agent for abandoned carts in the last 4 hours"Sa Claude Desktop
Kada je Brevo MCP server konfigurisan, pitajte Claude:
Pokreni mog agenta za oporavak korpe. Proveri napuštene korpe iznad $50 u poslednjih 4 sata i izvrši sekvencu oporavka.
Claude:
- Čita specifikaciju agenta
- Poziva
brevo/list-contactsza pronalaženje napuštenih korpi - Segmentuje po vrednosti korpe koristeći okvir odlučivanja
- Šalje emailove za oporavak kroz
brevo/send-email - Stavlja u red SMS praćenje kroz
brevo/send-sms - Prati sve događaje kroz
brevo/track-event
Programsko izvršavanje
import { TajoAgent } from "@tajo/agent-sdk";import { BrevoMCPServer } from "@tajo/brevo-mcp-server";
const brevo = new BrevoMCPServer({ apiKey: process.env.BREVO_API_KEY,});
const agent = new TajoAgent({ specPath: "./cart-recovery-agent.md", mcpServers: [brevo], model: "claude-sonnet-4-6",});
// Pokrenite agentaconst result = await agent.run( "Recover abandoned carts over $50 from the last 4 hours");
console.log(result.summary);// → "Processed 23 abandoned carts. Sent 23 reminder emails,// 8 SMS messages. 3 carts already recovered during execution."Korak 5: Zakažite agenta
Pokrenite agenta po ponavljajućem rasporedu:
Na osnovu cron-a
# U frontmatter specifikacije agentatriggers: - schedule: "0 */4 * * *" # Svaka 4 sata timezone: "America/New_York"Na osnovu događaja
triggers: - event: cart_abandoned conditions: - cart_value: "> 50" - time_since_activity: "> 30m" debounce: 5mWebhook
triggers: - webhook: /agents/cart-recovery/trigger method: POST authentication: api_keyKorak 6: Pratite i unapređujte
Pratite performanse agenta kroz Brevo događaje:
-- Stopa oporavka po nivou vrednosti korpeSELECT CASE WHEN cart_value < 100 THEN '$50-$100' WHEN cart_value < 250 THEN '$100-$250' ELSE '$250+' END as tier, COUNT(*) as carts_targeted, SUM(CASE WHEN recovered THEN 1 ELSE 0 END) as recovered, ROUND(SUM(CASE WHEN recovered THEN 1 ELSE 0 END)::numeric / COUNT(*) * 100, 1) as recovery_rate_pct, SUM(CASE WHEN recovered THEN cart_value ELSE 0 END) as revenue_recoveredFROM cart_recovery_eventsWHERE created_at > NOW() - INTERVAL '30 days'GROUP BY tierORDER BY tier;Primer: Potpuna sesija agenta
Evo stvarne interakcije između marketara i Agenta za oporavak korpe:
Marketar: "Proveri napuštene korpe od danas i pokreni oporavak"
Agent: Proveravam napuštene korpe za poslednjih 24 sata...
[Poziva brevo/list-contacts sa filterom CART_ABANDONED_AT > today]
Pronađeno 47 napuštenih korpi:- 12 korpi ispod $50 (preskoči prema politici)- 23 korpe $50-$100 (nivo samo email)- 8 korpi $100-$250 (nivo email + SMS)- 4 korpe iznad $250 (email + SMS + označi za lični kontakt)
Pokrećem sekvence oporavka...
[Poziva brevo/send-email × 35 sa template_id 101][Poziva brevo/track-event × 35 sa događajem "cart_recovery_email_sent"]
Korak 1 završen:- 35 podsetnik emailova poslato- 12 SMS-ova u redu za praćenje posle 24 sata (korpe visoke vrednosti)- 4 korpe označene za lični kontakt
Sledeća provera zakazana za 4 sata.Praćenje događaja oporavka: cart_recovery_email_sent (35), cart_recovery_sms_queued (12), cart_recovery_escalated (4)Sledeći koraci
- Format specifikacije agenta, Potpuna referenca za markdown agenta
- Ugrađeni agenti, Marketinški agenti spremni za upotrebu
- Referenca Skills, Svi dostupni MCP alati
- Brevo MCP Server, Šeme alata i dozvole