content-forge/.claude/skills/write-article/references/material-anchors.md

230 lines
10 KiB
Markdown
Raw 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.

# Material Anchors Reference
素材锚点规范——解决"内容层空洞"问题。与去 AI 味(表达层)互补,形成双层防线。
核心原则:**先有素材,再有文章**。没有真实素材支撑的文章,再怎么打磨措辞也是"先污染后治理"。
---
## §0 NEVER Rules
- **NEVER** 把以下内容计为素材锚点:
- 泛泛观察("AI 正在改变世界"、"越来越多人开始用..."
- 无源统计("据统计 90% 的项目..."——谁统计的?)
- 假设场景("假设你正在做一个项目..."
- "业内共识"类表述("大家都知道"、"众所周知"
- AI 生成的虚构案例("某公司通过 XX 技术实现了 YY"——哪家公司?)
- **NEVER** 在素材不足时强行写作——输出 `[?] 素材不足` 并索要补充,禁止用空洞内容凑字数。
- **NEVER** 编造个人经历或虚构案例——宁可少一个锚点,也不能造假。
- **NEVER** 跳过素材脚手架直接写正文——Step 1b 是强制步骤,不是可选步骤。
---
## §1 Four Anchor Types四类素材锚点
### Type A亲历锚点 — 个人做过/花过/踩过的
**最高可信度**。读者能感知"这人真干过"。
必须包含 ≥2 项:项目名/产品名、时间节点、金钱成本、工具名称、具体结果。
**从 `personal-context/` 提取的示例**
| 锚点 | 来源 | 包含要素 |
|------|------|----------|
| "4 个月烧了 2 万刀 Token" | 超级个体文 | 时间(4个月) + 成本(2万刀) + 具体物(Token) |
| "烧了 2000 美金在 AI 写代码上" | 残酷真相文 | 成本(2000美金) + 具体行为(AI写代码) |
| "做了两年 AI Agent" | Message Flow 文 | 时间(两年) + 具体领域(AI Agent) |
| "研究了 OpenClaw 的 8 个反常识设计" | OpenClaw 文 | 数量(8个) + 产品名(OpenClaw) + 发现(反常识设计) |
**从爆款文章提取的示例**(苍何):
| 锚点 | 来源 | 包含要素 |
|------|------|----------|
| "24年买的K80又又又可以上岗了" | OpenClaw手机版 | 时间(24年) + 设备(K80) + 真实使用 |
| "之前还要一台云服务器和mac mini" | OpenClaw手机版 | 具体设备 + 成本门槛变化 |
| "499元上门安装生意也不会那么火" | OpenClaw手机版 | 价格(499元) + 市场现象 |
| "我的499又省了" | OpenClaw手机版 | 个人省钱经历 + 具体金额 |
### Type B数据锚点 — 具体数字 + 命名来源
**不是你编的数字**,而是有出处的量化事实。
必须包含:具体数值 + 来源归属(谁说的/哪个报告/哪个平台)。
**示例**
| 锚点 | 来源 | 可信要素 |
|------|------|----------|
| "前百下载量的龙虾 Skill" | 苍何/水产市场文 | 平台排名数据 |
| "Agent 自进化占了前百的 10%" | 苍何/水产市场文 | 占比 + 排名范围 |
| "水产市场养了 2426 只龙虾" | 苍何/水产市场文 | 平台公开数据 |
| "覆盖了 17 个搜索引擎" | 苍何/OpenClaw手机版 | 产品功能数据 |
**反面示例**(不计入锚点):
- "据统计 90% 的 Agent 项目会失败" — 谁统计的?
- "AI 编程效率提升 10 倍" — 什么场景?谁测的?
- "某大厂用了之后效率翻倍" — 哪家大厂?
### Type C案例锚点 — 命名实体 + 具体分析
**不是泛泛提及**,而是对具体产品/事件/人物的深入分析。
必须包含:命名实体(产品名/公司名/人名)+ 具体细节(设计/决策/结果)。
**示例**
| 锚点 | 来源 | 分析深度 |
|------|------|----------|
| "self-improving-agent + skill-creator + find-skills + skills-vetter + automation-workflows 五件套" | 苍何/水产市场文 | 5 个具体 Skill 名 + 功能拆解 |
| "水产市场的三类资产:插件、触发器、通信器" | 苍何/水产市场文 | 产品架构拆解 |
| "红手指 Operator = 云端大脑 + 终端手脚 + 安全沙盒" | 苍何/OpenClaw手机版 | 产品架构公式 |
| "OpenClaw 的 8 个反常识设计" | personal-context | 逐条设计分析 |
**反面示例**(不计入锚点):
- "某 AI Agent 框架做得不错" — 哪个框架?哪里不错?
- "有些公司已经在用了" — 哪些公司?
### Type D观察锚点 — 真实对话/引用 + 归属
**不是你的观点**,而是你听到/看到的他人言行。
必须包含:说话人归属(人名/角色/场景)+ 具体内容。
**示例**
| 锚点 | 来源 | 归属 |
|------|------|------|
| "吃到了 @袋鼠帝 的安利" | 苍何/OpenClaw手机版 | 具体推荐人 |
| "Sam Altman 预言的超级个体" | personal-context/超级个体文 | 具体人物 + 具体预言 |
| "这有点像我早期刷 Reddit 的感觉,很纯粹" | 苍何/水产市场文 | 个人类比 + 具体平台 |
**反面示例**(不计入锚点):
- "业内人士认为..." — 哪个业内人士?
- "有观点认为..." — 谁的观点?
---
## §2 Material Sources素材来源优先级
按优先级从高到低搜索素材:
```
1. source_notes — topic 指定的源笔记必读Step 1a 已覆盖)
2. personal-context/ — 作者已发表文章(亲历锚点的金矿)
3. 00-inbox/ — vault 原始素材库
4. 09-viral-examples/ — 爆款案例库(案例锚点和数据锚点)
5. source_urls — topic frontmatter 中的外部链接
6. material_sources — 用户额外指定的素材文件
```
**搜索策略**
-`obsidian search query="<topic关键词>"` 在 vault 中搜索相关素材
- 读取匹配的 `personal-context/` 文章,提取亲历锚点
- 读取匹配的 `09-viral-examples/` 案例,提取案例/数据锚点
- 素材来源越多样,文章可信度越高
---
## §3 Material Scaffold Format素材脚手架格式
**Step 1b 的强制输出格式**。写正文前必须先输出这个脚手架。
```
## 素材脚手架
### Type A 亲历锚点
1. [锚点描述] — 来源: [vault路径或记忆]
2. [锚点描述] — 来源: [vault路径或记忆]
### Type B 数据锚点
1. [数据 + 来源归属] — 来源: [vault路径或URL]
### Type C 案例锚点
1. [命名实体 + 分析要点] — 来源: [vault路径或URL]
### Type D 观察锚点
1. [引用/对话 + 归属] — 来源: [vault路径]
### 统计
- 总锚点: X 个
- Type A: X 个 ✓/✗≥1
- Type B|C: X 个 ✓/✗≥1
- 判定: 通过 / [?] 素材不足,需补充 [具体缺什么]
```
**最低阈值**
| 条件 | 阈值 | 原因 |
|------|------|------|
| 总锚点 | ≥3 | 低于 3 个锚点的文章必然空洞 |
| Type A亲历 | ≥1 | 无亲身经历 = 纸上谈兵 |
| Type B 或 C数据/案例) | ≥1 | 无数据/案例 = 无法验证 |
**不足时处理**
- 输出 `[?] 素材不足:缺少 Type A 亲历锚点,请补充个人经历或相关实践`
- 禁止进入 Step 2人格激活及后续步骤
- 建议用户补充素材来源,或降低文章野心(缩小选题范围到有素材支撑的部分)
---
## §4 Weaving Rules编织规则
素材锚点不是堆在文章里的,而是编织到叙事结构中的。
### 4.1 Hook 必须含锚点
正文第 1 句(非标题)必须直接包含素材锚点(优先 Type A 或 Type B。不是"前 3 句",是"第 1 句"——铺垫、背景、定义全部后置。
**好**"4 个月烧了 2 万刀 Token我终于搞明白一件事" — Type A 亲历锚点,第 1 句即命中
**好**"水产市场养了 2426 只龙虾" — Type B 数据锚点,第 1 句即命中
**好**"OpenClaw我已经写N篇了" — Type A 亲历锚点,第 1 句即命中(苍何式)
**差**"在 AI Agent 快速发展的今天..." — 零锚点,纯 AI 废话
**差**"先说点背景知识,然后再聊我的经历" — 锚点被铺垫延迟,第 1 句空洞
### 4.2 每章节 ≥1 锚点
每个主要章节H2/编号段落)至少引用 1 个锚点。连续 2 个章节无锚点 = 内容空洞警告。
### 4.3 结尾回扣开头锚点
结尾回扣开头的锚点,形成首尾呼应。不是重复,而是升华。
**示例**:开头 "烧了 2000 美金" → 结尾 "这 2000 美金买到的最贵的一课是..."
### 4.4 事实断言溯源
所有事实性断言必须追溯到素材锚点,或标记 `[?]` 待验证。
**好**"OpenClaw 的 Skill 生态已有 2426 个(来源:水产市场平台数据)"
**差**"OpenClaw 的生态发展迅速" — 空洞断言,无数据支撑
---
## §5 Relationship to De-AI与去 AI 味互补)
```
┌─────────────────────────────────────────────────────────────┐
│ 文章质量双层防线 │
├─────────────────────────┬───────────────────────────────────┤
│ 素材锚点(内容层) │ 去 AI 味(表达层) │
│ 解决: 内容空洞 │ 解决: 表达模式化 │
│ │ │
│ 检查: 有没有真实素材 │ 检查: 像不像人写的 │
│ 手段: 锚点类型+阈值 │ 手段: 黑名单+人味注入 │
│ 时机: Step 1b写前 │ 时机: Step 4a写中
│ 门禁: §4.46 项) │ 门禁: §4.28 项) │
├─────────────────────────┴───────────────────────────────────┤
│ 叠加效果: 有真实素材的文章天然减少 AI 味表达。 │
│ 当你在写"4个月烧了2万刀"时,不会说"在当今快速发展的..."。 │
└─────────────────────────────────────────────────────────────┘
```
**互补而非替代**
- 一篇有丰富素材但表达 AI 味重的文章 → 去 AI 味门禁会拦住
- 一篇表达很人味但内容空洞的文章 → 素材密度门禁会拦住
- 两层都通过 = 内容扎实 + 表达自然