Initial commit: clean project structure

- Backend: FastAPI + SQLAlchemy + Celery (Python 3.11+)
- Frontend: Vue 3 + TypeScript + Pinia + Tailwind
- Admin Frontend: separate Vue 3 app for management
- Docker Compose: 9 services orchestration
- Specs: design prototypes, memory system PRD, product roadmap

Cleanup performed:
- Removed temporary debug scripts from backend root
- Removed deprecated admin_app.py (embedded UI)
- Removed duplicate docs from admin-frontend
- Updated .gitignore for Vite cache and egg-info
This commit is contained in:
zhangtuo
2026-01-20 18:20:03 +08:00
commit e9d7f8832a
241 changed files with 33070 additions and 0 deletions

View File

@@ -0,0 +1,177 @@
# 记忆与个性化技术方案建议PRD 讨论稿)
> 目标:给 DreamWeaver 的“记忆与个性化”提供可落地的技术路径与产品取舍依据,用于 PRD 细化。
---
## 1. 总体结论(推荐方案)
**v1 推荐:混合方案(结构化 DB + 轻量语义检索)**
- **DB** 作为权威事实与可解释记忆(孩子档案、宇宙设定、成就、偏好权重)。
- **RAG** 用于非结构化内容(故事摘要、互动摘要、近期期望),辅助个性化提示词。
**原因**
- 纯 DB 可控但缺乏语义弹性;纯 RAG 难以稳定控制与审计。
- 混合方案能在“可解释 + 个性化”之间取到最佳平衡。
---
## 2. DB vs RAG技术与产品对比
### 2.1 DB结构化记忆
**适用内容**
- 孩子档案(基础信息)
- 兴趣标签与成长主题
- 故事宇宙设定(主角、世界观、常驻角色)
- 成就(可审核、可追溯)
**优点**
- 高可解释性
- 变更可追踪、可回滚
- 便于用户管理(家长可编辑)
**缺点**
- 灵活性不足
- 难以覆盖“隐性偏好”(比如叙事风格喜好)
### 2.2 RAG语义记忆
**适用内容**
- 故事摘要
- 互动摘要(“最近更喜欢冒险故事”)
- 非结构化日志
**优点**
- 具备语义召回能力
- 适合挖掘“隐含偏好”
**缺点**
- 可解释性弱
- 成本与性能压力大
- 隐私风险更高
---
## 3. 时序性与记忆衰减(建议必须有)
**核心观点**:孩子兴趣会随时间变化,必须引入时间衰减。
**做法建议**
- 所有记忆项带 `created_at` / `last_used_at`
- 引入权重衰减模型:
- 近 7 天:高权重
- 30 天:中权重
- 90 天:低权重
- 超过 90 天:降权或淘汰
**价值**
- 避免旧偏好过度影响新故事
- 体现成长与兴趣演变
---
## 4. 分层记忆(建议引入)
建议采用三层结构:
### 4.1 短期记忆Session
- 当前生成上下文(关键词、选定档案/宇宙)
- 生命周期:仅本次请求有效
### 4.2 中期记忆(近期偏好)
- 最近 5-10 次故事生成/阅读偏好
- 生命周期30-60 天
### 4.3 长期记忆(稳定事实)
- 档案、宇宙、核心兴趣
- 生命周期:长期可编辑
**价值**
- 既保留稳定设定,又能捕捉近期变化
---
## 5. Agent 动态判断是否写入记忆
**建议:规则优先 + 模型辅助**
流程示例:
1. 命中规则(如完整阅读/重复播放)→ 进入候选
2. LLM 抽取结构化信息 + 置信度
3. 置信度不足 → 不写入
**优点**
- 避免模型“乱记忆”
- 降低噪声,提高记忆质量
---
## 6. 推荐的记忆数据结构
### 6.1 结构化表DB
- `child_profiles`:基础信息、兴趣、成长主题
- `story_universes`:主角、角色、世界观、成就
- `reading_events`:阅读/跳过/重播行为日志
- `memory_items`抽象记忆表type, value, confidence, ttl
### 6.2 语义检索RAG
- 存储内容:故事摘要、成就摘要、行为总结
- 向量库:**pgvector**(成本低、易部署)
- 检索过滤:`child_id` / `universe_id` / 时间窗口
---
## 7. 关键产品问题(需明确)
1) **记忆是否可编辑**
- 家长是否能查看、修改、删除系统记忆?
2) **跨孩子隔离**
- 同账号多孩子的记忆是否完全隔离(推荐隔离)
3) **隐私与合规**
- 哪些数据进入记忆?是否脱敏?是否加密?
4) **性能与成本**
- RAG 查询是否影响生成时延?
- 是否需要缓存与批量检索?
5) **效果评估**
- 记忆是否提高故事满意度?
- 需要 A/B 或指标体系吗?
---
## 8. 推荐实施路线
### v11-2 个月)
- DB 记忆为主RAG 只做轻量补充
- 引入时序衰减
- 记忆来源:用户显式输入 + 行为日志
### v22-3 个月)
- 引入 Agent 记忆抽取与置信度
- 记忆管理界面(家长可编辑)
- 更精细的个性化推荐
---
## 9. 需要确认的决定点
- 是否采用混合方案DB + RAG
- RAG 的检索范围(故事摘要 / 行为摘要 / 成就)
- 记忆分层与衰减规则
- Agent 记忆写入规则与阈值
- 家长可见/可控的记忆管理策略
---
如确认以上方向,我可以进一步输出:
- PRD 里的“记忆系统”完整章节
- 数据模型(含字段 + 时序衰减)
- 交互与界面草案
- 后端实现拆解(任务清单 + 里程碑)