Files
inspiration-collector/DECISION_LOG.md

3.8 KiB
Raw Blame History

决策日志 (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的简单统计格式 (被否决: 冯总明确要求深度分析) 教训: 已有格式标准 (日报格式) 就是最好的模板。不要凭空造新格式。