صيغة مواصفة الوكيل
تُعرَّف وكلاء Tajo في ملفات markdown. يحتوي كل ملف على frontmatter بصيغة YAML (الهوية، الأدوات، القيود) وجسم markdown (التعليمات، الاستراتيجية، القواعد). هذه الصيغة مستوحاة من أنماط الوكلاء المستخدمة في أنظمة تنسيق الوكلاء المتعددة في بيئات الإنتاج.
بنية الملف
---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...حقول الـ frontmatter
الحقول المطلوبة
| الحقل | النوع | الوصف |
|---|---|---|
name | نص | معرّف فريد بصيغة kebab-case (مثل cart-recovery-agent) |
description | نص | ما يفعله هذا الوكيل (160 محرفًا كحد أقصى) |
version | نص | إصدار دلالي (مثل 1.0.0) |
tools | مصفوفة | وحدات خادم Brevo MCP التي يمكن لهذا الوكيل الوصول إليها |
الحقول السلوكية
| الحقل | النوع | الافتراضي | الوصف |
|---|---|---|---|
temperature | عدد عشري | 0.3 | درجة حرارة نموذج اللغة. كلما انخفضت، زادت الحتمية. استخدم 0.1-0.2 لعمليات البيانات، و0.3-0.5 لتصميم الحملات |
max_tokens | عدد صحيح | 4096 | أقصى طول للاستجابة في الدور الواحد |
model | نص | claude-sonnet-4-6 | نموذج اللغة المستخدم |
حقول المشغّلات
| الحقل | النوع | الافتراضي | الوصف |
|---|---|---|---|
triggers | مصفوفة | [] | الأحداث أو الجداول الزمنية أو الـ webhooks التي تُفعّل هذا الوكيل |
triggers[].event | نص | - | اسم الحدث (مثل cart_abandoned و customer_created) |
triggers[].schedule | نص | - | تعبير cron (مثل 0 9 * * * للتشغيل يوميًا في التاسعة صباحًا) |
triggers[].webhook | نص | - | مسار الـ webhook (مثل /agents/cart-recovery/trigger) |
triggers[].conditions | مصفوفة | [] | شروط التصفية الخاصة بالمشغّل |
triggers[].debounce | نص | - | نافذة كبح التكرار (مثل 5m و 1h) |
حقول الصلاحيات
| الحقل | النوع | الافتراضي | الوصف |
|---|---|---|---|
permissions | مصفوفة | [] | نطاقات الصلاحيات المطلوبة لمسار التدقيق |
related_agents | مصفوفة | [] | معرّفات الوكلاء الذين يمكن لهذا الوكيل تفويضهم |
escalation | نص | - | جهة التصعيد عندما يكون الوكيل غير متيقّن (human، supervisor-agent) |
الأدوات: الربط بخوادم Brevo MCP
يشير حقل tools إلى أسماء وحدات خادم Brevo MCP. تُربط كل وحدة بنقطة نهاية محددة على 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
استخدم الحد الأدنى من الأدوات التي يحتاجها وكيلك. عدد أدوات أقل يعني استدلالًا أفضل من الذكاء الاصطناعي واستجابات أسرع. راجع خادم Brevo MCP للاطلاع على جميع الوحدات المتاحة.
المشغّلات
مشغّلات الأحداث
فعّل الوكيل عند وقوع شيء ما في نظامك:
triggers: - event: cart_abandoned conditions: - cart_value: "> 50" - items_count: ">= 1" - time_since_activity: "> 30m" debounce: 5mمشغّلات الجدولة
شغّل الوكيل وفق جدول متكرر:
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 monthمشغّلات الـ webhook
استدعِ الوكيل عبر HTTP:
triggers: - webhook: /agents/win-back/trigger method: POST authentication: api_keyجسم الـ markdown: التعليمات
جسم مواصفة الوكيل هو تعليمات بلغة طبيعية. اكتبه كما لو كنت تُطلع مسوّقًا محترفًا على المهمة:
البنية
# 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.كتابة تعليمات فعّالة
كن محددًا بشأن الاستراتيجية، لا الأهداف وحدها:
## 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 sequenceحدّد ضوابط الأمان صراحة:
## 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 reviewسلاسل الوكلاء المتعددين
في سير العمل المعقّد، ركّب عدة وكلاء في سلسلة. يتولى كل وكيل مرحلة واحدة ويمرّر السياق إلى التالي:
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.متغيرات السلسلة
| المتغير | الوصف |
|---|---|
{task} | الهدف أو الطلب الأصلي |
{previous} | مخرجات الخطوة السابقة |
{step_N} | مخرجات الخطوة N (الترقيم يبدأ من صفر) |
{artifacts_dir} | المجلد الخاص بمخرجات الملفات |
مواصفات وكلاء جاهزة
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 weekالنشر
تشغيل وكيل برمجيًا
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 trackedالتشغيل عبر 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"الجدولة باستخدام 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>&1الخطوات التالية
- خادم Brevo MCP، الأدوات المتاحة وإعدادات الخادم
- بناء وكيلك الأول، دليل تطبيقي
- مرجع Skills، أدوات Tajo Skills التي تتركّب مع الوكلاء
- نظرة عامة على معمارية MCP، كيف يتكامل كل ذلك معًا