笔记 — agent 剧情线索追踪
笔记(Notes)是编排器的每个 chat 一份的存储,记录 agent(作为剧情作者)希望在以后兑现的事情。已经埋下的伏笔、角色做出的承诺、提前写好的章节大纲、推理类剧情里在调查之前就先草拟的真相——任何 agent 已经向自己许下、需要在未来回合兑现的"债"。
笔记和记忆图是有意区分开的两套系统:
| 子系统 | 回答的问题 | 由谁写 |
|---|---|---|
| 记忆图 | 「已经发生了什么」——场景 / 角色状态 / 地点的客观档案 | 自动抽取;用户可以手动整理 |
| 笔记 | 「agent(作为作者)接下来想让什么发生」——已经埋下、但还没触发 | agent 自己,通过 loop 中的工具调用 |
你(玩家)可以通过 笔记面板 查看、关闭、编辑、永久删除笔记——但你不是主要作者。如果你想注入剧情方向,请用世界书条目或记忆图的常驻注入节点;笔记是 agent 自己的台账。
agent 用的工具
| 工具 | 行为 |
|---|---|
note_open(text) | 开一条新笔记,返回它的 id。这条笔记会出现在 agent 后续每次运行的 system prompt 「## Open Notes」块里,直到被关闭。 |
note_close(id, reason?) | 按 id 关闭一条笔记,可选附一行原因。该条从 prompt 块消失;关闭记录留在归档(面板里仍可见)。 |
未结清的笔记会一直出现在 agent 的 system prompt 里——没有自动 LRU、没有 token 预算、没有自动过期。笔记卫生由 agent 自己负责:如果它开了 80 条陈年笔记又一直不关,它自己承担这份 prompt 预算。编排器不会替它兜底。
反污染原则
笔记是真正的承诺,不是回合日记。一份被污染的笔记列表(从来不是真正义务的条目、或者本该关闭却挂着的陈年条目)会拖累后续每一回合。director 模式的默认 sub-agent 就是为这条原则服务:
notes_pickup_scout在起草前跑,只挑出本回合节拍成熟的未结清笔记notes_curator在起草后跑,默认什么也不做,只在草稿里有明确文本证据时才关闭笔记,只在草稿本身确实埋下了未来要兑现的承诺时才开新条
如果你自己写 director sub-agent,或者用 loop 模式但没配 curator,同一份纪律仍然适用——关比开更积极。
笔记面板
笔记面板位于编排器扩展的面板里,作用域为当前 chat。它有两个标签页:
- 未结清 — 当前活跃的线索。每行带 关闭 / 编辑 / 删除 操作。
- 已关闭 — 归档。关闭原因显示在每行下方。
每行操作:
| 操作 | 效果 |
|---|---|
| 关闭这条 | 等同于 agent 的 note_close —— 弹出关闭原因输入框;提交后该条移入「已关闭」。 |
| 编辑 | 行内文本编辑。状态和 id 保持不变。用于改错字 / 调清晰度。 |
| 永久删除 | 从存储里硬删除。需要二次确认。和「关闭」不同——删除会抹掉这条记录;关闭则保留作为档案。 |
agent 通过工具开关笔记时,面板实时刷新;你在面板上的操作也以同样的方式刷新 agent 下回合的 prompt。
常见问题
Q:我可以在面板里手动开笔记,给 agent 塞剧情提示吗? 不推荐。笔记是 agent 的工具。如果你想种下剧情方向,请用世界书条目或记忆图的常驻注入节点——这些才是为「用户侧创作」设计的入口。
Q:笔记是跨 chat 共享的吗? 否——每个 chat 都有自己的笔记存储。切换 chat 显示的是那个 chat 自己的未结清 / 已关闭列表。