# 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。

先把写前入口和最终文案收束，收益最大，风险最小。
