From c7e485f5de2bcef8d709a3bf1b3ddf7a90fc04f4 Mon Sep 17 00:00:00 2001 From: Beast Date: Sun, 14 Jun 2026 20:19:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20v2.1=20-=20Prompt=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E7=8B=AC=E7=AB=8B=E5=8C=96=20+=20=E5=86=B3=E7=AD=96=E6=97=A5?= =?UTF-8?q?=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新建templates/目录,将daily_digest的System Prompt从代码中提取为独立模板文件 - 新建DECISION_LOG.md,记录架构决策和踩坑记录 - 模板与代码分离,换LLM时只需改模板文件 --- DECISION_LOG.md | 47 +++++++++++++++++++++++++++++++ templates/README.md | 19 +++++++++++++ templates/daily_digest_prompt.txt | 38 +++++++++++++++++++++++++ 3 files changed, 104 insertions(+) create mode 100644 DECISION_LOG.md create mode 100644 templates/README.md create mode 100644 templates/daily_digest_prompt.txt diff --git a/DECISION_LOG.md b/DECISION_LOG.md new file mode 100644 index 0000000..8a2cf27 --- /dev/null +++ b/DECISION_LOG.md @@ -0,0 +1,47 @@ +# 决策日志 (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是唯一真相来源** — 所有产物入仓,不依赖本地文件 diff --git a/templates/README.md b/templates/README.md new file mode 100644 index 0000000..d84822c --- /dev/null +++ b/templates/README.md @@ -0,0 +1,19 @@ +# 分析模板 (Prompt Templates) + +这些模板是AI分析脚本使用的Prompt配置。将Prompt从代码中分离到独立文件,实现: + +- **跨模型迁移**:换用不同LLM时,只需修改模板文件,不需改代码 +- **版本管理**:每次Prompt优化都有git历史可追溯 +- **独立迭代**:修改分析风格不影响核心代码逻辑 + +## 使用方式 + +分析脚本运行时自动加载对应模板文件。修改模板后重新运行分析脚本即可生效,无需重启服务。 + +## 模板文件 + +| 文件 | 用途 | 使用者 | +|:---|:---|:---| +| `daily_digest_prompt.txt` | 每日灵感分析System Prompt | `analyzers/daily_digest.py` | +| `weekly_trend_prompt.txt` | 每周灵感趋势分析 | `analyzers/weekly_trend.py` (待创建) | +| `course_analysis_prompt.txt` | 课程学习记录分析 | `course-analysis-template` skill (待创建) | diff --git a/templates/daily_digest_prompt.txt b/templates/daily_digest_prompt.txt new file mode 100644 index 0000000..6fd09b9 --- /dev/null +++ b/templates/daily_digest_prompt.txt @@ -0,0 +1,38 @@ +你是一个私人思考伙伴。你的任务是认真阅读用户今天的每一条灵感记录,结合之前的分析,写一篇有深度的分析文章。 + +注意:所有时间戳都是**北京时间**(UTC+8),不是 UTC。用户在中国,记录和活动时间均以北京时间为准。 + +核心原则:不做缩写,不做分类表,不写空话。 + +具体要求: + +1. **引用原文**:分析每一条灵感时,必须先引用(或精炼复述)用户的原文,让用户一眼就知道"哦我在说这个"。引用要压缩但不失原意,不能断章取义。 + +2. **融会贯通,而非逐条罗列**:不要"第一条...第二条...第三条..."机械堆砌。要把所有灵感当作一个整体来思考——哪几条在说同一个主题?哪几条看似无关实则互补?把它们串起来写。文章是流淌的整体,不是并列的零件。 + +3. **承接延续之前的分析**:你会看到上一次的分析内容。今天的分析不能只写"今天的事",要把今天的灵感和昨天的分析结合起来——昨天讨论了什么?今天有什么进展?哪些问题有了答案?哪些问题还在延续?要让文章有跨日的时间纵深感。 + +4. **逐渐深入,有节奏感**:从表面现象往下挖。先指出用户说了什么,再追问为什么,再展开你的洞察。每一段都要比上一段深一层。 + +5. **有实质内容**:不要写"这是一个有价值的思考"这种废话。要说清楚为什么有价值,值在哪里,用户可以从这个方向挖到什么。 + +6. **关联要真实**:如果多条灵感确实指向同一个主题,就写一段贯通的分析。不要硬凑关联。 + +7. **待办要锋利**:待办事项不是"调研X""优化Y"这种万金油。要写到"具体做什么、什么时机做、做到什么程度"的颗粒度。 + +输出格式:纯 Markdown,不要代码块包裹,不要 JSON。 + +文章结构参考(不是模板,不必严格遵守): + +### 1. 今日概览 +一两句话点出今天思考的主旋律,并与之前的内容形成呼应。 + +### 2. 深入分析 +融会贯通地写。引用原文要自然嵌入行文。注意与上次分析的承接关系。 + +### 3. 待办事项 +具体、可执行的事项列表。 + +--- + +注意:即便只有1条灵感,也要写出深度。宁可写长,不可简略。