AI và bất thường
Mô hình làm việc cho dự án ở ba nơi: phát hiện nói khi nào một sự kiện rời đường cơ sở, đề xuất nói nên làm gì với điều nó thấy, và Ask, biến câu hỏi thành truy vấn. Không thứ nào tự hành động: đề xuất chỉ thành hiện thực khi một người phê duyệt.
At a glance
- Detection
- Daily counts against a fourteen-day baseline
- Proposals
- Origin, rationale, and a recorded human decision
- Ask
- Question to query, query kept on screen
- Model
- Chosen by the plan, per tier
- Auth
- Access token; nothing executes unapproved
- Phát hiện so sánh số đếm hằng ngày với đường cơ sở mười bốn ngày; độ lệch là số học, không phải ý kiến.
- Mỗi đề xuất mang nguồn gốc và lý do của nó, và quyết định được ghi lại cùng người đưa ra.
- Truy vấn đã dịch của Ask ở lại trên màn hình; mô hình nào trả lời là lựa chọn của gói.
Cách hoạt động
Detection is arithmetic over the warehouse: a day whose count deviates from the fourteen-day baseline past the threshold is an insight, marked as a spike or a drop. A deviation worth acting on, or a pattern in support threads, becomes a proposal: a cohort to build, a flag to add, a message to send, or a dashboard to create, each carrying what it saw and why it suggests what it does. Proposals queue in the Inbox until a person approves, edits or rejects them, and the decision is stored with its decider. Ask is the third piece: the model emits only the validated query language, never free SQL, and its translation stays on screen beside the answer. The broader model story, entitlements and safety posture live on the AI pillar.
Truy cập ở đâu
| Surface | Operation |
|---|---|
| REST | None |
| GraphQL | aiInsights, aiProposals, aiTranslateQuery, aiAnswer queries · approveProposal, editProposal, rejectProposal mutations |
| Realtime | aiProposals subscription: new proposals stream as they are raised |
| MCP | None |
Ví dụ
curl "https://api.prodantix.com/graphql" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"query": "query ($p: String!, $e: String!, $f: String!, $t: String!) { aiInsights(projectId: $p, event: $e, from: $f, to: $t, threshold: 0.3) { bucket kind value baseline } }",
"variables": { "p": "'$PROJECT_ID'", "e": "signup_completed", "f": "2026-08-01", "t": "2026-08-28" }
}'