# 宇之然内容生产合规性验证报告

**日期**：2026-04-16  
**任务**：自动化内容生产系统合规审查  
**审查对象**：A02、A03 选题创作产物

---

## ✅ 已完成的修复

### 1. 标题硬编码修复
- **问题**：HTML模板中 `<title>` 和 H1 标题始终显示"可持续性内容"
- **原因**：`create_html_for_platform()` 使用硬编码字符串
- **修复**：改用 `topic_data["topic"]["title"]`
- **验证**：A02 文章标题正确显示"AI副业入门：用DeepSeek实现第一笔收入的100天"

### 2. 定时任务配置修复
- **问题**：`isolated job requires payload.kind=agentTurn`
- **修复**：
  - `payload.kind` 从 `systemEvent` 改为 `agentTurn`
  - 移除无效的 `sessionKey`
  - 设置 `sessionTarget: isolated`
- **验证**：手动运行成功

### 3. 选题库重建（新战略版）
- **旧库**：10个个人化选题（人均视角）
- **新库**：20个全球-本土对比选题（客观叙事）
- **来源**：`strategy/全球-本土比较研究与全新内容战略规划-2026-04-15.md`
- **结构**：4大支柱 × 5个选题（未来工作/可持续生活/知识工厂/科技人文）
- **人称规范**：所有标题避免第一人称

### 4. 合规审查系统集成
- **新增**：`scripts/compliance_checker.py`
- **功能**：
  - 敏感词检测（政治、违禁、不实信息）
  - 平台规则检查（标题长度、禁止模式、标签合规）
  - 法律法规检查（国家秘密、赌博、版权等）
  - 品牌调性检查（人称、推广倾向、品牌露出）
  - 内容-选题一致性检查
- **集成**：在 `creator.run()` 末尾自动调用
- **输出**：`automation/data/drafts/YYYY-MM-DD/compliance_<article_id>.json`

---

## ⚠️ 发现的问题

### 问题1：内容未适配新选题结构（严重）

**现象**：
- 标题正确，但正文是通用"可持续生活"模板
- 所有文章都使用相同的章节结构（引言、全球案例、中国痛点、本土方案、MVP、结语）
- 未使用选题字段：`core_concept`、`audience_pain`、`unique_angle`、`china_pain_points`、`mvp_actions`

**影响**：
- 内容与选题不符（AI副业文章在讲可持续生活）
- 读者困惑，平台推荐不精准
- 品牌调性不一致

**根本原因**：
`create_content()` 方法是为旧选题库设计的，未重构以使用新选题的字段。

**解决方案**（需较大工作量）：
1. 将 `topic_data["topic"]` 的所有字段映射到内容生成
2. 根据 `field`（未来工作/可持续生活/知识工厂/科技人文）选择不同的内容框架
3. 使用 `core_concept` 作为核心观点
4. 使用 `audience_pain` 构建共鸣段
5. 使用 `unique_angle` 建立差异化
6. 重构案例部分：使用 `cases` 关联的案例数据（而非`china_pain_points`字符串）
7. 使用 `mvp_actions`（需添加到选题字段）生成行动清单

**临时缓解**：
- 继续使用通用模板，但修改模板为更中性，减少与选题冲突的字段

---

### 问题2：标签不符合平台规则（已发现）

**合规报告**（A03）显示：
```
[合规问题] 平台规则/标签合规: 使用平台允许的标签，如科技, 生活, 职场
```

**原因**：
- 当前使用固定标签：`["可持续生活", "全球案例", "中国实践", "年份趋势"]`
- 知乎平台规则要求标签必须在其允许列表内（如：科技、生活、职场等）
- "可持续生活" 是通用表达，但平台希望使用标准标签

**修复**：
将标签生成逻辑改为使用 `PLATFORM_RULES[platform]["allowed_tags"]` 中的标签

---

### 问题3：首发标识混入标题（小问题）

**现象**：A01 标题 `<h1>` 之前还有一行 `<h1>可持续性内容</h1>`（来自模板的H2？）

检查模板：知乎模板同时有 `{{TITLE}}` 和 `<!-- CONTENT -->`，而 content 中也包含 H2 标题
→ 导致双重标题

**修复**：统一 H1 来源（模板提供）或内容提供，不要重复

---

### 问题4：缺少引用来源标注（合规风险）

**现状**：文章未标注数据和案例的引用来源
**风险**：版权争议、虚假信息风险
**要求**：根据 `sources.yaml` 和案例数据库，在文末或适当位置添加"参考文献"章节

---

### 问题5：品牌露出需规范化

**问题**：有可能提到具体品牌（如"米家"、"花帮主"），需要替换为"一些第三方工具"或"智能设备"

**处理**：已加入 `compliance_checker.brand_guidelines` 检查

---

## 📊 合规审查示例

### A02 选题《AI副业入门》
- **平台**：知乎
- **得分**：未计算（需修复标签后）
- **问题数**：18个（主要是标签合规）
- **严重性**：低（标签问题可快速修复）
- **建议**：立即修复标签生成逻辑

### A03 选题《数字游民签证》
- **平台**：知乎
- **得分**：未计算
- **问题数**：14个（同上）
- **严重性**：低

---

## 🔧 立即行动项（优先级排序）

### P0 - 修复标签生成（10分钟）
- 根据选题 `field` 映射到平台允许的标签
- 例如：未来工作方式 → ["科技", "职场", "AI"]
- 修改 `create_html_for_platform` 中的标签生成逻辑

### P1 - 内容生成框架重构（2-4小时）
- 更新 `create_content()`，使用 `topic_data["topic"]` 的所有字段
- 分支柱（4个）定制内容结构
- 使用 `core_concept` 作为核心观点
- 使用 `audience_pain` 构建共鸣
- 使用 `unique_angle` 建立差异化
- 从 `cases` 数据库提取真实案例，而非通用"全球案例"占位符

### P2 - 标题去重（5分钟）
- 决定标题出现在模板还是内容中（二选一）
- 删除冗余的 `<h1>`

### P3 - 添加参考文献章节（30分钟）
- 在 `conclusion` 后添加"参考文献"部分
- 列出引用的案例来源（从 `cases` 提取 URL）
- 自动格式化引用格式

### P4 - 完善合规阈值（10分钟）
- 定义"可接受的合规问题数量"（如 ≤ 3 个轻微问题）
- 超过阈值则阻止发布（或标记为"需人工审核"）
- 在 `run_compliance_check` 中根据评分决定是否继续

---

## 📈 长期建议

1. **建立案例数据库**：`automation/data/sustainability_cases.json` 目前为空，需填充全球案例
2. **实现内容模板引擎**：使用 Jinja2 或其他模板系统，根据选题字段动态渲染
3. **人机协同流程**：合规审查后，自动移入"待人工审核"队列，不自动发布
4. **多轮对话优化**：基于合规报告，让AI自迭代内容（修复发现的问题）
5. **平台规则更新机制**：定期更新 `PLATFORM_RULES`，适应平台政策变化

---

## ✅ 合规性总体评估

| 维度 | 状态 | 说明 |
|------|------|------|
| 敏感词 | ✅ 通过 | 未检测到敏感词 |
| 法律法规 | ✅ 通过 | 无涉政、涉密、赌博等内容 |
| 平台规则 | ⚠️ 轻微违规 | 标签需调整为平台允许列表 |
| 品牌调性 | ✅ 通过 | 符合客观叙事要求 |
| 内容质量 | ⚠️ 需改进 | 内容与选题不匹配，需重构 |
| 引用规范 | ❌ 缺失 | 缺少参考文献章节 |

**综合结论**：  
- **安全性**：✅ 通过（无敏感/违法内容）
- **合规性**：⚠️ 需修复标签（轻微问题）
- **质量**：⚠️ 内容生成逻辑需重构（核心问题）

**允许发布**：在修复标签问题后，可以发布（内容虽不匹配，但不违规）

---

## 📁 生成文件

- `creator.py` - 已更新（标题修复 + 合规集成）
- `compliance_checker.py` - 新增
- `compliance_A02_zhihu.json` - 审查报告示例
- `compliance_A03_zhihu.json` - 审查报告示例

---

**维护**：每次定时任务运行后，检查合规报告（`automation/data/drafts/YYYY-MM-DD/compliance_*.json`）

**负责人**：AI助手（自动） + 人工审核（需配置）
