UNPKG

article-writer-cn

Version:

AI 驱动的智能写作系统 - 专注公众号/自媒体文章创作

739 lines (531 loc) 18.8 kB
--- description: 搜索个人素材库中的真实经历 argument-hint: [关键词或主题] --- # 素材搜索 ## 核心价值 **降低AI味的关键**: 使用**真实的个人经历和素材**,而非100%生成内容。 ## 功能说明 在个人素材库(`materials/`)中搜索与当前写作主题相关的: - 社交媒体动态(即刻/微博/Twitter导出的CSV/JSON) - 过往文章片段 - 个人笔记和思考 - 真实使用体验记录 **AI的角色**: - 使用 **Grep 工具**搜索关键词 - 找到相关素材后展示给用户 - **不编造**,只使用真实存在的内容 ## 素材库结构 ``` materials/ ├── raw/ # 原始导出文件 │ ├── jike_export_2025-01.csv │ ├── weibo_export_2024-12.json │ ├── twitter_archive.json │ └── notes_2024.md ├── indexed/ # 已索引的素材(可选) │ ├── topics/ │ │ ├── ai-tools.md │ │ ├── programming.md │ │ └── ... │ └── index.json # 素材索引(可选) └── archive/ # 归档的旧素材 ``` ## 输入方式 ### 方式1: 基于当前项目自动搜索 ``` /collect ``` AI会读取当前项目的 specification.md,提取主题关键词自动搜索。 ### 方式2: 指定关键词 ``` /collect Claude Code 使用体验 ``` ### 方式3: 指定多个关键词(OR搜索) ``` /collect "AI编程" OR "代码助手" OR "Cursor" ``` ## 处理流程 ### 1️⃣ 确定搜索关键词 **场景A: 无参数(自动推断)** 1. 读取 `specification.md` 2. 提取主题关键词 3. 向用户确认搜索词 **示例:** ``` 📋 当前项目: Claude Code vs Cursor 评测 🔍 我将搜索以下关键词: - "Claude Code" - "Cursor" - "AI编程" / "代码助手" - "编程工具" / "IDE" - "效率" / "开发体验" ❓ 是否需要补充或修改关键词? (直接回车使用默认关键词) ``` **场景B: 用户指定关键词** 直接使用用户提供的关键词。 ### 2️⃣ 执行搜索 **搜索策略:** #### A. 先搜索indexed目录(如果存在) ```bash # 使用 Grep 工具搜索 Grep pattern="Claude Code|Cursor" path="materials/indexed/" ``` **优势**: 已整理的素材,质量更高 #### B. 再搜索raw目录(原始素材) ```bash Grep pattern="Claude Code|Cursor" path="materials/raw/" ``` **处理不同格式:** - **CSV**: 即刻导出格式,搜索"内容"列 - **JSON**: 微博/Twitter导出,搜索text字段 - **Markdown**: 笔记文件,全文搜索 ### 3️⃣ 展示搜索结果 **输出格式:** ``` 🔍 素材搜索结果 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 找到 5 条相关素材: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📌 素材 1: [即刻动态 - 2025-01-10] 来源: materials/raw/jike_export_2025-01.csv 内容: """ 试用了一周 Claude Code,感觉比 Cursor 更理解我的意图。 今天重构一个老项目,Claude 直接看懂了我的架构, Cursor 还需要我多解释几遍。不过 Cursor 的补全速度确实更快。 """ 相关度: ⭐⭐⭐⭐⭐ 可用场景: 真实使用体验对比 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📌 素材 2: [即刻动态 - 2024-12-28] 来源: materials/raw/jike_export_2024-12.csv 内容: """ Cursor 的价格涨到 $20/月了,有点贵。 虽然确实好用,但作为独立开发者压力有点大。 考虑换其他方案。 """ 相关度: ⭐⭐⭐⭐ 可用场景: 价格敏感度讨论 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📌 素材 3: [个人笔记 - 2025-01-05] 来源: materials/raw/notes_2024.md 内容: """ ### AI编程工具测试记录 测试了5个AI编程工具,目前 Cursor 和 Claude Code 是最好的两个。 - Cursor: 快,但有时候太激进,会改不该改的代码 - Claude Code: 慢一点,但更谨慎,理解能力更强 - Copilot: 最稳定,但创新不足 结论: 新项目用 Claude,维护老项目用 Cursor。 """ 相关度: ⭐⭐⭐⭐⭐ 可用场景: 多工具对比,使用建议 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📌 素材 4: [微博 - 2024-11-20] 来源: materials/raw/weibo_export_2024-12.json 内容: """ 今天被 AI 编程助手坑了,Cursor 自动补全了一段代码, 我没仔细看就提交了,结果引入了一个严重 bug。 教训: AI 再智能也要人工review。 """ 相关度: ⭐⭐⭐ 可用场景: 注意事项,风险提示 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📌 素材 5: [即刻动态 - 2024-10-15] 来源: materials/raw/jike_export_2024-10.csv 内容: """ 有没有人用过 Claude Code? 看介绍挺好的, 但不知道实际效果怎么样,求推荐。 """ 相关度: ⭐⭐ 可用场景: 侧面反映用户关注点 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📊 搜索统计: - 搜索关键词: Claude Code, Cursor, AI编程, 代码助手 - 搜索范围: materials/raw/* + materials/indexed/* - 找到结果: 5条 - 高相关度(⭐⭐⭐⭐⭐): 2条 - 中相关度(⭐⭐⭐⭐): 1条 - 低相关度(⭐⭐⭐): 2条 ``` ### 4️⃣ 保存搜索结果 **文件路径:** ``` workspaces/wechat/articles/001-claude-code-评测/materials-found.md ``` **文件格式:** ```markdown # 素材搜索结果 - [项目名] **搜索时间**: 2025-01-15 14:30 **搜索关键词**: Claude Code, Cursor, AI编程, 代码助手 **找到素材**: 5条 ## 高相关度素材 (⭐⭐⭐⭐⭐) ### 素材 1: 真实使用体验对比 **来源**: materials/raw/jike_export_2025-01.csv **日期**: 2025-01-10 **原文**: """ 试用了一周 Claude Code,感觉比 Cursor 更理解我的意图。 今天重构一个老项目,Claude 直接看懂了我的架构, Cursor 还需要我多解释几遍。不过 Cursor 的补全速度确实更快。 """ **可用场景**: - 引入真实案例 - 支持"理解力 vs 速度"的对比 - 降低AI味(真实动态) **使用建议**: 可以改写为: "在笔者的实际使用中,重构一个老项目时..." ### 素材 3: 多工具对比记录 **来源**: materials/raw/notes_2024.md **日期**: 2025-01-05 [同样格式] ## 中相关度素材 (⭐⭐⭐⭐) [...] ### 5️⃣ 素材充分性评估 > **核心理念**: 评估素材质量和数量,预测文章质量,避免素材不足导致返工 在保存搜索结果后,AI 必须进行素材充分性评估: #### A. 素材统计 **自动统计找到的素材**: ``` 📊 素材类型分布: - 个人经历/使用体验:【X】条 - 数据/测试结果:【X】条 - 观点/思考:【X】条 - 其他参考:【X】条 总计:【X】条 ``` #### B. 充分性评级 **基于素材数量和质量,进行 A/B/C/D 评级**: **🟢 A级(优秀)**: - ✅ 素材数量 ≥ 10 条 - ✅ 涵盖文章核心论点 100% - ✅ 个人经历占比 ≥ 60% - ✅ 有具体数据和测试结果 **预期效果**: - **AI 检测率**:< 20% - **文章质量**:高 - **返工概率**:低 - **建议写作模式**:🎓 教练模式 **🟡 B级(良好)**: - ✅ 素材数量 5-9 条 - ✅ 涵盖核心论点 70-90% - ⚠️ 个人经历占比 40-60% - ⚠️ 有部分数据支撑 **预期效果**: - **AI 检测率**:20-30% - **文章质量**:中上 - **返工概率**:中 - **建议写作模式**:🔄 混合模式 **🟠 C级(及格)**: - ⚠️ 素材数量 2-4 条 - ⚠️ 涵盖核心论点 50-70% - ⚠️ 个人经历占比 20-40% - ⚠️ 数据支撑不足 **预期效果**: - **AI 检测率**:30-40% - **文章质量**:中等 - **返工概率**:高 - **建议**:补充素材或降低质量预期 - **建议写作模式**:⚡ 快速模式(接受较高 AI 味) **🔴 D级(不足)**: - ❌ 素材数量 < 2 条 - ❌ 涵盖核心论点 < 50% - ❌ 几乎无个人经历 - ❌ 无数据支撑 **预期效果**: - **AI 检测率**:> 40% - **文章质量**:低 - **返工概率**:极高 - **强烈建议**:暂停写作,先积累素材 #### C. 缺失分析 **识别未找到素材的关键点**: **示例输出**: ``` ⚠️ 素材缺失分析: 未找到素材的关键论点: 1. 【性能对比数据】 - Brief 中要求对比两者的速度 - 当前状态:无真实测试数据 - 建议:进行实际测试,或搜索公开评测报告 2. 【价格敏感度讨论】 - Brief 中要求分析性价比 - 当前状态:仅有 1 条相关素材 - 建议:补充搜索"价格|费用|性价比"关键词 3. 【团队协作场景】 - Brief 中要求讨论团队使用 - 当前状态:完全缺失 - 建议:如无相关经历,可调整 brief 移除此部分 ``` #### D. 综合评估报告 **完整输出格式**: ``` ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📊 素材充分性评估报告 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🎯 素材等级:【A / B / C / D】 📈 统计数据: - 总素材数:【X】条 - 个人经历:【X】条(【X】%) - 数据支撑:【X】条(【X】%) - 论点覆盖:【X/X】个(【X】%) 📊 质量预测: - 预期 AI 检测率:【X-X】% - 文章质量预期:【高/中上/中等/低】 - 返工风险:【低/中/高/极高】 ⚠️ 缺失分析: 【如有缺失,列出具体缺失点和建议】 💡 写作模式建议: - 推荐模式:【🎓教练 / 🔄混合 / ⚡快速】 - 理由:【基于素材等级的说明】 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` #### E. 决策点:如何处理? **基于评估结果,提供决策选项**: ``` 🎯 接下来如何处理? 请选择: 1. ✅ 继续写作(A/B 级,素材充分) → 我将基于现有素材开始写作 → 预期质量:【说明预期】 2. 📝 手动补充素材(针对缺失点) → 请告诉我你的补充计划: - 补充哪个缺失点? - 计划如何获取素材?(实测/搜索/回忆) → 补充后我会重新评估 3. 🔧 调整选题(避开素材弱点) → 建议调整方向: 【具体建议,如去掉某个论点,调整角度】 → 是否接受调整? 4. 🔍 重新搜索(使用新关键词) → 请提供新的搜索关键词 → 我将搜索更多素材 5. ⏸️ 暂停项目(积累素材后再写) → 建议行动: - 实际使用/测试产品(【X】天) - 记录使用过程和数据 - 导入素材库后重新执行 /collect ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【如果是 A/B 级】推荐选择 1 【如果是 C 级】建议选择 2 或 3 【如果是 D 级】强烈建议选择 5 请输入 1 / 2 / 3 / 4 / 5,或说明你的想法 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ``` **⚠️ 强制等待**:AI 必须停在这里,等待用户输入! #### F. 处理用户决策 **根据用户选择执行后续流程**: **如果选择 1(继续写作)**: ``` ✅ 确认继续。基于【X】级素材开始写作。 【如果是 B/C 级,给出质量提示】 ⚠️ 提示:当前素材等级为【B/C】,预期 AI 味为【X%】 建议在写作时: - 【具体建议1】 - 【具体建议2】 准备执行 /write 命令... ``` **如果选择 2(补充素材)**: ``` 📝 收到补充计划:【用户输入】 请提供补充的素材: - 方式1:直接粘贴素材内容 - 方式2:告诉我素材的位置,我去搜索 - 方式3:完成实测后,更新素材库,重新执行 /collect 补充完成后,我将重新评估素材充分性。 ``` **如果选择 3(调整选题)**: ``` 🔧 建议的调整方向: 【AI 基于缺失分析,给出具体调整建议】 是否接受此调整?(是/否) 【如果是】→ 更新 specification.md 【如果否】→ 请说明你的调整想法 ``` **如果选择 4(重新搜索)**: ``` 🔍 收到新关键词:【用户输入】 重新搜索中... 【执行步骤 2-5,显示新的搜索结果和评估】 ``` **如果选择 5(暂停项目)**: ``` ⏸️ 项目已暂停。 建议行动清单: 【基于缺失分析,给出具体的素材积累建议】 - [ ] 【建议1】- 预计需要【X】天 - [ ] 【建议2】- 预计需要【X】天 - [ ] 【建议3】 完成后: 1. 将新素材导入 materials/ 目录 2. 重新执行 /collect [关键词] 3. 确认素材等级达到 A/B 级后,执行 /write 准备好时告诉我,祝素材收集顺利! ``` ## 使用注意事项 1. **改写,不直接复制** - 原文是口语化社交媒体风格 - 需要改写为文章适用的书面语 - 保留核心观点和真实感 2. **标注真实性** - 可以使用"笔者在实际使用中..." - 不要虚构没有的细节 3. **补充时间背景** - 素材日期较早的,注意是否仍然适用 - 工具版本更新可能导致体验变化 ## 下一步建议 - [ ] 审阅素材,决定哪些可以用 - [ ] 开始撰写初稿 (`/write`) - [ ] 如需更多素材,可补充搜索关键词重新执行 ``` ### 5️⃣ 用户确认 **AI询问:** ``` ✅ 已保存搜索结果到: materials-found.md ❓ 接下来: 1. 回复 "继续" - 我将基于这些素材开始撰写初稿 2. 回复 "补充搜索 [关键词]" - 搜索更多素材 3. 回复 "查看素材X" - 我展示完整的素材X内容 ``` ## 搜索技巧 ### 关键词选择 **好的关键词:** - ✅ "Claude Code" (产品名) - ✅ "AI编程|代码助手|编程工具" (OR搜索,覆盖面广) - ✅ "效率|体验|使用感受" (体验相关) **避免的关键词:** - ❌ 过于宽泛: "AI" (结果太多,不精准) - ❌ 过于具体: "Claude Code的某个具体功能" (可能搜不到) ### 搜索优化 **如果结果太多(>20条):** - 缩小范围: 添加更具体的关键词 - 限制时间: 只搜索最近的素材 **如果结果太少(<3条):** - 扩大范围: 使用同义词 OR 搜索 - 降低精度: 搜索相关主题(如"编程工具"而不是"Claude Code") ## 素材库导入指南 ### 如何导出即刻动态? 1. 即刻App → 设置 → 数据导出 2. 选择"动态" 3. 导出为CSV格式 4. 保存到 `materials/raw/jike_export_YYYY-MM.csv` **CSV格式示例:** ```csv 日期,内容,话题,点赞数 2025-01-10,"试用了一周 Claude Code...",编程,15 2025-01-08,"今天学到一个新技巧...",技术,8 ``` ### 如何导出微博? 1. 使用第三方工具(如"微博备份工具") 2. 导出为JSON格式 3. 保存到 `materials/raw/weibo_export_YYYY-MM.json` **JSON格式示例:** ```json [ { "created_at": "2024-12-28", "text": "Cursor 的价格涨到 $20/月了...", "reposts_count": 5, "comments_count": 12 } ] ``` ### 如何建立索引(可选,提升搜索效率)? **手动索引**: 在 `materials/indexed/topics/` 下按主题整理 ```markdown # AI工具.md ## Claude Code相关 ### 2025-01-10 使用体验 试用了一周 Claude Code,感觉比 Cursor 更理解我的意图... [来源: jike_export_2025-01.csv] ### 2025-01-05 工具对比 测试了5个AI编程工具,目前 Cursor 和 Claude Code 是最好的两个... [来源: notes_2024.md] ``` **优势**: 搜索更快,结果更精准 ## 注意事项 ### 1. 隐私保护 - 素材库**不应包含敏感信息**(公司机密、他人隐私等) - 导出社交媒体数据前,检查是否有不宜公开的内容 - 素材库应添加到 `.gitignore`,不要上传到公共仓库 ### 2. 版权问题 - 使用自己的社交媒体动态 ✅ - 使用自己的笔记和文章 ✅ - 使用他人的内容需要注明来源 ⚠️ ### 3. 真实性原则 - **只使用真实存在的素材** - AI不能编造素材("假装"从素材库找到的) - 如果没找到相关素材,应明确告知用户 ### 4. 时效性 - 素材日期较早的,注意是否仍然适用 - 工具类文章尤其要注意版本变化 - 必要时在文章中标注"基于XX版本的使用体验" ## 常见问题 ### Q1: 如果素材库是空的怎么办? **A**: ``` ❌ 未找到素材库内容 materials/ 目录为空或不存在。您可以: 1. 导入社交媒体数据: - 即刻: 导出动态为CSV → materials/raw/ - 微博: 导出内容为JSON → materials/raw/ - Twitter: 下载archive → materials/raw/ 2. 添加个人笔记: - 将以往的笔记/文章片段放入 materials/raw/notes.md 3. 或者跳过此步骤: - 直接 /write 开始写作(100%AI生成) - 但AI味会更重,需要后续更多审校 建议: 即使是少量素材也能显著降低AI味。 ``` ### Q2: 搜索到的素材不够怎么办? **A**: 1. 尝试更多关键词(同义词、相关词) 2. 降低相关度要求(⭐⭐⭐ 也可以用) 3. 使用用户回忆的内容(让用户口述经历,AI记录) 4. 接受"部分素材+部分生成"的混合模式 ### Q3: 素材太多怎么办? **A**: 1. 只保留高相关度素材(⭐⭐⭐⭐⭐) 2. 按时间过滤(只要最近的) 3. 按主题分类展示,让用户选择 ### Q4: 如何处理CSV/JSON等结构化数据? **A**: - AI使用 Grep 工具搜索时,Grep 可以搜索任何文本文件 - CSV: 搜索"内容"列的文本 - JSON: 搜索 "text" 或 "content" 字段的值 - 如果格式复杂,可以先手动整理为 Markdown 格式 ## 技术实现细节 ### Grep 使用示例 ```bash # 搜索即刻CSV文件 Grep pattern="Claude Code|Cursor" path="materials/raw/jike_*.csv" # 搜索JSON文件(text字段) Grep pattern="AI编程|代码助手" path="materials/raw/*.json" # 组合搜索(先搜indexed,再搜raw) Grep pattern="关键词" path="materials/indexed/" Grep pattern="关键词" path="materials/raw/" ``` ### 相关度评分逻辑(AI内部判断) ``` ⭐⭐⭐⭐⭐ (高度相关): - 直接提到主题关键词 - 包含具体案例或数据 - 可以直接用于文章 ⭐⭐⭐⭐ (相关): - 提到主题相关词 - 有一定参考价值 - 需要改写后使用 ⭐⭐⭐ (部分相关): - 间接相关 - 可作为背景素材 - 选择性使用 ⭐⭐ 及以下: - 相关度低 - 一般不建议使用 ``` ## 输出示例 见上文 "3️⃣ 展示搜索结果" 和 "4️⃣ 保存搜索结果" 部分。