Files
inspiration-collector/DECISION_LOG.md

59 lines
3.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 决策日志 (Decision Log)
记录项目关键设计决策、踩过的坑、经验教训。替代智能体记忆(MEMORY.md),确保换智能体/大模型时知识不丢失。
## 架构决策
### D-2026-06-14: 卡片系统设计 — 原始素材与AI加工并行保留
**决策**每条Memos灵感生成独立`.md`卡片文件(`cards/`)AI分析结果存`ai-insights/`。两条线互不覆盖。
**原因**AI分析可能出错或失真保留原始素材确保失真可追溯。卡片文件支持Obsidian双链引用。
**替代方案**只在AI分析中引用原文被否决因为原文会被AI改写而丢失原始语境
### D-2026-06-14: 仓库拆分 — todo/brief/nav独立
**决策**:将待办系统(todo-system)、每日要闻(daily-brief)、导航页(nav-page)从灵感收集器拆分为独立仓库。
**原因**:单一仓库职责过重,拆分后各仓库独立部署、独立迭代。
**教训**:拆分前确保每个子系统的依赖关系和部署脚本同步更新,避免"拆了代码但没拆部署"。
### D-2026-06-14: Prompt模板从代码中分离
**决策**将硬编码在分析脚本中的LLM Prompt提取到`templates/`目录作为独立配置文件。
**原因**换用不同LLM时只需修改模板文件不需改代码。模板可以独立版本管理和迭代优化。
**教训**以后所有AI分析脚本的Prompt都应该从模板文件加载不要硬编码。
### D-2026-06-12: Memos API 数据获取策略
**决策**通过Memos REST API获取灵感数据而非直接读数据库。
**原因**Memos可能有数据库迁移API接口更稳定。不依赖数据库内部结构。
## 踩坑记录
### P-2026-06-13: 时区混乱
**问题**Memos返回UTC时间戳但分析脚本按北京时间解读导致"今天的灵感"实际包含昨天下午的内容。
**解决**所有时间戳统一加UTC+8转换在System Prompt中明确告知AI所有时间都是北京时间。
**预防**任何涉及时间的系统必须在文档和Prompt中明确时区约定。
### P-2026-06-13: AI分析内容过长被截断
**问题**每日灵感较多时AI返回的分析文章超过token限制被截断。
**解决**设置max_tokens=4096并在Prompt中要求"宁长勿短"的同时对超长输入做智能截断保留最近N条+摘要前N条
### P-2026-06-14: 课程分析模板硬编码在Skill中
**问题**课程学习记录的分析模板写在智能体Skill里不是仓库文件。
**解决**:待固化到`templates/course_analysis_prompt.txt`
**教训**所有分析模板都应该在仓库里有备份智能体Skill只是调用入口。
## 设计原则
1. **原始素材不可篡改** — cards/目录是只增不改的AI分析出错不影响原始数据
2. **模板与代码分离** — Prompt模板独立于代码跨模型迁移
3. **所有自动化在服务器** — cron/shell脚本不依赖智能体
4. **Gitea是唯一真相来源** — 所有产物入仓,不依赖本地文件
### D-2026-06-18: 周报格式 - 与日报统一, 素材来源=日报
**决策**: 周度分析使用与日报完全一致的格式 (私人思考伙伴风格), 素材来源为过去7天的日报全文 (非原始Memos)。
**原因**:
- 格式统一降低认知切换成本。日报怎么写周报就怎么写, 不另起炉灶。
- 日报已经过每日AI分析提炼, 比原始Memos更适合作为周度合成的素材。周报在日报基础上做跨日主题追踪和认知跃迁识别。
- 第一次手动生成的周报验证了这个方向: 冯总评价"分析深度可以, 比较满意"。
**替代方案**:
- 直接分析原始Memos (被否决: 信息密度低, 缺少每日分析的历史纵深)
- 使用旧weekly_trend.py的简单统计格式 (被否决: 冯总明确要求深度分析)
**教训**: 已有格式标准 (日报格式) 就是最好的模板。不要凭空造新格式。