[ANCHOR] Qontak | AI Agent | AI Agent Memory
This is an ANCHOR PRD. It is the master index for the AI Agent Memory initiative — it orchestrates the phases beneath it and never describes a single delivery. Per-phase execution detail (constraints, stories, dependencies, observability) lives in the child Phase PRDs linked in the Phase Index.
Theme 1: Make the Intelligence Promise Real | Objective 1A: Strengthen Agentic AI Capabilities | Q4 2026 | Owner: Dimas Fauzi Hidayat
HEADER BLOCK
| Field | Value |
|---|---|
| PM | Dimas Fauzi Hidayat (Product Manager, Mekari Qontak) |
| PRD Version | 1.0 |
| Status | DRAFT |
| PRD Type | ANCHOR |
| Epic | TBD — created at grooming |
| Squad | BOT — Chatbot Squad |
| RFC Link | N/A — anchor carries no delivery; Phase-1 RFC pending (gated on the DSAI contract + CEBE RFC) |
| Figma Master | N/A — Phase 1 has no UI surface (flag-only rollout) |
| Anchor | Yes — this IS the Anchor |
| Labels | epic:qontak-chat | module:ai-agent | feature:ai-agent-memory |
| Last Updated | 2026-07-22 |
Table of Contents
- HEADER BLOCK
- Phase Index
- 2. One-liner + Problem
- 3. What Happens If We Don't Build This
- 4. Strategic Context
- 5. Target Users + Persona Context
- 6. Success Metrics
- 7. Key Decisions + Alternatives Rejected
- 8. Open Questions
- 9. User Stories & Acceptance Criteria
- PRD CHANGELOG
Phase Index
| Phase | Goal | PRD Link | Epic Key | Status | Shipped |
|---|---|---|---|---|---|
| Phase 1 — Q4 2026: Read-side CEBE memory | The autonomous AI Agent reads the customer's cross-module CEBE profile and history (keyed qontak_customer_id) at conversation start and uses it in responses — org-flag-gated, with graceful degradation whenever CEBE data, identity resolution, or the latency budget is unavailable. | phase-1-read-side-cebe-memory.md | TBD | Draft | — |
Future considerations — deliberately NOT committed phases (revisited only after Phase 1 ships and the CEBE event schema stabilizes):
- Agent-authored memory write-back — the agent emits learned facts (preferences, commitments, declared attributes) back into CEBE. Requires net-new AI event types in the standardized event schema, so it must be negotiated into the CEBE schema roadmap with the CDP squad first.
- Tenant memory controls — admin UI to view/edit/delete a customer's memory, retention settings, and opt-out; carries the UU PDP erasure obligations that read-side consumption defers to CEBE's own governance.
Backbone dependency: every phase of this initiative consumes Customer Event-Based Engine (CEBE) (TF-3302, CDP squad, DRI Zhelia Alifa). The CEBE ANCHOR names this initiative as its flagship downstream consumer: roadmap row "Agentic AI reads CEBE memory — Eng (Chatbot) — Q4 2026".
2. One-liner + Problem
One-liner: Give the autonomous AI Agent customer-level memory by reading the customer's cross-module CEBE history before responding — recognizing returning customers instead of answering context-blind.
Problem: The AI Agent is context-blind across modules and stateless per turn. On the chatbot
BE only the current message is sent to the AI service (send_message_with_resolve.rb —
question: last_history&.input_content); conversation state lives in the AI-service thread keyed
by room_id/conversation_id and evaporates with the conversation. No cross-conversation or
contact-level memory exists anywhere in the stack. The CEBE ANCHOR states the business
consequence precisely: "a ticket resolved in the support module never informs the AI Agent
handling a follow-up sale." A returning customer is greeted as a stranger, re-asked facts the
business already holds (open tickets, past orders, loyalty tier, campaign opt-outs), and an
at-risk or high-value customer is indistinguishable from a new one — capping containment and CSAT,
the exact gains the Intelligence theme promises. The cross-vertical CX-journey research
(6-vertical action-plan workshop, 2026-03-11) independently converged on the same mechanic:
CDP-driven personalization with CDP as identity resolution recurs in every vertical's
target journey — this initiative is that mechanic made real for the AI Agent.
3. What Happens If We Don't Build This
- CEBE loses its flagship consumer. The CEBE Q4 roadmap row "Agentic AI reads CEBE memory" and its success metric (AI Agent uses CEBE memory in ≥50% of conversations by end of Q4 2026) have no owner and silently slip — weakening the case for the backbone the whole Intelligence theme builds on.
- The agent stays context-blind. Containment and CSAT stay capped at what a memoryless agent can do; returning customers keep being re-asked what the business already knows.
- Cross-module data access gets re-solved ad hoc. Without the CEBE consumer path, future agent-context needs get wired as point-to-point lookups from the chatbot BE — the exact per-squad re-payment CEBE exists to eliminate.
- The personalization gap widens. Every target journey in the 6-vertical CX research assumes CDP-driven personalization; competitors shipping agent memory make a memoryless agent a visible competitive deficit in deals.
4. Strategic Context (Optional — not scored)
Module Positioning
Chatbot & AI → AI Agent (Generative AI). Memory is the layer that converts CEBE's unified customer data into agent behavior — the first of the CEBE downstream consumers (segmentation, marketing automation, health score are siblings owned by other squads). Within the chatbot portfolio it is orthogonal to AI Agent Knowledge: Knowledge = company-level (what the business knows), Memory = customer-level (what we know about this customer).
Pricing & Package Implications
Rides the existing autonomous-agent entitlement (Plus / Ultimate / 360) — no new SKU proposed for Phase 1. Whether memory later becomes a packaging differentiator (e.g. higher-tier-only) is an open question (§8) to resolve with pricing before GA.
5. Target Users + Persona Context
| Persona | Role | Goal | Pain | Workaround |
|---|---|---|---|---|
| Primary — Business Admin / CS Lead | Owns the org's production AI Agent and its containment/CSAT outcomes | An agent that recognizes returning customers and answers with full account context, lifting containment without more human agents | The agent re-asks known facts and treats every conversation as first contact; customers escalate out of frustration | Write ever-longer static instructions/KB entries; route "known customers" to humans; accept the CSAT cap |
| Secondary — AI Agent (system actor) | The autonomous agent acting on the business's behalf in live conversations | Read the customer's cross-module profile/history before responding | Receives only the current message + thread; no access to tickets, orders, campaigns, loyalty | None — the data exists in silos the agent cannot reach |
| Tertiary — End Customer | The business's customer chatting on WhatsApp/webchat | Continuous service — not repeating their history every conversation | Repeats context each session; gets generic answers despite a long relationship | Asks for a human agent |
6. Success Metrics
| Category | Metric | Definition | Baseline | Target |
|---|---|---|---|---|
| Adoption & Usage | ⭐ AI Agent uses CEBE memory | % of AI-handled conversations where the agent reads CEBE history before responding (inherited from the CEBE ANCHOR — this initiative delivers it) | 0% (no memory exists) | ≥ 50% of conversations by end of Q4 2026 |
| Quality & Impact | Containment delta (memory vs. non-memory) | RESOLVE_AI share of AI-handled rooms, memory cohort vs. control (spine: rooms.closed_reason) | Cohort baseline read at rollout | +3 pp within 60 days of GA (target reviewed at baseline read) |
| Quality & Impact | CSAT delta | Avg CSAT on memory-cohort conversations vs. control, where CSAT is collected | Cohort baseline read at rollout | +0.2 within 60 days of GA |
| Efficiency & Guardrail | Added response latency | p95 latency added to the agent's first response by the CEBE read (subsequent turns: 0 — context is cached in the thread) | N/A — new | p95 ≤ 2s; breach alerts and auto-skip (guardrail, not a growth metric) |
Instrumentation and per-response telemetry are Phase-1 scope (see the phase PRD's Observability section) — the ⭐ metric is unmeasurable without them.
7. Key Decisions + Alternatives Rejected
7a — Decisions Made
| Date | Decision | Rationale |
|---|---|---|
| 2026-07-22 | Stand up a new initiative with its own ANCHOR (not a phase under autonomous-ai-agent) | Memory spans multiple quarters and two external squads (CDP, DSAI) with its own interfaces and metrics; it needs its own epic, roadmap row, and dependency edges |
| 2026-07-22 | v1 is read-side only — the agent reads CEBE; it writes nothing back | Fastest path to the CEBE Q4 consumer commitment and the ≥50% metric; write-back needs net-new AI event types in the standardized schema, which is a CDP-squad schema negotiation, not a chatbot deliverable |
| 2026-07-22 | DSAI queries the CEBE retriever directly at runtime (chatbot-BE-side assembly rejected) | Context assembly belongs beside the reasoning engine: DSAI owns the thread state and prompt assembly, so injecting via the chatbot BE would push customer context through the thread-message contract, duplicate retriever-consumption logic in a second squad's runtime, and add a hop on the reply path. Avoidability check run per the cross-team dependency rule — the squad-owned alternative was evaluated (7b row 1) and rejected with eyes open; the DSAI dependency is accepted with a hard contract/commitment gate before BUILD (Phase-1 PRD, Dependencies) |
| 2026-07-22 | Phase 1 ships flag-only, with no FE surface | No memory design exists in the design system prototype (design census 2026-07-22); an org-level config toggle would gate Q4 on a design dependency for zero adoption benefit during staged rollout |
7b — Alternatives Rejected
| Alternative | Why Rejected | Date |
|---|---|---|
Chatbot BE assembles context (BE queries CEBE, injects via the predict payload / SendContext thread push) | Duplicates CEBE consumption logic outside the reasoning engine, splits ownership of what the model sees, and adds a hop on the customer reply path. Known trade-off: DSAI delivery has a slow/unreliable precedent — mitigated by the contract gate, not by re-homing the work | 2026-07-22 |
Reuse omnichannel_room_summaries as memory v1 | Per-conversation and chatbot-GPT-scoped — not cross-module, and does not deliver the CEBE consumer commitment; remains a possible future additional source | 2026-07-22 |
| Wait for write-back event types and ship read+write together | Couples Q4 delivery to an unscheduled CEBE schema extension; read-side alone already delivers the ≥50% metric and all Phase-1 value | 2026-07-22 |
8. Open Questions
| # | Type | Question | Owner | Deadline |
|---|---|---|---|---|
| 1 | Risk | CEBE core infra slips. The joint Eng+Data RFC (due Jul 2026) is escalated in the CDP sprint; a Q3 slip cascades into this initiative's Q4 target. Mitigation: inject this initiative's query/latency/auth requirements into the CEBE RFC now (Phase-1 PRD, Dependencies); phase-gate BUILD on CEBE staging availability; fallback = descope memory content to whichever modules have connected | Dimas Fauzi Hidayat + Zhelia Alifa | 2026-08-15 |
| 2 | Risk | DSAI capacity/commitment for Q4 not yet secured (retriever client + context injection are DSAI-side work). Mitigation: written contract + committed timeline is a BUILD gate — no RFC-approved build starts without it | Dimas Fauzi Hidayat + DSAI lead | 2026-08-31 |
| 3 | Assumption | qontak_customer_id is resolvable for enough AI-handled conversations to reach the ≥50% adoption target (identity-coverage feasibility — today the predict payload carries only channel_contact_id) | Chatbot BE + CDP squad | 2026-08-15 |
| 4 | Open Question | Pricing/packaging: does memory stay bundled in existing autonomous-agent tiers, or become a tier differentiator later? | Dimas Fauzi Hidayat + Pricing | 2026-09-30 |
9. User Stories & Acceptance Criteria
ANCHOR PRD — stories delegated to the phase PRDs. This is an initiative-level anchor; its detailed, testable user stories and acceptance criteria live in the per-phase PRDs listed in the Phase Index above. The anchor tracks only the initiative-level outcome below.
[MEM-E01] Initiative epic — As a business running the Qontak AI Agent, I want the agent to remember and use my customers' cross-module history, so that returning customers get continuous, context-aware service instead of starting from zero in every conversation.
| ID | Acceptance criterion |
|---|---|
| AC-1 | Every phase PRD in the Phase Index reaches READY and its own acceptance criteria are met, delivering the initiative-level outcome in Success Metrics (⭐ ≥50% of AI conversations read CEBE memory by end of Q4 2026). |
PRD CHANGELOG
| Version | Date | By | Section | Type | Summary |
|---|---|---|---|---|---|
| 1.0 | 2026-07-22 | Dimas Fauzi Hidayat / Claude | All | ADDED | Initial ANCHOR: initiative framing as CEBE's flagship downstream consumer, Phase Index (Phase 1 read-side), north-star metrics, DSAI-direct decision + avoidability record. |