รูปแบบข้อมูลจำเพาะเอเจนต์
รูปแบบข้อมูลจำเพาะเอเจนต์
Tajo agents ถูกกำหนดในไฟล์ markdown แต่ละไฟล์มี YAML frontmatter (identity, tools, constraints) และ markdown body (instructions, strategy, rules) รูปแบบนี้ได้รับแรงบันดาลใจจาก production agent patterns ที่ใช้ในระบบ multi-agent orchestration
โครงสร้างไฟล์
---name: agent-namedescription: สิ่งที่เอเจนต์นี้ทำ (สูงสุด 160 ตัวอักษร)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---
# ชื่อเอเจนต์
คำแนะนำสำหรับเอเจนต์ในภาษาธรรมชาติ...ฟิลด์ Frontmatter
ฟิลด์ที่จำเป็น
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
name | string | Unique identifier ในรูปแบบ kebab-case (เช่น cart-recovery-agent) |
description | string | สิ่งที่เอเจนต์นี้ทำ (สูงสุด 160 ตัวอักษร) |
version | string | Semantic version (เช่น 1.0.0) |
tools | array | โมดูล Brevo MCP server ที่เอเจนต์นี้มีสิทธิ์เข้าถึง |
ฟิลด์พฤติกรรม
| ฟิลด์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
temperature | float | 0.3 | อุณหภูมิ LLM ต่ำกว่า = deterministic มากกว่า ใช้ 0.1-0.2 สำหรับ data operations, 0.3-0.5 สำหรับการออกแบบแคมเปญ |
max_tokens | integer | 4096 | ความยาวการตอบสนองสูงสุดต่อรอบ |
model | string | claude-sonnet-4-6 | โมเดล LLM ที่จะใช้ |
ฟิลด์ Triggers
| ฟิลด์ | ประเภท | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
triggers | array | [] | Events, schedules หรือ webhooks ที่เปิดใช้งานเอเจนต์นี้ |
triggers[].event | string | - | ชื่อ event (เช่น cart_abandoned, customer_created) |
triggers[].schedule | string | - | Cron expression (เช่น 0 9 * * * สำหรับทุกวันเวลา 9:00) |
triggers[].webhook | string | - | Webhook path (เช่น /agents/cart-recovery/trigger) |
triggers[].conditions | array | [] | Filter conditions สำหรับ trigger |
triggers[].debounce | string | - | Debounce window (เช่น 5m, 1h) |
เครื่องมือ: การแมปกับ Brevo MCP Servers
ฟิลด์ tools อ้างอิงชื่อโมดูล Brevo MCP server โมดูลแต่ละตัวแมปกับ endpoint เฉพาะบน mcp.brevo.com:
tools: - brevo_contacts # /v1/brevo_contacts/mcp - brevo_lists # /v1/brevo_lists/mcp - brevo_segments # /v1/brevo_segments/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_campaign_analytics # /v1/brevo_campaign_analytics/mcp - brevo_deals # /v1/brevo_deals/mcpTip
ใช้ชุดเครื่องมือขั้นต่ำที่เอเจนต์ต้องการ เครื่องมือน้อยกว่า = AI reasoning ดีกว่าและ responses เร็วกว่า ดู Brevo MCP Server สำหรับโมดูลที่มีทั้งหมด
Triggers
Event Triggers
triggers: - event: cart_abandoned conditions: - cart_value: "> 50" - items_count: ">= 1" - time_since_activity: "> 30m" debounce: 5mSchedule Triggers
triggers: - schedule: "0 9 * * MON" # ทุกวันจันทร์เวลา 9:00 timezone: "America/New_York" - schedule: "0 */4 * * *" # ทุก 4 ชั่วโมง - schedule: "0 0 1 * *" # วันแรกของทุกเดือนWebhook Triggers
triggers: - webhook: /agents/win-back/trigger method: POST authentication: api_keyMarkdown Body: คำแนะนำ
โครงสร้าง
# ชื่อเอเจนต์
บริบท, สิ่งที่เอเจนต์นี้ทำและเหตุใด
## กลยุทธ์
แนวทางทีละขั้นตอนที่เอเจนต์ควรปฏิบัติตาม
## กรอบการตัดสินใจ
กฎสำหรับการตัดสินใจ
## กฎ
ข้อจำกัดที่เข้มงวด, สิ่งที่เอเจนต์ต้องทำ ALWAYS หรือ NEVER
## เทมเพลต
การอ้างอิง ID เทมเพลต Brevo, SMS texts, WhatsApp templates
## เมตริก
Events ที่ต้องติดตามสำหรับการวัดผลสำเร็จMulti-agent Chains
สำหรับ workflows ที่ซับซ้อน ให้รวมเอเจนต์หลายตัวเป็น chain เอเจนต์แต่ละตัวจัดการหนึ่งระยะ ส่งต่อ context ไปยังตัวถัดไป:
name: quarterly-retention-campaignsteps: - agent: customer-intelligence input: | Analyze customer segments for Q2 retention campaign. Goal: {task}
- 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}การ Deploy
การรันเอเจนต์แบบโปรแกรม
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", 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); // Audit trail ครบถ้วนconsole.log(result.metrics); // Events ที่ถูกติดตามขั้นตอนถัดไป
- Brevo MCP Server, เครื่องมือที่มีและการกำหนดค่า server
- สร้างเอเจนต์ตัวแรก, บทช่วยสอนปฏิบัติ
- อ้างอิง Skills, Tajo Skills ที่รวมกับเอเจนต์
- ภาพรวมสถาปัตยกรรม MCP, วิธีที่ทุกอย่างเชื่อมต่อกัน