1. Dynamic AI Hints 设计解析
在AI驱动的知识管理系统中,Dynamic AI Hints(动态AI提示)是一个关键的用户引导机制。它通过智能生成问题建议,帮助用户更好地与系统交互。但很多初级产品经理和开发者常犯的一个错误是,只考虑了理想情况下的RAG(检索增强生成)场景,而忽略了用户旅程中的各种边界情况。
1.1 核心问题场景
当用户刚创建一个新的Notebook时,系统会面临一个典型的技术挑战:
- 用户打开空白Notebook页面
- 后端接口被调用以生成三个推荐问题
- 但此时向量数据库是空的(因为尚未上传任何Source)
- RAG机制无法工作,导致无法生成基于内容的推荐问题
这个看似简单的场景,实际上反映了产品设计中的一个深层次问题:如何在没有用户数据的情况下,仍然提供有价值的交互引导?
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 三层降级策略详解
成熟的RAG产品采用了一种被称为"三层降级"的策略来解决这个问题。这个策略不仅考虑了技术实现,更重要的是从用户体验角度出发,确保在任何状态下都能给予用户恰当的引导。
2.1 第一层:基于内容的动态提示(理想情况)
当Notebook中已有上传的Source时,系统采用完整的RAG+LLM工作流:
python复制def generate_questions_with_rag(notebook_id):
# 从向量库检索相关内容
sources = vector_db.query(notebook_id=notebook_id)
if not sources:
return None # 触发降级逻辑
# 构建RAG提示
prompt = f"""基于以下内容,生成3个最相关的问题:
{sources}
问题应该:1) 覆盖主要内容 2) 具有开放性 3) 引导深入探讨"""
# 调用LLM生成问题
questions = llm.generate(prompt)
return questions
这种模式的优势在于:
- 问题与内容高度相关
- 能引导用户深入探索已上传的资料
- 增强AI助手的实用性和针对性
2.2 第二层:基于元信息的引导提示
当Notebook为空但包含元信息(如标题、描述)时,系统会切换到元信息引导模式:
python复制def generate_questions_from_metadata(notebook):
if not notebook.title and not notebook.description:
return None # 继续降级
prompt = f"""这是一个标题为"{notebook.title}"的Notebook,描述是:
"{notebook.description}"
在用户尚未上传任何资料前,生成3个引导性问题,帮助用户:
1) 明确记录目的 2) 思考上传内容 3) 开始使用AI功能"""
