先行利用を申し込む

お名前とメールアドレスまたは電話番号をご入力ください。Tajo のアクセス方法をご案内します。

エージェント仕様フォーマット

Tajo のエージェントは Markdown ファイルで定義します。各ファイルは YAML フロントマター(識別情報、ツール、制約)と Markdown 本文(指示、戦略、ルール)で構成されます。このフォーマットは、マルチエージェントのオーケストレーションシステムで実運用されているエージェントパターンから着想を得ています。

ファイル構造

---
name: agent-name
description: What this agent does (max 160 chars)
version: 1.0.0
temperature: 0.2
max_tokens: 4096
tools:
- brevo_contacts
- brevo_email_campaign_management
- brevo_sms_campaigns
triggers:
- event: cart_abandoned
- schedule: "0 */4 * * *"
permissions:
- contacts:read
- email:send
- sms:send
---
# Agent Name
Instructions for the agent in natural language...

フロントマターのフィールド

必須フィールド

フィールド説明
namestringkebab-case による一意の識別子(例: cart-recovery-agent
descriptionstringこのエージェントが何をするか(最大 160 文字)
versionstringセマンティックバージョン(例: 1.0.0
toolsarrayこのエージェントがアクセスできる Brevo MCP サーバーのモジュール

動作に関するフィールド

フィールド既定値説明
temperaturefloat0.3LLM の temperature。低いほど決定的になります。データ操作には 0.1〜0.2、キャンペーン設計には 0.3〜0.5 を使用します
max_tokensinteger40961 ターンあたりの応答の最大長
modelstringclaude-sonnet-4-6使用する LLM モデル

トリガーのフィールド

フィールド既定値説明
triggersarray[]このエージェントを起動するイベント、スケジュール、Webhook
triggers[].eventstring-イベント名(例: cart_abandonedcustomer_created
triggers[].schedulestring-Cron 式(例: 毎日午前 9 時なら 0 9 * * *
triggers[].webhookstring-Webhook のパス(例: /agents/cart-recovery/trigger
triggers[].conditionsarray[]トリガーの絞り込み条件
triggers[].debouncestring-デバウンスの期間(例: 5m1h

権限のフィールド

フィールド既定値説明
permissionsarray[]監査証跡のために必要な権限スコープ
related_agentsarray[]このエージェントが処理を委任できるエージェント ID
escalationstring-エージェントの判断が不確かなときの転送先(humansupervisor-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/mcp

Tip

エージェントに必要な最小限のツールだけを指定してください。ツールが少ないほど AI の推論精度は高まり、応答も速くなります。利用できるモジュールの一覧は 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.

効果的な指示の書き方

目標だけでなく、戦略を具体的に書きます

## Bad
Re-engage churned customers.
## Good
When a customer hasn't purchased in 90+ days:
1. Check their last 3 orders for product category preferences
2. Create a personalized discount based on AOV (10% if AOV > $100, 15% if < $100)
3. Send email with subject line referencing their preferred category
4. Wait 72 hours, if no open, send SMS with discount code
5. 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

マルチエージェントチェーン

複雑なワークフローでは、複数のエージェントをチェーンとして組み合わせます。各エージェントが 1 つのフェーズを担当し、コンテキストを次のエージェントへ引き渡します。

chain.yaml
name: quarterly-retention-campaign
steps:
- 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 の出力(0 始まり)
{artifacts_dir}ファイル出力先のディレクトリ

構築済みのエージェント仕様

Campaign Orchestrator(キャンペーンオーケストレーター)

---
name: campaign-orchestrator
description: Design and execute multi-channel campaigns from natural language prompts
version: 2.0.0
temperature: 0.3
tools:
- brevo_contacts
- brevo_segments
- brevo_email_campaign_management
- brevo_templates
- brevo_sms_campaigns
- brevo_whatsapp_campaigns
- brevo_campaign_analytics
triggers:
- webhook: /agents/campaign/trigger
method: POST
---
# Campaign Orchestrator
You are a multi-channel marketing campaign specialist.
Given a campaign brief, you design, build, and launch
campaigns across email, SMS, and WhatsApp via Brevo.
## Process
1. Parse the campaign brief (audience, message, goal, timeline)
2. Create or identify the target segment in Brevo
3. Select the best channel(s) based on audience preference data
4. Build campaign content using existing templates or creating new ones
5. Configure send schedule and A/B tests
6. 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 campaign

Customer Intelligence Agent(顧客インテリジェンスエージェント)

---
name: customer-intelligence
description: Autonomous segmentation, RFM scoring, and churn prediction
version: 1.5.0
temperature: 0.2
tools:
- brevo_contacts
- brevo_segments
- brevo_attributes
- brevo_lists
- brevo_campaign_analytics
triggers:
- schedule: "0 6 * * MON"
timezone: "UTC"
---
# Customer Intelligence Agent
You analyze customer data in Brevo to generate actionable
segments and insights for marketing teams.
## Weekly Analysis
1. Pull contact activity data from campaign analytics
2. 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
## Output
Produce 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 trail
console.log(result.metrics); // Events tracked

Claude Code から実行する

Terminal window
# Point to your agent spec and let Claude execute it
claude "Run the agent defined in ./agents/cart-recovery-agent.md for today's abandoned carts"

Cron でスケジュール実行する

Terminal window
# Run the customer intelligence agent every Monday at 6am
0 6 * * MON claude --print "Run ./agents/customer-intelligence.md weekly analysis" >> /var/log/tajo-agents.log 2>&1

次のステップ

先行利用を申し込む

お名前とメールアドレスまたは電話番号をご入力ください。Tajo のアクセス方法をご案内します。

自動判定
AIアシスタント

こんにちは!ドキュメントについて何でもお聞きください。