17 KiB
17 KiB
雅文内容创造工作台 · 设计文档 v3(开放画布版)
日期:2026-08-25 | 状态:方案确认稿 | 技术路线:FastAPI + SQLite + React(React Flow 画布) v2 → v3 变更:① Agent 关系画布(可视化编排:改顺序/单独启停/任意连线,不再有固定流水线)② 内容类型标签体系(心法/案例/技法/功法/产品销售/画面/场景/收尾/钩子…同类内容可生成多个)③ 多知识库隔离挂接(知识库随便建、每个 Agent 自己配挂哪些库、库与库隔离)
1. 项目概述
一个开放的多 Agent 内容工厂(浏览器访问的独立 Web 工作台):
- 你建 Agent(数量不限)→ 在画布上把 Agent 连成关系图 → 给每个 Agent 配规则、配知识库、随时启停
- 每次生产:给主控主题/导图 → 主控拆解成"内容段"(每段一个内容类型)→ 按画布关系派发执行 → 每段过质检 → 人工审查 → 组合交付
- 一切都是可改的:画布关系可改、顺序可改、单个 Agent 可停用、规则可改、知识库挂接可改、内容数量(几个心法几个技法)由导图说了算
- 记忆沉淀必须你确认;段间靠锚点卡对齐;组合 Agent 做一致性总检
2. 需求 → 设计对策(v3 完整版)
| # | 你的要求 | 设计对策 | 状态 |
|---|---|---|---|
| 1 | Agent 可随便添加、数量不限 | Agent 注册中心 + 画布拖入 | v3:画布化 |
| 2 | 每个 Agent 可设置规则 | 每个 Agent 一个 rules.md,可视化编辑+版本回滚 | ✅ |
| 3 | 上下文隔离 | 只传结构化契约:任务切片 + 上游锚点卡 | ✅ |
| 4 | 知识库分开、可建多个 | 知识库管理页:随便建库、导素材、独立索引 | 🆕 |
| 5 | 每个 Agent 设置获取哪个知识库 | Agent 配置里勾选挂接库(多选),只查挂接的库 | 🆕 |
| 6 | 知识库也是隔离的 | 每库独立命名空间,Agent 只能检索被挂接的库 | 🆕 |
| 7 | Agent 关系画布 | React Flow 画布:节点=Agent、连线=依赖,拖拽编排 | 🆕 |
| 8 | 可修改内容生成顺序 | 画布连线/节点顺序即生成顺序,随时改 | 🆕 |
| 9 | 单独停用一个 Agent | 节点上启停开关,停用则该节点不执行(下游读锚点卡时自动跳过) | 🆕 |
| 10 | 生成多个心法、多个技法 | 内容类型标签体系:导图拆几个同类段就生成几个,画布可放多个同类 Agent 节点 | 🆕 |
| 11 | Agent 内容基本类型 | 预置标签:心法/案例/技法/功法/产品销售/画面/场景/收尾/钩子(+开场/互动),可自定义新增 | 🆕 |
| 12 | 哪里不对改哪里 | 打回粒度=段;三种修改路径 | ✅ |
| 13 | 每件产物过质检 | 4 道质检闸(可配置挂哪些) | ✅ |
| 14 | 质检过还要人工审查 | 审查台硬关卡 | ✅ |
| 15 | 组合成直播文稿 | 组合 Agent:拼装+一致性总检+六色 docx | ✅ |
| 16 | 自主学习、越用越懂 | 每 Agent 独立记忆库(L1-L4) | ✅ |
| 17 | 沉淀先人工确认 | 记忆待确认池 | ✅ |
3. 核心概念(v3 三大件)
3.1 内容类型标签(Content Tags)
Agent 与任务段的共同语言。预置 11 个标签(你列的 9 个 + 开场 + 互动),可随时自定义新增:
开场 · 心法 · 案例 · 技法 · 功法 · 产品销售 · 画面 · 场景 · 收尾 · 钩子 · 互动
- 任务侧:主控解析导图时,每个导图节点标一个内容类型 → 成为"内容段"。导图里有 3 个技法块就拆 3 个技法段(同类多个,天然支持)
- Agent 侧:每个 Agent 声明自己擅长哪些标签(多选)。一个 Agent 可以"场景+画面+产品销售"多标签
- 派单:内容段 → 找"标签匹配 + 启用中"的 Agent 节点执行
3.2 Agent 关系画布(Canvas)
┌─ 画布(浏览器,React Flow)──────────────────────────────────────┐
│ │
│ [主控Agent] │
│ │ 派发任务单 │
│ ▼ │
│ [开场Agent ●]─────────▶[心法Agent ●]───▶[技法Agent1 ●]─┐ │
│ │ │ │ │ │
│ │ ▼ ▼ ▼ │
│ │ [案例Agent ●] [功法Agent ●] [技法Agent2]│
│ │ │ │ │ │
│ │ ▼ ▼ ▼ │
│ │ [产品销售Agent ●]──[画面Agent ●]─[场景Agent●]│
│ │ │ │
│ │ ▼ │
│ │ [收尾Agent ●] │
│ │ │ │
│ │ ▼ │
│ │ [钩子Agent ●] │
│ └────────────────────────────────────────────────────────────┘
│ ●=启用 ○=停用(灰显,不执行) 箭头=锚点卡流向(下游读上游) │
└───────────────────────────────────────────────────────────────────┘
画布能力:
| 操作 | 说明 |
|---|---|
| 拖入 Agent | 从注册中心拖任意 Agent 上画布(同一 Agent 可放多个节点=同类型并行/串行多段) |
| 连线 | 从 A 拉到 B = B 读 A 的锚点卡;不连 = 完全隔离 |
| 改顺序 | 拖节点、改连线,生成顺序即图顺序(拓扑排序) |
| 单独停用 | 节点上开关:停用=该节点不执行,下游读锚点卡时自动跳过(如停用"产品销售",全文就 0 产品) |
| 分支并行 | 一个节点连多个下游 = 并行;串成链 = 串行 |
| 模板保存 | 画布存成模板(如"完整场"、"纯心法场"、"无产品场"),一键复用 |
| 版本快照 | 任务开工时固化画布快照,之后改画布不影响已跑任务 |
3.3 多知识库隔离挂接(Knowledge Bases)
┌─ 知识库管理页 ──────────────────────────────────────────────┐
│ [+ 新建知识库] 每个库=独立命名空间+独立索引 │
│ ├─ 📚 风格档案库 (种子:数字雅文档案/范稿/定稿基准) │
│ ├─ 📚 训练营框架库 (种子:七天导图/28天重排版) │
│ ├─ 📚 直播原文库 (种子:73场SRT,可增量导入) │
│ ├─ 📚 备稿库 (种子:99篇docx) │
│ ├─ 📚 产品知识库 (种子:观品chunks.jsonl) │
│ ├─ 📚 质检规则库 (种子:审查五类清单/词清单) │
│ └─ 📚 你建的库:如"青蛇白蛇素材库"(拖文件进去自动索引) │
└─────────────────────────────────────────────────────────────┘
每个 Agent 的配置里:
[知识库挂接(多选)]
☑ 风格档案库 ☑ 产品知识库
☐ 直播原文库 ☐ 备稿库 …
隔离规则:
· Agent 检索时只能命中被挂接的库,挂接外的一律不可见
· 知识库之间互不可见(库A的内容不会出现在库B的检索结果)
· 挂接可随时改,改完立即生效(不影响已跑任务)
4. 系统架构总览(v3)
┌─────────────────── 你(浏览器访问工作台) ─────────────────────┐
│ 任务看板 · Agent注册中心 · 关系画布 · 知识库管理 · 审查台 · 记忆 │
└──────┬───────────────────────────────────────────────────────┘
▼
┌───────────────────────────────────────────────────────────────┐
│ Agent 注册中心(可自建,数量不限) │
│ Agent = { 名称/描述/类型(生产|质检|服务) │
│ |内容标签(心法|案例|技法|功法|产品销售|画面|场景|收尾|钩子…) │
│ |知识库挂接(多选) | rules.md(版本历史) | 独立记忆库 } │
└──────────────────────────┬────────────────────────────────────┘
▼
┌───────────────────────────────────────────────────────────────┐
│ Agent 关系画布(编排层:顺序/依赖/启停,模板化,任务快照) │
│ 主控Agent:导图→任务单(内容段+时间轴+产品节点) → 按画布派发 │
└──────┬─────────────────────────────────────────────────────────┘
▼ 按画布拓扑分波次执行(每段=一个内容类型,同类可多个)
┌───────────────────────────────────────────────────────────────┐
│ [生产Agent节点](独立会话/记忆/只读挂接知识库) │
│ │ 产出:段内容 + 锚点卡 │
│ ▼ │
│ 4道质检闸(挂哪些质检Agent可配)→ 报告逐条对证正文+锚点卡 │
│ ▼ 全过 │
│ 人工审查台(✅/🔁打回→记忆待确认池/✏️直接改) │
│ ▼ 全部确认 │
│ 组合Agent:拼装 → 一致性总检(5项) → 打回/缝合标记 → 六色docx │
└───────────────────────────────────────────────────────────────┘
5. 预置 Agent 清单(种子,全部可改可删可复制)
| Agent | 类型 | 内容标签 | 默认知识库挂接 |
|---|---|---|---|
| 主控 Agent | 编排 | — | 全部(解析导图) |
| 开场段 Agent | 生产 | 开场 | 风格档案库 |
| 心法段 Agent | 生产 | 心法 | 风格档案库+训练营框架库 |
| 案例段 Agent | 生产 | 案例 | 直播原文库+备稿库 |
| 技法段 Agent | 生产 | 技法 | 风格档案库+直播原文库 |
| 功法段 Agent | 生产 | 功法 | 风格档案库 |
| 产品销售 Agent | 生产 | 产品销售 | 产品知识库+备稿库 |
| 画面段 Agent | 生产 | 画面 | 风格档案库 |
| 场景段 Agent | 生产 | 场景 | 风格档案库+直播原文库 |
| 收尾段 Agent | 生产 | 收尾 | 风格档案库 |
| 钩子段 Agent | 生产 | 钩子 | 训练营框架库(次日真实框架) |
| 互动标记 Agent | 生产 | 互动 | 质检规则库 |
| 结构质检 | 质检 | — | 质检规则库 |
| 内容质检 | 质检 | — | 质检规则库+产品知识库 |
| 风格尺度质检 | 质检 | — | 质检规则库(词清单) |
| 跨稿质检 | 质检 | — | 备稿库+训练营框架库 |
| 产品顾问 | 服务 | — | 产品知识库 |
| 风格顾问 | 服务 | — | 风格档案库 |
默认画布(完整场):开场→心法→(案例∥技法∥功法)→(产品销售∥画面∥场景)→收尾→钩子。你可以改成任何形状。
6. 主控 Agent 拆解逻辑(v3)
- 读导图/主题 → 逐节点转录(读不准的词 → 待确认清单问你)
- 每个导图节点 → 内容段:
{段id, 标题, 内容标签, 时间范围, 产品节点?, 导图原文} - 同类多段:导图几个技法块就几个技法段(不合并)
- 生成任务单 → 按画布匹配:每段找"标签匹配+启用"的节点 Agent
- 按画布拓扑分波次派发 → 跟踪每段状态(待派/生成中/质检中/待审查/通过/打回)
- 全段通过 → 交组合 Agent
7. 数据模型(v3 核心表)
agents -- Agent 注册中心
id, name, type(production|qc|service), status(active|disabled),
content_tags(json:["心法","技法"]), -- 内容类型标签(生产Agent)
rules_version, memory_namespace, version_history(json)
knowledge_bases -- 知识库(可建多个)
id, name, desc, source_dir, index_status, created_at
agent_kb_bindings -- Agent↔知识库 多对多(挂接配置)
agent_id, kb_id, enabled
canvases -- 关系画布(模板)
id, name, nodes(json:[{node_id, agent_id, enabled, x, y}]),
edges(json:[{from_node, to_node, type:required|optional}])
campaigns -- 生产任务
id, date_id, canvas_snapshot(json), task_spec(json),
mindmap_ref, status, wave_state
segments -- 内容段(每段一个内容类型,同类可多个)
id, campaign_id, node_id, agent_id, content_tag,
anchor_card(json), artifact_path,
status(pending|running|qc|human_review|approved|rework), version
qc_reports -- 质检报告
id, segment_id, gate, checks(json), verdict
pending_memories -- 记忆待确认池
id, target_agent_id, type(L2|L3|L4), content, source_ref,
status(pending|approved|rejected|blocked)
memories -- 已确认记忆(per-agent 命名空间)
id, agent_id, layer, content, source_ref, created_at, status
artifacts -- 组合产物
id, campaign_id, docx_path, compose_report(json), final_status
8. 技术选型(v3)
| 层 | 选型 | 说明 |
|---|---|---|
| 后端 | FastAPI (Python 3.14) | 异步并行调 Agent |
| 数据库 | SQLite + SQLModel | 单机零运维 |
| 画布 | React Flow(MIT 免费) | 拖拽节点/连线/启停开关,业界标准画布库 |
| 前端 | React + Vite + Tailwind | 看板/画布/编辑器 |
| Agent 引擎 | DeepSeek API(可配多 provider) | 复用你的密钥 |
| 知识库 | 每库一个 SQLite FTS5 索引 + 文件目录 | 导入 md/docx/srt/txt/json,增量重建索引 |
| 产物 | 文件系统 + 元数据 | docx 引擎复用六色标记逻辑 |
9. 里程碑(2 周,画布是重点)
| 阶段 | 内容 | 验收 |
|---|---|---|
| M1(1-2天) 骨架 | 后端骨架+数据表、知识库管理(建库+导入+检索)、Agent 注册中心(新建/规则/标签/挂接)、任务创建、主控拆解→顺序派发、3 个种子 Agent、结构质检 1 道、审查台基础、组合(简单拼接+docx) | 真实导图跑通全链路 |
| M2(3-6天) 画布 | React Flow 画布(拖节点/连线/启停/模板/快照)、波次调度(拓扑排序)、锚点卡机制、全部种子 Agent、4 道质检 | 画布改顺序/停用一个 Agent 后重跑生效;段间锚点卡对齐 |
| M3(7-10天) 记忆+组合 | 待确认池、L1-L4 记忆、组合一致性总检+缝合标记+组合报告、知识库增量导入、多段同类(3 技法并行) | 打回意见进池确认后注入;组合器抓到真实矛盾并打回;同类多段并行跑通 |
| M4(11-14天) 打磨 | 导图 OCR 接入、多天连续、跨稿对账自动化、画布体验打磨、模板库 | 连续 3 天稿、跨稿 0 漏项 |
10. 风险与红线
- 导图读不准的词必须列待确认清单问你(不变)
- 记忆只沉淀"怎么讲"不沉淀"讲什么";且写入需你确认(不变)
- 质检报告逐条对证正文+锚点卡(防表面功夫)
- 组合器只拼装+总检+缝合标记,永不擅自改内容
- 画布快照:任务开工后画布改动不影响已跑任务(避免跑一半乱了)
- 停用下游的连锁:停用"产品销售"节点时,产品顾问/质检的产品检查自动跳过,组合报告注明"本场 0 产品"
- 知识库导入规模:SRT/docx 批量导入做后台任务+进度条;单库索引重建可后台跑
- 合规底线与防拒审信封(只进后台不进正文)
待你确认(1 个问题):
- 预置 11 个内容标签(开场/心法/案例/技法/功法/产品销售/画面/场景/收尾/钩子/互动)够用吗?还要加哪些?(比如"答疑/弹幕互动"要不要独立标签?)