article-writer-cn
Version:
AI 驱动的智能写作系统 - 专注公众号/自媒体文章创作
761 lines (554 loc) • 19 kB
Markdown
description: 搜索个人素材库中的真实经历
argument-hint: [关键词或主题]
allowed-tools: Read(//materials/**), Grep(//materials/**), Write(//workspaces/**/materials-found.md)
scripts:
sh: scripts/bash/collect.sh
# 素材搜索
## 核心价值
**降低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️⃣ 保存搜索结果" 部分。