Định dạng đặc tả tác nhân
Tác nhân Tajo được định nghĩa trong các file markdown. Mỗi file chứa frontmatter YAML (danh tính, công cụ, ràng buộc) và phần thân markdown (hướng dẫn, chiến lược, quy tắc). Định dạng này lấy cảm hứng từ các mẫu tác nhân đang chạy thực tế trong những hệ thống điều phối đa tác nhân.
Cấu trúc file
---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ác trường frontmatter
Trường bắt buộc
| Trường | Kiểu | Mô tả |
|---|---|---|
name | string | Định danh duy nhất theo kiểu kebab-case (ví dụ cart-recovery-agent) |
description | string | Tác nhân này làm gì (tối đa 160 ký tự) |
version | string | Phiên bản ngữ nghĩa (ví dụ 1.0.0) |
tools | array | Các module máy chủ Brevo MCP mà tác nhân được phép truy cập |
Trường hành vi
| Trường | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
temperature | float | 0.3 | Nhiệt độ của LLM. Càng thấp thì kết quả càng xác định. Dùng 0,1 đến 0,2 cho thao tác dữ liệu, 0,3 đến 0,5 cho thiết kế chiến dịch |
max_tokens | integer | 4096 | Độ dài phản hồi tối đa cho mỗi lượt |
model | string | claude-sonnet-4-6 | Mô hình LLM được sử dụng |
Trường kích hoạt
| Trường | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
triggers | array | [] | Sự kiện, lịch chạy hoặc webhook kích hoạt tác nhân này |
triggers[].event | string | - | Tên sự kiện (ví dụ cart_abandoned, customer_created) |
triggers[].schedule | string | - | Biểu thức cron (ví dụ 0 9 * * * cho 9 giờ sáng hằng ngày) |
triggers[].webhook | string | - | Đường dẫn webhook (ví dụ /agents/cart-recovery/trigger) |
triggers[].conditions | array | [] | Điều kiện lọc cho bộ kích hoạt |
triggers[].debounce | string | - | Cửa sổ chống dội (ví dụ 5m, 1h) |
Trường quyền
| Trường | Kiểu | Mặc định | Mô tả |
|---|---|---|---|
permissions | array | [] | Phạm vi quyền bắt buộc phục vụ nhật ký kiểm toán |
related_agents | array | [] | ID của các tác nhân mà tác nhân này có thể ủy quyền cho |
escalation | string | - | Nơi chuyển tiếp khi tác nhân không chắc chắn (human, supervisor-agent) |
Công cụ: ánh xạ tới máy chủ Brevo MCP
Trường tools tham chiếu tên module của máy chủ Brevo MCP. Mỗi module ánh xạ tới một endpoint cụ thể trên 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
Hãy dùng bộ công cụ tối thiểu mà tác nhân của bạn cần. Càng ít công cụ thì AI suy luận càng tốt và phản hồi càng nhanh. Xem Máy chủ Brevo MCP để biết tất cả module hiện có.
Bộ kích hoạt
Kích hoạt theo sự kiện
Kích hoạt tác nhân khi có chuyện gì đó xảy ra trong hệ thống của bạn:
triggers: - event: cart_abandoned conditions: - cart_value: "> 50" - items_count: ">= 1" - time_since_activity: "> 30m" debounce: 5mKích hoạt theo lịch
Chạy tác nhân theo một lịch lặp lại:
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 monthKích hoạt qua webhook
Gọi tác nhân qua HTTP:
triggers: - webhook: /agents/win-back/trigger method: POST authentication: api_keyPhần thân markdown: hướng dẫn
Phần thân của đặc tả tác nhân là hướng dẫn bằng ngôn ngữ tự nhiên. Hãy viết như thể bạn đang giao việc cho một chuyên viên marketing lành nghề:
Cấu trúc
# 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.Viết hướng dẫn hiệu quả
Hãy nói cụ thể về chiến lược, không chỉ nêu mục tiêu:
## 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 sequenceXác định rào chắn thật rõ ràng:
## 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 reviewChuỗi đa tác nhân
Với các quy trình phức tạp, hãy ghép nhiều tác nhân thành một chuỗi. Mỗi tác nhân đảm nhận một giai đoạn và chuyển ngữ cảnh cho tác nhân kế tiếp:
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.Biến trong chuỗi
| Biến | Mô tả |
|---|---|
{task} | Mục tiêu hoặc yêu cầu ban đầu |
{previous} | Kết quả từ bước liền trước |
{step_N} | Kết quả từ bước N (đánh số từ 0) |
{artifacts_dir} | Thư mục chứa các file kết quả |
Đặc tả tác nhân dựng sẵn
Bộ điều phối chiến dịch
---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 campaignTác nhân phân tích khách hàng
---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 weekTriển khai
Chạy tác nhân bằng mã lệnh
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 trackedChạy qua 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"Lên lịch bằng 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>&1Bước tiếp theo
- Máy chủ Brevo MCP, Các công cụ có sẵn và cấu hình máy chủ
- Xây dựng tác nhân đầu tiên, Hướng dẫn thực hành
- Tham khảo Skills, Tajo Skills kết hợp được với tác nhân
- Tổng quan kiến trúc MCP, Cách mọi thành phần khớp với nhau