代理规范格式
代理规范格式
Tajo 代理在 markdown 文件中定义。每个文件包含 YAML frontmatter(身份、工具、约束)和 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 | string | kebab-case 格式的唯一标识符(如 cart-recovery-agent) |
description | string | 此代理的功能(最多 160 个字符) |
version | string | 语义版本(如 1.0.0) |
tools | array | 此代理可以访问的 Brevo MCP 服务器模块 |
行为字段
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
temperature | float | 0.3 | LLM 温度。越低越确定。数据操作使用 0.1-0.2,营销活动设计使用 0.3-0.5 |
max_tokens | integer | 4096 | 每轮最大响应长度 |
model | string | claude-sonnet-4-6 | 使用的 LLM 模型 |
触发器字段
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
triggers | array | [] | 激活此代理的事件、计划或 webhooks |
triggers[].event | string | - | 事件名称(如 cart_abandoned) |
triggers[].schedule | string | - | Cron 表达式(如 0 9 * * * 表示每天上午 9 点) |
triggers[].webhook | string | - | Webhook 路径(如 /agents/cart-recovery/trigger) |
triggers[].conditions | array | [] | 触发器的过滤条件 |
triggers[].debounce | string | - | 防抖窗口(如 5m、1h) |
权限字段
| 字段 | 类型 | 默认值 | 描述 |
|---|---|---|---|
permissions | array | [] | 审计追踪所需的权限范围 |
related_agents | array | [] | 此代理可以委派给的代理 ID |
escalation | string | - | 代理不确定时的路由(human、supervisor-agent) |
工具:映射到 Brevo MCP 服务器
tools 字段引用 Brevo MCP 服务器模块名称。每个模块映射到 mcp.brevo.com 上的特定端点:
tools: # 联系人和细分 - brevo_contacts # /v1/brevo_contacts/mcp - brevo_lists # /v1/brevo_lists/mcp - brevo_segments # /v1/brevo_segments/mcp - brevo_attributes # /v1/brevo_attributes/mcp
# 营销活动和消息 - 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
# 分析 - brevo_campaign_analytics # /v1/brevo_campaign_analytics/mcp
# 销售 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
使用代理所需的最少工具集。工具越少 = AI 推理越好,响应越快。请参阅 Brevo MCP 服务器 了解所有可用模块。
多代理链
对于复杂工作流,将多个代理组合成链,每个代理处理一个阶段,并将上下文传递给下一个:
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}
- agent: campaign-executor input: | Execute these campaigns via Brevo: {previous}
- agent: campaign-reporter input: | Generate the retention campaign launch report: {previous}链变量
| 变量 | 描述 |
|---|---|
{task} | 原始目标/请求 |
{previous} | 上一步的输出 |
{step_N} | 第 N 步的输出(从 0 开始索引) |
{artifacts_dir} | 文件输出目录 |
部署
以程序方式运行代理
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", // 仅连接代理 tools 字段中列出的 MCP 服务器 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); // 完整审计追踪console.log(result.metrics); // 追踪的事件通过 Claude Code 运行
# 指向您的代理规范并让 Claude 执行claude "Run the agent defined in ./agents/cart-recovery-agent.md for today's abandoned carts"使用 Cron 调度
# 每周一上午 6 点运行客户智能代理0 6 * * MON claude --print "Run ./agents/customer-intelligence.md weekly analysis" >> /var/log/tajo-agents.log 2>&1后续步骤
- Brevo MCP 服务器, 可用工具和服务器配置
- 构建您的第一个代理, 实践教程
- Skills 参考, 与代理组合的 Tajo Skills
- MCP 架构概述, 了解整体架构