Smart Search Platform - Area Positioning and Page Behavior Blueprint
SharedShared Capabilities3.208 words16 min read
Purpose
Phần tiêu đề “Purpose”- Chốt một pattern chung để Smart Search thay đổi gợi ý theo
areavàpagemà vẫn giữ trải nghiệm thống nhất toàn nền tảng. - Biến định hướng “context-aware search” thành contract có thể triển khai, kiểm thử và mở rộng dài hạn.
1) Pattern chung đề xuất: Area Profile -> Page Context -> Search Composition
Phần tiêu đề “1) Pattern chung đề xuất: Area Profile -> Page Context -> Search Composition”1.1 Area Profile (định vị theo miền chức năng)
Phần tiêu đề “1.1 Area Profile (định vị theo miền chức năng)”Mỗi area có một hồ sơ cố định để Search biết nên ưu tiên gì:
primaryJobs: nhóm việc chính user muốn làm ngay trong area đó.intentPriorityMap: thứ tự intent P0/P1/P2 của area.lanePolicy: thứ tự lane ở zero-state (Urgency,Momentum,Goal,Insight).placeholderPool: tập placeholder theo ngôn ngữ hành động.quickChipPool: quick chips theo area.aiIntentPolicy: AI intents được ưu tiên/giới hạn trong area.handoffPolicy: route contracts bắt buộc khi đi cross-module.
1.2 Page Context (định vị theo trang cụ thể)
Phần tiêu đề “1.2 Page Context (định vị theo trang cụ thể)”Trong cùng một area, mỗi page có bias khác nhau:
pageContextId(ví dụcourse.dashboard,practice.result,vocabulary.dashboard).localSignals(due count, in-progress item, weak skill, required item, streak).entrySource(home,course,practice,notification,deeplink).sessionMode(normal,activation_week1,high_attention).
1.3 Search Composition (cách dựng UI/result từ context)
Phần tiêu đề “1.3 Search Composition (cách dựng UI/result từ context)”Pipeline chuẩn:
- Resolve
Area Profile+Page Context. - Build placeholder + zero-state lanes theo policy.
- Detect intent (
prefix -> phrase -> verb-object -> semantic). - Rank theo baseline + context bias.
- Compose
Hero Action + Grouped Results + AI lane (khi hợp lệ). - Enforce cap/pivot + fallback + handoff payload.
2) Area Positioning Matrix (đề xuất tối ưu)
Phần tiêu đề “2) Area Positioning Matrix (đề xuất tối ưu)”| Area | Primary jobs | Intent ưu tiên | Zero-state lane order | Hero action mặc định | AI ưu tiên | Handoff trọng yếu |
|---|---|---|---|---|---|---|
home | quyết định vào học nhanh, chọn lane đúng | ACT_ASSIGNMENT, ACT_SCHEDULE, ACT_VOCAB, ACT_EXERCISE | Momentum -> Urgency -> Insight | Continue Learning hoặc quick-win theo context | ACT_AI_SCHEDULE_PREP, ACT_AI_STATS (nhẹ) | Home -> PRA, Home -> Course, Home -> VOC |
course | xử lý việc học theo khóa và vận hành lớp | ACT_PRACTICE, ACT_SCHEDULE, ACT_TEST, ACT_ABSENCE, ACT_RESULT | Urgency -> Momentum -> Insight | item due/overdue hoặc next class | full AI set của CM (stats/process/prep/recap/error/plan/explain) | Course -> PRA, Course -> VOC, Course -> AI Tutor |
learning | xác định điểm yếu và bài luyện impact cao | ACT_EXERCISE, ACT_RESULT, ACT_FEEDBACK, ACT_AI_STATS | Goal -> Weakness -> Momentum | weakest-impact next exercise | ACT_AI_STATS, ACT_AI_ERROR_BANK, ACT_AI_EXPLAIN, ACT_AI_PLAN (high-attention) | LM -> PRA với params đầy đủ |
practice | bắt đầu bài đúng ngữ cảnh, tiếp tục sau result | ACT_EXERCISE, ACT_ASSIGNMENT, ACT_DICTATION, ACT_VOCAB | Momentum -> Goal -> Insight | resume attempt hoặc recommended available-now | ACT_AI_ERROR_BANK, ACT_AI_EXPLAIN, ACT_AI_TUTOR | PRA -> VOC payload, PRA -> LM evidence |
vocabulary | ôn từ đến hạn, xử lý từ sai, mở session nhanh | ACT_VOCAB, ACT_AI_VOCAB_CONNECT, ACT_AI_ERROR_BANK | Urgency -> Mistake -> Start Session | Ôn ngay (5 phút) | ACT_AI_VOCAB_CONNECT, ACT_AI_EXPLAIN | VOC -> PRA (related exercise), VOC -> AI Tutor |
3) Page-level Behavior Blueprint
Phần tiêu đề “3) Page- Behavior Blueprint”3.1 Home
Phần tiêu đề “3.1 Home”home.prelogin_main
Phần tiêu đề “home.prelogin_main”- Placeholder:
Bạn muốn khám phá chương trình hay khóa học phù hợp?
- Zero-state lanes:
Khám phá chương trình.Khám phá khóa học.So sánh lộ trình.
- Query behavior:
- query chương trình (
ielts,sat,toeic,giao tiếp) -> ưu tiên mở program landing đúng context. - query theo nhu cầu (
học tối,lịch linh hoạt) -> ưu tiên lane có signal phù hợp.
- query chương trình (
- Conversion rule:
- action cần quyền phải đi auth-first và giữ
returnTo.
- action cần quyền phải đi auth-first và giữ
home.program_landing_prelogin
Phần tiêu đề “home.program_landing_prelogin”- Placeholder:
Tìm nhanh skill, phần chấm bài, hoặc lộ trình của chương trình này...
- Chips:
Làm bài vs Kết quả,Điểm đa tiêu chí,Gợi ý từ vựng.
- Hero rule:
- query capability (
chấm,sửa lỗi,leaderboard) -> mở đúng showcase tab/sub-tab thay vì chỉ cuộn landing.
- query capability (
home.program_compare_prelogin
Phần tiêu đề “home.program_compare_prelogin”- Placeholder:
So sánh chương trình theo mục tiêu của bạn (IELTS/SAT/TOEIC)...
- Chips:
IELTS vs TOEIC,SAT vs IELTS,Đề xuất phù hợp.
- AI behavior:
- ưu tiên
Program Fit Snapshotkhi query có pattern so sánh/chọn chương trình.
- ưu tiên
home.main
Phần tiêu đề “home.main”- Placeholder:
Hôm nay bạn muốn học tiếp gì?Tìm nhanh bài cần làm, lịch học, hoặc ôn từ vựng...
- Zero-state lanes:
Tiếp tục học.Việc cần xử lý 72h.Gợi ý cá nhân hóa.
- Query behavior:
- query ngắn: ưu tiên completion dạng action (
Làm bài tập,Ôn từ). - query rõ nghĩa: ưu tiên route đến module phù hợp + return path.
- query ngắn: ưu tiên completion dạng action (
- AI behavior:
- AI không lấn lane action; chỉ lên cao khi user gọi từ khóa AI rõ ràng.
home.activation_week1
Phần tiêu đề “home.activation_week1”- Placeholder:
Bắt đầu bài đầu tiên trong 5-10 phút...
- Chips:
Bài đầu tiên,Bài thứ hai (48h),Giữ nhịp 3 ngày.
- Ranking bias:
- boost quick-win in-program items.
home.high_attention
Phần tiêu đề “home.high_attention”- Placeholder:
Cần phục hồi nhịp học? Bắt đầu từ bài required hôm nay...
- Chips:
Bước ưu tiên hiện tại,Kế hoạch học,Hỏi AI Tutor.
3.2 Course Management
Phần tiêu đề “3.2 Management”course.dashboard
Phần tiêu đề “course.dashboard”- Placeholder:
Xử lý việc cần làm hôm nay, tiếp tục bài dở hoặc chuẩn bị lớp tới...
- Zero-state lanes:
Due today/overdue.In progress.Next class prep.
- Hero rule:
- nếu có due/overdue -> hero là task gần hạn nhất.
- nếu không -> hero là next class prep.
- Ranking bias:
- boost item
required=truevàdue < 24h. - pin cảnh báo khẩn (due < 6h) ở hero slot nếu có.
- boost item
course.schedule_tab
Phần tiêu đề “course.schedule_tab”- Placeholder:
Xem lịch học sắp tới, tài liệu cần xem trước và lịch bù...
- Chips:
Buổi học kế tiếp,Tài liệu pre-read,Đặt lớp bù.
- Hero rule:
- query chứa thời gian cụ thể (
mai,thứ 3,19:30) -> ưu tiên session gần nhất khớp thời điểm.
- query chứa thời gian cụ thể (
- AI lane:
- ưu tiên
ACT_AI_SCHEDULE_PREPvới checklist hành động.
- ưu tiên
course.assignment_tab
Phần tiêu đề “course.assignment_tab”- Placeholder:
Tìm bài tập theo hạn nộp, trạng thái và kỹ năng...
- Chips:
Bài cần nộp hôm nay,Bài quá hạn,Chỉ bài bắt buộc.
- Ranking bias:
required + overdue>required + due soon>in_progress>optional.
- Action rule:
- query chứa
quá hạnhoặchôm nay-> auto-apply filter tương ứng.
- query chứa
course.test_tab
Phần tiêu đề “course.test_tab”- Placeholder:
Tìm bài test online/mock/final và mở đúng bài cần làm...
- Chips:
Thi thử sắp tới,Bài test chưa làm,Xem kết quả gần nhất.
- Hero rule:
- nếu có test chưa làm và còn hạn -> ưu tiên
ACT_TESTở depthSTEP.
- nếu có test chưa làm và còn hạn -> ưu tiên
course.detail_tab
Phần tiêu đề “course.detail_tab”- Placeholder:
Mở nhanh recap, slide, feedback hoặc tab chi tiết trong khóa...
- Chips:
Recap buổi gần nhất,Slide buổi tới,Feedback giáo viên.
- Route rule:
- query tab-specific (
syllabus,recap,attendance,vocabulary) -> deep-link đúng tab thay vì mở overview.
- query tab-specific (
course.ops
Phần tiêu đề “course.ops”- Placeholder:
Báo nghỉ, đặt lịch bù, xem điểm danh và thao tác lớp học...
- Chips:
Báo nghỉ buổi tới,Đặt lớp 1-1,Xem điểm danh.
- Hero rule:
- ưu tiên
EXECintents (ACT_ABSENCE,ACT_BOOKING) khi query rõ thao tác.
- ưu tiên
- Guardrail:
- mọi action
EXECbắt buộc có confirm trước submit.
- mọi action
course.ai_insight
Phần tiêu đề “course.ai_insight”- Placeholder:
AI tổng hợp tiến độ, kế hoạch gỡ bài và chuẩn bị lớp học...
- Chips:
Thống kê quá trình (AI),Kế hoạch gỡ bài,Checklist trước lớp.
- Hero rule:
- query thuộc cụm AI (
thống kê,gỡ bài,vì sao tụt) -> ưu tiên widget AI thay vì list page.
- query thuộc cụm AI (
course.guest_overview
Phần tiêu đề “course.guest_overview”- Placeholder:
Khám phá cách học theo khóa và chọn hướng phù hợp...
- Chips:
Xem lộ trình khóa,Tư vấn khóa phù hợp,So sánh với tự học.
- Hero rule:
- query về
đăng ký,học theo khóa,tư vấn-> boost conversion actions.
- query về
course.guest_courses_preview
Phần tiêu đề “course.guest_courses_preview”- Placeholder:
Tìm khóa theo mục tiêu, lịch học, hoặc hình thức học...
- Chips:
Khóa mới bắt đầu,Lịch buổi tối,Khóa online.
- Ranking bias:
- ưu tiên course cards có metadata khớp theo mục tiêu/lịch/hình thức.
- thiếu metadata -> fallback
xem chi tiết + tư vấn.
course.guest_course_detail_gate
Phần tiêu đề “course.guest_course_detail_gate”- Placeholder:
Mở nhanh thông tin khóa, đăng nhập để xem sâu, hoặc đặt tư vấn...
- Chips:
Đăng nhập xem đầy đủ,Đặt tư vấn,Khóa tương tự.
- Conversion rule:
- query action rõ (
đăng ký,xem chi tiết,tư vấn) -> trảEXEC/STEPtương ứng vớireturnTo.
- query action rõ (
3.3 Learning Management
Phần tiêu đề “3.3 Learning Management”learning.dashboard
Phần tiêu đề “learning.dashboard”- Placeholder:
Tìm điểm yếu cần luyện, khoảng cách mục tiêu và bài nên làm tiếp...
- Zero-state lanes:
Weakest analysis unit.Impact cao 30 ngày hoạt động.Next best exercise.
- Ranking bias:
- tăng điểm cho item có confidence cao + comparable-goal hợp lệ.
- nếu
sessionMode=high_attentionthì boostrecovery_critical.
- Hero rule:
- mặc định:
Làm bài tiếp theotheo weakest-impact. - nếu
high_attention=true: hero chuyển sangBắt đầu kế hoạch phục hồi 7 ngày.
- mặc định:
learning.analysis_table
Phần tiêu đề “learning.analysis_table”- Placeholder:
Lọc theo skill/section/domain để thấy nhóm cần luyện gấp...
- Chips:
Cần luyện gấp,Nên luyện thêm,Chỉ nhóm confidence cao.
- Ranking bias:
- ưu tiên
impact_tier=hightrong30 ngày hoạt động. - nếu
goal_comparison_mode=not_comparablethì hạ ưu tiên numeric-gap card và tăng trend card.
- ưu tiên
learning.goal_panel
Phần tiêu đề “learning.goal_panel”- Placeholder:
Mở nhanh mục tiêu, sửa target và lịch thi theo chương trình...
- Chips:
Đổi mục tiêu,Sửa lịch thi,Xem tiến độ theo goal.
- Action rule:
- query chứa
mục tiêu,target,lịch thi-> mởgoal editor modalin-place.
- query chứa
learning.saved_tab
Phần tiêu đề “learning.saved_tab”- Placeholder:
Tìm bài đã lưu theo trạng thái, kỹ năng hoặc tên bài...
- Chips:
Bài đang làm,Bài đã làm,Áp dụng bộ lọc đã lưu.
- Action rule:
- giữ contract filter theo
status/skill/submittedAt, không reset context khi back.
- giữ contract filter theo
learning.history_tab
Phần tiêu đề “learning.history_tab”- Placeholder:
Xem lịch sử tuần/tháng/năm và mở lại bài theo ngữ cảnh...
- Chips:
Lịch sử 7 ngày,Heatmap năm,Mở kết quả gần nhất.
- Route rule:
- query chứa
tuần/tháng/năm-> preselect đúng time tab khi mở history.
- query chứa
learning.high_attention
Phần tiêu đề “learning.high_attention”- Placeholder:
Bạn đang cần phục hồi phong độ, bắt đầu kế hoạch học phù hợp ngay...
- Chips:
Kế hoạch học,Bước ưu tiên hiện tại,Bước học thêm.
- AI lane:
- cho phép
ACT_AI_PLANvàACT_AI_TUTORlên top slot.
- cho phép
- Guardrail:
- plan ở trạng thái guidance-only, không block flow học bình thường.
3.4 Practice
Phần tiêu đề “3.4 Practice”practice.entry
Phần tiêu đề “practice.entry”- Placeholder:
Tìm bài theo dạng, kỹ năng, hoặc mục tiêu...
- Zero-state lanes:
Resume attempt.Recommended available-now.Quick warm-up.
- Route rule:
- mọi
STEPphải mang đủsource_context/program/exercise_id/returnTo.
- mọi
practice.result
Phần tiêu đề “practice.result”- Placeholder:
Làm tiếp bài tương tự hoặc ôn lỗi vừa sai...
- Chips:
Bài cùng dạng,Fix mistakes,Gửi từ sai sang sổ từ.
- AI lane:
- ưu tiên
Mistake Clinic+Concept Clarifier.
- ưu tiên
3.5 Vocabulary
Phần tiêu đề “3.5 Vocabulary”vocabulary.dashboard
Phần tiêu đề “vocabulary.dashboard”- Placeholder:
Ôn từ cần tưới hôm nay, mở list đã lưu hoặc bắt đầu phiên 5 phút...
- Zero-state lanes:
Due words today.Mistake-based list.Quick open.
- Hero rule:
- nếu
due_words_today > 0->Ôn ngay (5 phút). - nếu
due_words_today = 0-> hero làMở list gần nhất.
- nếu
vocabulary.list_tab
Phần tiêu đề “vocabulary.list_tab”- Placeholder:
Tìm nhanh danh sách từ theo tên/chủ đề và mở ngay trong tab này...
- Chips:
List mới lưu gần đây,List từ bài hay sai,Tạo list mới.
- Ranking bias:
- ưu tiên exact match tên list do user tạo hoặc đã lưu.
- nếu không exact match, fallback theo chủ đề/tag list.
- Action rule:
- mở ở
subtabhiện tại, giữreturnTo=vocabulary.list_tab.
- mở ở
vocabulary.garden_tab
Phần tiêu đề “vocabulary.garden_tab”- Placeholder:
Mở vườn cây, lọc cây cần tưới và ôn ngay từ đây...
- Chips:
Cây cần tưới,Cây sắp héo,Thăm vườn của tôi.
- Hero rule:
- query chứa
vườn câyhoặccây cần tưới-> ưu tiên actionMở popup vườn cây.
- query chứa
vocabulary.analytics_tab
Phần tiêu đề “vocabulary.analytics_tab”- Placeholder:
Xem thống kê tuần/tháng và hiệu suất học từ vựng của bạn...
- Chips:
Báo cáo tuần,Xu hướng tháng,Chủ đề đang tập trung.
- AI lane:
ACT_AI_STATSlà primary intent trong page này.- ưu tiên widget có CTA hành động (
Ôn theo chủ đề yếu,Điều chỉnh mục tiêu tuần).
vocabulary.session
Phần tiêu đề “vocabulary.session”- Placeholder:
Tìm từ trong phiên này hoặc mở nhanh mục tiêu tuần...
- Chips:
Từ sai gần đây,Đổi mục tiêu tuần,Hỏi AI giải thích.
- Action rule:
- query chứa
mục tiêu tuần-> mở popup goal-setting in-place, không rời session flow.
- query chứa
vocabulary.reminder_center
Phần tiêu đề “vocabulary.reminder_center”- Placeholder:
Thiết lập nhắc ôn và giờ học từ vựng phù hợp lịch của bạn...
- Chips:
Nhắc lúc 20:00,Bật DND,Xem nhắc gần nhất.
- Hero rule:
- query có giờ cụ thể (
7h,20:30) -> ưu tiên preset reminder action.
- query có giờ cụ thể (
4) AI keyword policy theo area (gating)
Phần tiêu đề “4) AI keyword policy theo area (gating)”| AI Intent | Home | Course | Learning | Practice | Vocabulary |
|---|---|---|---|---|---|
ACT_AI_STATS | secondary | primary | primary | secondary | secondary |
ACT_AI_PRACTICE_PROCESS | secondary | primary | secondary | secondary | off |
ACT_AI_SCHEDULE_PREP | primary | primary | off | off | off |
ACT_AI_SESSION_SUMMARY | secondary | primary | secondary | off | off |
ACT_AI_ERROR_BANK | off | primary | primary | primary | secondary |
ACT_AI_PLAN | secondary | primary | secondary | secondary | off |
ACT_AI_EXPLAIN | off | primary | primary | primary | primary |
ACT_AI_VOCAB_CONNECT | secondary | secondary | off | secondary | primary |
ACT_AI_TUTOR | on-demand | on-demand | on-demand | on-demand | on-demand |
Rule bắt buộc:
ACT_AI_TUTORkhông auto-open ở mọi area.- nếu area policy =
off, intent vẫn có thể xuất hiện qua disambiguation nhưng không chiếm hero slot. - với
learning,ACT_AI_PLANchỉ lên hero khihigh_attention=truehoặc query gọi plan/recovery rõ ràng.
5) Placeholder Composition Rules (để đồng nhất UX)
Phần tiêu đề “5) Placeholder Composition Rules (để đồng nhất UX)”- Placeholder luôn theo mẫu
động từ + mục tiêu gần. - Mỗi page có
1 primary placeholder+1 fallback placeholder. - Rotating placeholder chỉ xoay trong pool của
pageContextId, không dùng pool toàn cục. - Quick chips tối đa
3, luôn chứa ít nhất1 chiptừ local signals. - Nếu không có dữ liệu local, fallback sang chip baseline của area.
6) Search ranking policy by context
Phần tiêu đề “6) Search ranking policy by context”Công thức khuyến nghị:
finalScore = intentPriority + urgencyBoost + momentumBoost + pageContextBoost + recencyBoost + confidenceBoost + entitlementBoost
Context boosts:
pageContextBoost:- +3 nếu result đúng page hiện tại.
- +2 nếu cùng area nhưng khác page.
- +1 nếu cross-area nhưng có continuity signal.
entitlementBoost:- +2 cho available-now.
- -2 cho locked item (trừ khi query có ý định unlock/upgrade).
Caps:
- Prefix completions
<= 3. - Group results
<= 3/group. - Low-confidence items
<= 1nếu inventory đủ. - Umbrella query exception:
- nếu query match bundle
AIhoặclàm bài/làm bài tập, bỏ cap prefix<=3. - render dạng feature catalog theo group để user thấy đầy đủ tính năng liên quan.
- nếu query match bundle
7) Completion plan để triển khai ngay (không chia v1/v2)
Phần tiêu đề “7) Completion plan để triển khai ngay (không chia v1/v2)”- Tạo
AreaProfileRegistry(SSOT) cho 5 area. - Tạo
PageContextResolverđể map route hiện tại ->pageContextId+ local signals. - Tạo
PlaceholderComposervàQuickChipComposerdùng registry + signals. - Gắn
IntentRoutervớiaiIntentPolicy(enable/priority/off). - Chuẩn hóa
ResultComposertheoHero + Group + AI lane + caps. - Thêm
HandoffGuardcho PRA/VOC route contracts. - Bật telemetry theo page context:
search_placeholder_rendered,search_chip_clicked,search_hero_clicked,search_ai_widget_opened,search_cross_module_handoff_success.
- QA theo scenario matrix bắt buộc cho 5 area x 2 trạng thái dữ liệu (
has_data,no_data).
8) Governance dài hạn
Phần tiêu đề “8) Governance dài hạn”- Intent mới hoặc placeholder mới phải đi qua
AreaProfileRegistry, không patch cục bộ ở module. - Mỗi module chỉ được override
copyvàchip labels; không override ranking core nếu chưa có review. - Mọi thay đổi cross-area phải cập nhật tài liệu này và
SSP_Master_Product_Spec.mdcùng lúc.
References
Phần tiêu đề “References”SSP_Master_Product_Spec.mdSSP_00_Overview.mdcontracts/SSP_Intent_Taxonomy_Result_Contract.mdcontracts/SSP_Context_Pack_Adapter_Contracts.mdux-patterns/SSP_UI_Placeholder_By_Flow.mdux-patterns/SSP_AI_Keyword_Widget_Map.mdux-patterns/SSP_AI_Innovation_By_Area.mdarea-bundles/SSP_Program_Course_Discovery_Search_Bundles.md../Course Management/CM_FEATURE_Smart_Search.md../Course Management/CM_TECH_Smart_Search_Architecture.md../Course Management/CM_TECH_AI_Deep_Resources.md../Course Management/CM_REF_AI_Result_Templates.md../Home & Discovery/HOME_ENG_Home_Post_Login.md(archived, DEC-0096)../Home & Discovery/HOME_ENG_Home_Pre_Login.md../Practice Flow/PRA_Entry_Routing_Contracts.md../Vocabulary Management/VOC_00_Overview.md../Learning Management/LM_Metrics.md
Change log
Phần tiêu đề “Change log”- 2026-03-18:
Bước ưu tiên hiện tại,Kế hoạch học,Hỏi AI Tutor. - 2026-02-28: title: “Smart Search Platform - Area Positioning and Page Behavior Blueprint”