D
Engineering

Agents

Koleksi agents — prompt, personality, QnA, follow-up config per checkpoint. Engine Bot read-only, writer utama dazoapp. followup config memicu scheduler.

Koleksi agents menyimpan konfigurasi AI agent — prompt, personality, QnA, dan follow-up config. Engine Bot membaca config ini saat membangun specialist agent. Writer utama adalah dazoapp.

Model

models/agents.js:11 — AgentSchema, mongoose.model("agents", AgentSchema).

Field utama

FieldTipeCatatan
idStringPrimary key (UUID) — required: true
store_idStringTenant scope — required: true
nameStringNama agent — required: true
templateStringTemplate — required: true
language_characterStringKarakter bahasa
characterStringPersonality
history_limitNumberLimit history percakapan
message_awaitNumberDelay batching
message_limitNumberLimit pesan
promptStringSystem prompt tambahan
qna_conditionalArrayQnA — lihat di bawah
followupObjectFollow-up config — lihat di bawah
status_featureStringDefault null
created_atDateTimestamp

qna_conditional

Array of object:

js
qna_conditional: [{
  question: { type: String, default: null },
  answer: { type: String, default: null }
}]

QnA dipotong maksimal 3.500 karakter saat dimuat ke context. Lihat Agent Architecture.

followup

followupSchema (models/agents.js:3-9) — config per checkpoint:

CheckpointFungsi
call_to_orderAjak order
ask_product_qtyTanya quantity
ask_shipping_addressTanya alamat
ask_shipping_methodTanya kurir
ask_payment_methodTanya metode bayar
confirm_orderKonfirmasi order
payment_reminderReminder pembayaran

Setiap checkpoint memiliki:

FieldTipeCatatan
messageStringDefault "" — Mustache template
is_generate_aiBooleanDefault false — AI rewrite via gpt-4o-mini
sending_timeNumberDefault 10 — delay dalam menit
imageStringDefault "" — optional attachment URL
fileNameStringDefault "" — template file reference

Cara akses di controller

js
// controllers/mainController.js — context loader
const agent = await Agent.findOne({ id: agentId, store_id: storeId });
// agent.prompt + agent.character → promptWithContext
// agent.followup → scheduler config

Inkonsistensi yang diketahui

MasalahDetail
timestamp typomodels/agents.js:52 — timestamp: { createdAt: "created_at" } (typo — harusnya timestamps). Hanya createdAt tercatat, updatedAt tidak
_id: false di followupSchemaSub-document tidak dapat di-query via _id — normal untuk embedded config

Kembali ke