Explorar el Código

docs: add context-agent writing brief design spec

lingfengQAQ hace 2 meses
padre
commit
abd35859bf

+ 398 - 0
docs/superpowers/specs/2026-04-14-context-agent-writing-brief-design.md

@@ -0,0 +1,398 @@
+# Context Agent 写作任务书收束设计
+
+> **日期**: 2026-04-14
+> **状态**: 草案 v1
+> **定位**: 收束写前入口,改造 `context-agent` 与 `writer` 的输入边界
+
+---
+
+## 1. 文档定位
+
+### 1.1 这份设计要解决什么问题
+
+当前写前链路有三个问题:
+
+1. `Step 0.5` 与 `context-agent` 职责重叠
+2. 现有创作包像审计表,不像作者愿意接的任务书
+3. `writer` 还能间接接触过多原始材料,导致输入面没有真正收束
+
+这份设计要做的事不是再造一套新底稿,而是:
+
+- 让 `context-agent` 成为唯一写前组装入口
+- 让当前 research 拼出来的任务包继续作为**内部底稿**
+- 在其上生成一份只给 `writer` 读的**写作任务书**
+
+### 1.2 一句话结论
+
+后续主链应改为:
+
+```text
+context-agent
+  -> research
+  -> 当前任务包(内部底稿)
+  -> 写作任务书
+  -> writer
+```
+
+其中:
+
+- 内部底稿继续服务 agent 自己
+- `writer` 只接收 `写作任务书`
+- 这件事作为**调用层事实**实现,不写进 `writer` 的明面约束
+
+---
+
+## 2. 设计目标与非目标
+
+### 2.1 目标
+
+这次改造只达成 6 个目标:
+
+1. 收回 `Step 0.5`,并入 `context-agent`
+2. 保留现有任务包作为内部底稿,不发明新底稿格式
+3. 新增最终产物 `写作任务书`
+4. 让 `writer` 的输入面事实上收束到一份任务书
+5. 把生硬规则翻译成自然的约稿口吻
+6. 保留 `anti-ai-guide.md` 与 `core-constraints.md` 作为写前事实源
+
+### 2.2 非目标
+
+这次设计明确不做:
+
+1. 不重做 `story_contract` schema
+2. 不要求给 `writer` 展示合同、检查清单、规则来源
+3. 不要求为任务书建立字段映射表
+4. 不把 `anti-ai-guide.md` 拆进 CSV
+5. 不把所有 `core-constraints.md` 内容都翻给 `writer`
+
+---
+
+## 3. 核心原则
+
+### 3.1 事实隔离,不写成口头约束
+
+`writer` 只读任务书,这必须通过调用层实现。
+
+但不要在 `writer` 提示词里写:
+
+- “你只能看任务书”
+- “不要读取其他材料”
+- “合同在某处”
+
+原因很简单:
+
+- 一旦要靠提示词强调边界,说明边界没有在编排层真正成立
+- 如果 `writer` 还觉得信息不够,问题应回溯到任务书质量,而不是放权给 `writer`
+
+### 3.2 写作任务书要像约稿,不像说明书
+
+`writer` 看到的文案不应再是:
+
+- 合同条目
+- 检查清单
+- 禁止事项平铺
+- 审计式字段展开
+
+而应像一个懂创作的搭档在交代这一章:
+
+- 这章写什么
+- 谁在场
+- 会发生什么
+- 该抓什么感觉
+- 收在哪里
+
+### 3.3 语义生成优先,不做硬映射表
+
+`context-agent` 应基于内部底稿语义生成任务书。
+
+这意味着:
+
+- 不做“字段 A 必须去段落 B”的映射表
+- 只规定任务书要说清什么
+- 不规定必须按什么字段顺序硬拼
+
+### 3.4 通用守则保留全文,最终文案自然化
+
+`anti-ai-guide.md` 与 `core-constraints.md` 继续作为写前事实源存在。
+
+但它们进入最终任务书时,必须被翻译成自然口吻。
+
+正文中不要出现:
+
+- `Anti-AI`
+- `检查`
+- `约束`
+- `合同`
+- `blocking_rules`
+- 文件名或路径
+
+---
+
+## 4. 两层结构
+
+### 4.1 内部底稿
+
+内部底稿不新增新结构体,直接沿用当前 `context-agent` research 拼出来的任务包。
+
+它继续包含:
+
+- 章纲
+- 前文摘要
+- `story_contract`
+- latest accepted `CHAPTER_COMMIT`
+- `plot_structure`
+- `prewrite_validation`
+- `reader_signal`
+- `genre_profile`
+- `writing_guidance`
+- `long_term_memory`
+- 其他按需 research 结果
+
+同时,在生成任务书前,`context-agent` 还必须全文读取:
+
+- `references/shared/core-constraints.md`
+- `skills/webnovel-write/references/anti-ai-guide.md`
+
+这两份材料进入内部底稿,但不原样进入最终任务书。
+
+### 4.2 写作任务书
+
+`写作任务书` 是给 `writer` 的唯一输入。
+
+它只保留对成文直接有用的信息,并改写成约稿口吻。
+
+它不暴露:
+
+- 来源
+- 文件名
+- 合同层级
+- 检查流程
+- 数据处理流程
+
+---
+
+## 5. 哪些内容不进 CSV
+
+### 5.1 明确不进 CSV
+
+以下内容继续保留为 md 或模板层资产:
+
+1. `anti-ai-guide.md`
+2. `core-constraints.md` 中的全局流程与通用守则
+3. 写作任务书模板本身
+4. `context-agent` / `writer` 的角色边界
+5. 完整风格锚点正文
+
+原因一致:
+
+- 这些内容不是按需检索条目
+- 不是命中几条就够
+- 顺序、语气和整体结构本身就是信息
+
+### 5.2 后续可继续进 CSV 的内容
+
+以下内容仍适合继续结构化:
+
+1. 题材化爽点类型
+2. 题材化节奏风险
+3. 场景化写作重定向
+4. 题材特定毒点与误区
+5. 可复用桥段推进方式
+
+也就是说:
+
+- 通用写作运行守则,不进 CSV
+- 题材化、场景化、可检索知识,继续进 CSV
+
+---
+
+## 6. `core-constraints` 与 `anti-ai-guide` 的处理方式
+
+### 6.1 `anti-ai-guide.md`
+
+规则固定为:
+
+1. 全文读取
+2. 不拆 CSV
+3. 不原样给 `writer`
+4. 只翻译成任务书里的自然提醒
+
+### 6.2 `core-constraints.md`
+
+规则固定为:
+
+1. 全文读取
+2. 不原样给 `writer`
+3. 只提炼其中会直接影响本章成文的部分
+
+以下内容通常不应进入最终任务书:
+
+- Data Agent
+- `index.db`
+- 新实体处理流程
+- 路径、命令、系统流程
+- 只对系统运转有意义的后台规则
+
+### 6.3 最终呈现方式
+
+最终任务书中,这两份材料都只能变成这种表达:
+
+- “这章先把人和事往前推,不要急着解释”
+- “情绪尽量落在动作和反应里,不要一上来把话说透”
+- “结尾别把局面放平,留一点还没彻底落地的东西”
+
+而不是:
+
+- “执行 Anti-AI 第 3 条”
+- “遵守三大定律”
+- “检查 blocking rules”
+
+---
+
+## 7. 写作任务书的固定结构
+
+最终任务书固定为五段式。
+
+### 7.1 开篇委托
+
+先说清这是什么书、哪一章、这一章一句话要写成什么。
+
+应像:
+
+- 你现在要写《某书》第 12 章《某标题》
+- 这一章主要写……
+- 重点不是……而是……
+
+### 7.2 这一章的故事
+
+说清:
+
+- 这一章谁要做什么
+- 为什么非做不可
+- 真正难的地方在哪
+- 局面会怎么推进
+
+### 7.3 这章的人物
+
+只写对成文直接有用的人物信息:
+
+- 当前状态
+- 眼前驱动力
+- 这章里的主要作用
+- 说话和行动倾向
+
+### 7.4 这章怎么写更顺
+
+这一段负责承接:
+
+- 节奏提醒
+- 情绪写法
+- 对话写法
+- 参考气质
+- 风格锚点
+- 从 `anti-ai-guide` 和 `core-constraints` 翻译来的自然提醒
+
+这一段是整个任务书最关键的部分。
+
+### 7.5 这章收在哪里
+
+只说明结尾应该停在什么感觉上:
+
+- 某个动作
+- 某个画面
+- 某句对话
+- 某种未完感
+
+不把事情全部讲平。
+
+---
+
+## 8. 语言要求
+
+`写作任务书` 的语言必须满足:
+
+1. 简洁中文
+2. 短句优先
+3. 不端着
+4. 不训话
+5. 不写制度口吻
+6. 不暴露系统术语
+
+推荐语气:
+
+- 像懂创作的搭档作者
+- 像在交代这一章怎么写会更顺
+- 像约稿,不像操作手册
+
+---
+
+## 9. 流程改造
+
+### 9.1 新流程
+
+后续写前主链改为:
+
+```text
+Step 1: context-agent
+  -> research
+  -> 生成内部底稿
+  -> 生成写作任务书
+
+Step 2: writer
+  -> 只接收写作任务书
+  -> 直接起草正文
+```
+
+### 9.2 `Step 0.5` 的处理
+
+现有 `Step 0.5` 的职责应全部回收给 `context-agent`。
+
+不再允许:
+
+- 一部分信息由 `context-agent` 做
+- 一部分信息由 `writer` 自己补
+- 一部分提醒在写时临时再拼
+
+### 9.3 失败语义
+
+如果 `writer` 在只读任务书的前提下仍然表现出:
+
+- 信息不够
+- 情绪不对
+- 冲突不清
+- 节奏发硬
+
+应优先判断为:
+
+- `context-agent` 的任务书写得不够好
+
+而不是给 `writer` 继续开放原始材料。
+
+---
+
+## 10. 验收标准
+
+这次改造完成后,至少要满足:
+
+1. `context-agent` 成为唯一写前组装入口
+2. 现有任务包继续作为内部底稿使用
+3. `writer` 的最终输入只剩一份写作任务书
+4. 任务书正文不出现“约束 / 检查 / 合同 / Anti-AI”等词
+5. 任务书正文读起来像约稿,不像制度说明
+6. `anti-ai-guide.md` 全文继续参与生成,但不原样暴露
+7. `core-constraints.md` 全文继续参与生成,但只挑成文相关内容翻译
+
+---
+
+## 11. 实施建议
+
+实现顺序建议如下:
+
+1. 先改 `context-agent` 的职责说明
+2. 再改任务书生成模板
+3. 再收掉 `Step 0.5` 的重复职责
+4. 最后把 `writer` 的输入面切到只读任务书
+
+这次不要先动合同 schema,也不要先扩 CSV。
+
+先把写前入口和最终文案收束,收益最大,风险最小。