Files

311 lines
22 KiB
Markdown
Raw Permalink 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.
# 雅文内容创造工作台 · 设计文档 v1
> 日期:2026-08-25 | 状态:设计评审稿 | 目标:多 Agent 内容工厂,主控派单 → 环节 Agent 生产 → 质检 → 人工审查 → 组合成直播文稿,全程可改、越用越懂
---
## 1. 项目概述
一个**多 Agent 内容生产工作台**,专为雅文老师直播文稿生产打造:
- **你只输入**:当天要做的内容主题 + 导图/框架/思维(内容+时间的权威大纲)
- **工作台自动完成**:主控 Agent 拆解任务 → 按环节派发给生产 Agent → 每个环节产物独立质检 → 质检通过后送人工审查 → 全部确认后组合成一篇完整直播文稿(含颜色标记 docx)
- **你可以干预任何环节**:每个 Agent 的规则可改、每个环节的产物可打回重做、打回意见会沉淀成该 Agent 的记忆,越用越贴合你的标准
## 2. 需求 → 设计对策映射
| # | 你的要求 | 设计对策 |
|---|---|---|
| 1 | 很多个 Agent 组成 | 1 主控 + 4~N 生产 Agent + 4 质检 Agent + 1 组合 Agent + 2 服务型 Agent(产品顾问/风格顾问) |
| 2 | 每个 Agent 可设置规则做对应的事 | 每个 Agent 一个 `rules.md`(规则文件),你直接编辑,随时生效 |
| 3 | 上下文隔离 | Agent 间不共享对话历史,只传递**结构化任务单**;每 Agent 独立会话 |
| 4 | 知识库共用 | 一个只读共享知识库,所有 Agent 可检索,任何 Agent 不可写 |
| 5 | 哪里不对改哪里 | 打回粒度 = 环节产物:打回哪段只重跑哪段,其他不动;规则级修正 + 人工直接改三种路径 |
| 6 | 给主 Agent 主题/导图即可 | 主控 Agent 解析导图 → 生成任务单 → 自动派发、跟踪、汇总 |
| 7 | 每件产物都有质检 Agent | 每个环节产物生成后**立即**自动过 4 道质检闸,不过关打回原环节 |
| 8 | 质检过还要人工审查 | 人工审查台是硬关卡:质检全过 ≠ 交付,人工确认后才放行 |
| 9 | 组合成一篇直播文稿 | 组合 Agent 按任务单时间轴拼装 + 衔接检查 + 生成六色标记 docx |
| 10 | Agent 自主学习、越用越懂 | 每 Agent 独立记忆库:纠错、偏好、成功案例沉淀,写入有触发机制 |
| 11 | 记忆库隔离 | 记忆按 Agent 命名空间隔离,互不可见;只有共享知识库是共用的 |
## 3. 系统架构总览
```
┌────────────────────────── 你(唯一入口) ──────────────────────────┐
│ 输入:主题 / 导图 / 框架 / 思维(当天权威大纲) │
│ 干预:改 Agent 规则 · 打回环节 · 直接改产物 · 审查确认 │
└────────────────────────────────┬──────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────────────────┐
│ 主控 Agent(主编) │
│ ① 解析导图 → ② 生成任务单 TaskSpec → ③ 派发 → ④ 跟踪 → ⑤ 汇总 │
│ 记忆:项目管理偏好(压缩决策、交付习惯) │
└──────┬──────────┬──────────┬──────────┬──────────┬───────────────┘
▼ ▼ ▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
│ 段Agent1 │ │ 段Agent2 │ │ 段Agent3 │ │ 段AgentN │ │ 服务型 │
│ 开场/心法 │ │ 技法/场景 │ │ 产品/销售 │ │ 收尾/钩子 │ │ 产品顾问 │
│ 独立上下文 │ │ 独立上下文 │ │ 独立上下文 │ │ 独立上下文 │ │ 风格顾问 │
│ 独立记忆库 │ │ 独立记忆库 │ │ 独立记忆库 │ │ 独立记忆库 │ │(只读供给)│
└────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘
▼ ▼ ▼ ▼ ▼
┌─────────────────────────────────────────────────────────────┐
│ 共享只读知识库(所有人可查,无人可写) │
│ 数字雅文档案/范稿 | 训练营框架/导图库 | 直播原文库(73场) │
│ 备稿库(99篇) | 产品知识库(观品) | 质检规则库 │
└─────────────────────────────────────────────────────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌─────────────────────────────────────────────────────────────┐
│ 质检闸(每件产物独立过 4 道,并行) │
│ ①结构质检 ②内容质检 ③风格尺度质检 ④跨稿质检 │
│ 各质检 Agent 有独立记忆:常见错误模式库,越查越准 │
└──────┬──────────────────────────────────────────────────────┘
▼ 全部通过
┌─────────────────────────────────────────────────────────────┐
│ ═══ 人工审查台(硬关卡)═══ │
│ 逐段查看:产物 + 质检报告 + 高亮差异 │
│ 操作:✅通过 / 🔁打回(附意见→进该Agent记忆) / ✏️直接改 │
└──────┬──────────────────────────────────────────────────────┘
▼ 全部确认
┌─────────────────────────────────────────────────────────────┐
│ 组合 Agent(总编):时间轴拼装 → 衔接/回指检查 │
│ → 生成说明 → 六色标记 docx(宋体10.5pt) │
└─────────────────────────────────────────────────────────────┘
▼
📄 最终交付:直播文稿.docx + clean.txt + 待确认清单
```
## 4. Agent 拓扑与职责
### 4.1 主控 Agent(主编/Coordinator)— 唯一派单者
| 项 | 说明 |
|---|---|
| 职责 | 解析导图/主题 → 生成任务单 → 派发 → 跟踪进度 → 汇总质检/审查结果 → 决定重跑/放行 |
| 输入 | 你的原始输入(主题、导图 md/图片、框架文字) |
| 输出 | **任务单 TaskSpec**(结构化 JSON/MD,是全局唯一任务契约) |
| 规则文件 | `agents/coordinator/rules.md`(拆解原则:导图=内容+时间权威大纲、节点逐条对应、读不准的词列待确认清单、时间总和校验、压缩决策写进交付说明) |
| 记忆库 | `agents/coordinator/memory/`(你的项目管理偏好:压缩习惯、交付格式、确认偏好) |
| 关键动作 | 导图读不准的词(手写/OCR 常错)**必须先列出来问你再动稿**——这是全流程第一道防错闸 |
### 4.2 生产 Agent(环节 Agent)— 按段划分,默认模板如下,数量可增减
每个段 Agent 只生产任务单里分配给它的那一段,产出独立文件。
| Agent | 产出内容 | 该 Agent 规则要点(rules.md 示例) | 质检重点 |
|---|---|---|---|
| 开场段 Agent | 扎心开场+承诺钩子,开场 30 分钟内见主题、第一件产品尽量前置 | 开场降档(性感画面撤下换自嘲暖场)、案例/悬念 30 秒入题 | 结构/风格尺度 |
| 心法段 Agent | 心法金句、认知颠覆、"为什么"铺垫 | 先讲"为什么要听"再进干货;金句只作点缀不作产品引入载体 | 内容/风格 |
| 技法段 Agent | 痛点技法展示:步骤骨架+画面点+跟练互动 | 技法快准狠(第一步…第二步…第三步);可跟练动作+互动指令;每个卖点前必有痛点技法展示 | 内容/结构 |
| 场景段 Agent | 角色扮演/SM 场景/水元素段等(按导图) | 色情小说档画面感写法;SM 道具带安全提示;场景=环境/衣着/光线/气味/心理/动作过程 | 风格/合规 |
| 产品段 Agent | 产品体验感写作+销售话术 | 一产品一概念不混谈;产品随动作进场(拿第一瓶);卖货节点宁早勿晚;价格以当轮指令为准 | 内容/跨稿 |
| 收尾段 Agent | 信念收尾(最后 30 秒纯信念不卖货)+次日钩子 | 钩子=导图次日真实框架,技法名与导图一致;不写死待确认道具 | 跨稿/风格 |
| 互动标记 Agent | 全稿表演标记补全(灰字) | (停顿三秒)(压低声音)(等弹幕)(演示)(拿第一瓶);禁止报幕式转场 | 结构 |
> 段划分原则:**与导图节点一一对应**(导图是权威大纲),默认 6-15 段随当天导图增减。段 Agent 之间互不读取对方产物——防止上下文串扰(隔离的核心)。
### 4.3 服务型 Agent(只读供给,不产稿)
| Agent | 职责 |
|---|---|
| 产品顾问 Agent | 查产品知识库(观品 chunks.jsonl),产出产品事实卡(功效/价格口径/概念边界),供产品段 Agent 使用;记忆沉淀"产品概念边界"(水润≠养护等) |
| 风格顾问 Agent | 加载数字雅文人格档案/范稿/文本层铁律,产出"本场风格校准卡"(称呼、句式、金句密度、暗语表),供所有生产 Agent 使用 |
### 4.4 质检 Agent — 4 道闸并行
| 质检 Agent | 检查清单(来自实战沉淀的审查五类+铁律) | 打回依据 |
|---|---|---|
| ① 结构质检 | 逻辑硬伤(自相矛盾/段序错乱/数据不自洽/预告打架/语义反字/时序张力)、笔误错字(漏字/同音/人名混乱/括号配对)、结构残留(提词备注/上半场无下半场/他稿时间线)、时间轴核对(每段标题时间标注、总和=直播时长) | 任何 FAIL → 打回原段 Agent |
| ② 内容质检 | 每个卖点前是否有痛点技法展示(不放心法带入)、一产品一概念("养护"字样清零)、技法密度(可跟练清单存在)、讲解前有"为什么"、删讲解不删画面、产品数量=导图产品节点数 | 同上 |
| ③ 风格尺度质检 | 色情小说档词清单(腿心/热意/颤/烫 ≥3)、禁词清零(妹妹/豆豆/龙根/蛋蛋/射/喷/缴械=0)、反问句归零(对不对/明白吗)、表演标记覆盖率、破折号清零、无教学框架外露、无知识库来源标注 | 同上 |
| ④ 跨稿质检 | day N-1 结尾预告的技法逐条兑现、价格/术语跨稿一致(以当轮指令为准)、产品名与台账对齐、回指句一致性(产品退场后相关回指句清理) | 同上 |
**质检输出**:结构化报告 `qc_report.json`(每条问题带位置+描述+修改建议+严重级),**报告逐条对证正文**(质检报告≠事实——用户对"表面功夫"敏感,报告与正文脱节必须抓出来)。
### 4.5 组合 Agent(总编/Composer)
| 项 | 说明 |
|---|---|
| 职责 | 全部通过后:按任务单时间轴拼装 → 段间衔接检查(话题自然滑入,禁报幕式转场)→ 产品回指一致性 → 生成六色标记 docx(黑/红/紫/绿/灰/蓝)→ 生成说明 + 待确认清单 + clean.txt |
| 输入 | 所有通过审查的段产物 + 任务单 |
| 输出 | `直播文稿.docx`(宋体 10.5pt,段落自然合并 85-110 段)+ `生成说明`(生成依据/时间压缩决策/跨稿对账/合规处理/占位符) |
| 记忆 | 沉淀"通过稿的组合模式"(衔接句样板、图例规范) |
## 5. 上下文隔离机制(核心设计)
```
隔离原则:Agent 之间只通过"文件系统 + 结构化契约"通信,绝不共享对话。
┌─ 任务单 TaskSpec(主控产出,全流程唯一契约)────────────────┐
│ campaign_id / date_id / 导图源文件引用 │
│ segments: [{ id, title, 时间范围, 类型(心法/技法/产品/场景), │
│ 导图节点原文, 产品节点, 交付要求 }] │
│ quality_gates: 本场启用的质检项 + 词清单 │
└─────────────────────────────────────────────────────────────┘
每个段 Agent 运行时只看到:
✅ 任务单中属于自己的 segment 切片
✅ 共享知识库(只读检索接口)
✅ 自己的规则文件 + 自己的记忆库
❌ 其他段的产物
❌ 其他 Agent 的对话历史/记忆
❌ 主控与用户的对话
质检 Agent 运行时只看到:
✅ 被检段产物 + 任务单对应切片 + 知识库质检规则 + 自己的错误模式记忆
❌ 其他段产物(除非打回时作为上下文补充,由主控显式授权)
```
隔离的物理载体:`work/<campaign_id>/segments/<segment_id>/` 每个段一个目录,产物独立文件;Agent 会话按段独立起停。
## 6. 共享知识库(只读、共用)
| 库 | 内容 | 说明 |
|---|---|---|
| 风格档案库 | 数字雅文人格档案、day1 定稿基准、仿雅文范稿、文本层铁律 10 条 | "怎么讲"的最高权威 |
| 框架导图库 | 七天营导图、28 天重排版总纲、历史任务单 | 生成新稿的权威大纲引用 |
| 直播原文库 | 73 场 SRT 转录(573 万字,E:\03_直播素材\直播合集) | 素材/案例/原话检索 |
| 备稿库 | 99 篇备稿(150 万字,Desktop\直播文稿) | 历史定稿/跨稿对账依据 |
| 产品知识库 | 观品产品知识库 chunks.jsonl | 产品事实/功效/概念边界(价格口径以当轮指令为准) |
| 质检规则库 | 五类审查清单、词清单、铁律 | 质检 Agent 的检查依据 |
写权限:**无**。所有 Agent 只读检索。产出和记忆一律写各自工作区/记忆库——知识库保持原始状态。
## 7. 记忆系统设计(自主学习 · 每 Agent 隔离)
### 7.1 记忆分层
| 层 | 类型 | 来源 | 示例 | 优先级 |
|---|---|---|---|---|
| L1 | 规则记忆 | 用户显式纠正(你改规则/打回时说的"以后都…") | "卖货节点宁早勿晚;产品前必须有痛点技法展示" | 最高,等同于改 rules |
| L2 | 纠错记忆 | 质检 FAIL 自动沉淀 | "本段上次因'养护'字样残留被打回" | 高,重跑时必读 |
| L3 | 偏好记忆 | 人工审查意见 | "你上次打回说:心法段金句太多太密" | 高 |
| L4 | 成功记忆 | 通过稿复盘(可选) | "开场段上次通过时用了自嘲暖场模式" | 中,仅参考 |
### 7.2 沉淀红线(重要——来自你们实战的两轮纠正)
- ✅ **可沉淀**:怎么讲(打法、结构、风格、质检标准、转场手法)
- ❌ **不可沉淀**:讲什么(价格、头衔、技法名、产品组合、场次性口径)——每篇独立,以当轮指令/导图为准
- 记忆条目必须带来源标签(哪场/哪次打回),场次性数据只能进"参考池"且带过期标记,绝不升级为规则
### 7.3 记忆写入时机(自动 + 手动)
1. 人工打回时 → 打回意见自动结构化写入对应 Agent 的 L3
2. 质检 FAIL → 错误模式自动写入质检 Agent 的 L2(同段重跑时注入)
3. 你编辑 rules.md → 记为 L1
4. 每轮跑完 → 主控询问是否复盘沉淀(不自动,避免噪音)
### 7.4 记忆库物理隔离
```
memory/
coordinator/ ← 主控记忆(项目管理偏好)
segment_opening/ ← 开场段 Agent 记忆
segment_xinfa/ ← 心法段 Agent 记忆
segment_jifa/ ← 技法段 Agent 记忆
qc_structure/ ← 结构质检记忆(错误模式)
qc_content/ ← 内容质检记忆
qc_style/ ← 风格尺度质检记忆
qc_cross/ ← 跨稿质检记忆
composer/ ← 组合 Agent 记忆
```
每个库独立命名空间,Agent 运行时只挂载自己的记忆文件。
## 8. 全流程时序(正常路径 + 打回路径)
```
正常路径:
你 ──主题/导图──▶ 主控 ──任务单──▶ [段Agent们 并行] ──每段产物──▶ [4道质检并行]
▶ 质检报告 ──▶ 人工审查台 ──全部✅──▶ 组合Agent ──▶ 直播文稿.docx
打回路径(哪里不对改哪里):
人工审查 🔁打回段3 ──意见──▶ 段3 Agent(读取意见+自己记忆+任务单切片)
──重新生成段3──▶ 质检(段3) ──▶ 人工复审 ──✅──▶ 继续
(段1/2/4 产物原封不动,不重跑)
规则修改路径:
你 ──改 rules.md──▶ 指定 Agent ──重跑该环节──▶ 质检 ──▶ 审查
```
## 9. 数据模型(核心 Schema)
```json
// 任务单 TaskSpec
{
"campaign_id": "2026-08-26-day5",
"mindmap_source": "导图文件路径",
"total_duration": 120,
"segments": [
{
"id": "seg-01",
"title": "开场·扎心+承诺",
"time": "00:00-00:08",
"type": "opening",
"mindmap_node": "导图节点原文转录",
"products": [],
"requirements": ["开场降档", "30秒入题"]
}
],
"quality_gates": ["structure", "content", "style", "cross"],
"word_limits": {"min": 5000, "target": 6758}
}
// 质检报告 QCReport
{
"segment_id": "seg-03",
"checks": [
{"id": "structure-04", "name": "时间轴核对", "status": "FAIL",
"issues": [{"location": "段标题③", "desc": "时间标注 00:22-00:30 与导图 00:20-00:28 不符",
"suggestion": "改回导图时间", "severity": "high"}]}
],
"verdict": "FAIL"
}
// 记忆条目 MemoryEntry
{
"agent_id": "segment_jifa",
"type": "L3_preference",
"content": "技法段讲解前必须先给'为什么'铺垫1-2句再进干货",
"source": "2026-08-day4打回#2",
"created": "2026-08-25",
"status": "active"
}
```
## 10. 落地技术选型(三条路,先看后定)
| 方案 | 形态 | 优点 | 缺点 | 工期 |
|---|---|---|---|---|
| **A. 轻量版(推荐先跑)** | 基于现有 Hermes 体系:每 Agent = 一个 skill + 独立记忆目录 + 独立工作目录;主控用 delegate_task 派发;质检用脚本+LLM 双检;组合复用 make_color_docs.py 引擎 | 零新基建、直接复用全部现有技能/素材库/质检清单、今天就可用 | 无可视化界面(命令行/对话式操作)、并行度受 Hermes 限制 | 1-2 天 |
| **B. 工作台版(正式目标)** | 独立 Web 应用:FastAPI + DeepSeek API + SQLite + 前端看板。可视化:任务单看板、每段产物卡片、质检报告红绿灯、打回/通过按钮、规则编辑器 | 符合"工作台"体验、人工审查台最顺、可多人协作 | 开发量中等(知识库检索/记忆库/编排层都要自建) | 1-2 周 |
| C. dsh 编排版 | 用 dsh 多 Agent 拓扑 + 自定义 harness 脚本 | 复用你已有的 dsh | dsh 目前偏单 Agent CLI/Web UI,多 Agent 编排要自己写协调层,且无工作台 UI | 1 周 |
**建议路径**:先用 A 把流程跑通(生成一篇真实稿子验证全链路,同时把任务单/质检报告/记忆的 schema 在实际使用中敲定),再上 B 做可视化工作台——A 跑出来的数据模型直接成为 B 的数据库结构。
## 11. 里程碑
| 阶段 | 内容 | 验收标准 |
|---|---|---|
| M1 流程验证(A 方案) | 搭好目录骨架 + 主控拆解 + 3 个段 Agent + 2 道质检 + 人工审查 + 组合 | 用一天真实导图跑出完整直播文稿,打回重跑某段不影响其他段 |
| M2 记忆闭环 | 记忆库全部 Agent 落地 + 打回意见自动沉淀 + 重跑注入 | 同一错误第二次打回率显著下降 |
| M3 工作台 UI(B 方案) | 任务看板 + 产物卡片 + 质检红绿灯 + 审查操作 + 规则编辑器 | 全程可视化,不再依赖对话式操作 |
| M4 增强 | 多天批量跑(跨稿质检自动对账 day N-1 预告)、知识库增量导入 | 连续生成多天稿,跨稿质检 0 漏项 |
## 12. 风险与红线(设计内嵌,来自实战教训)
1. **导图读取**:手写/OCR 导图读不准的词,主控必须先列待确认清单问你再动稿("龙蛇混杂/跟班戏"教训)
2. **口径不沉淀**:记忆库严禁把场次性口径(价格/头衔/技法名/产品组合)升级为跨稿规则(两轮纠正教训);规则只沉淀"怎么讲"
3. **质检报告≠事实**:质检 Agent 的每条断言必须能对证正文,报告与正文脱节=质检自身 FAIL("表面功夫"红线)
4. **产品概念边界**:一产品一概念(水润≠养护),全稿"养护"清零——写入内容质检固定检查项
5. **上下文串扰**:段 Agent 只读自己的切片+知识库,任何"参考其他段"的需求必须经主控显式授权(防止隐含口径漂移)
6. **记忆噪音**:L4 成功记忆不自动写入,只在你确认复盘时沉淀,避免"越用越偏"
7. **合规底线**:质检保留合规闸(无证宣称/绝对化用语/编造解剖名词),生成机制沿用防拒审信封(授权上下文只进后台不进正文)
---
**待你确认的问题:**
1. 段 Agent 的默认划分(开场/心法/技法/场景/产品/收尾/互动标记 7 个)是否符合你脑子里的环节?要增减哪些?
2. 落地路径选 A(今天就能跑)还是直接上 B(工作台 UI)?还是 A 先验证再 B?
3. 记忆沉淀时机:打回意见自动沉淀(推荐)vs 全部手动确认,你倾向哪种?