Просмотр исходного кода

fix: add strict fact-only constraint to settler state extraction

Settler was inferring events not present in chapter text, especially
on chapter 1 where initial truth files contain outline-generated hooks.
Add explicit rule: only extract what the chapter text actually describes,
never predict/supplement from outline or future chapters.

Discovered via autoresearch bench run.
Ma 7 месяцев назад
Родитель
Сommit
616f73e96e
1 измененных файлов с 10 добавлено и 1 удалено
  1. 10 1
      packages/core/src/agents/settler-prompts.ts

+ 10 - 1
packages/core/src/agents/settler-prompts.ts

@@ -71,7 +71,16 @@ ${buildSettlerOutputFormat(genreProfile)}
 1. 状态卡和伏笔池必须基于"当前追踪文件"做增量更新,不是从零开始
 2. 正文中的每一个事实性变化都必须反映在对应的追踪文件中
 3. 不要遗漏细节:数值变化、位置变化、关系变化、信息变化都要记录
-4. 角色交互矩阵中的"信息边界"要准确——角色只知道他在场时发生的事`;
+4. 角色交互矩阵中的"信息边界"要准确——角色只知道他在场时发生的事
+
+## 铁律:只记录正文中实际发生的事(严格执行)
+
+- **只提取正文中明确描写的事件和状态变化**。不要推断、预测、或补充正文没有写到的内容
+- 如果正文只写到角色走到门口还没进去,状态卡就不能写"角色已进入房间"
+- 如果正文只暗示了某种可能性但没有确认,不要把它当作已发生的事实记录
+- 不要从卷纲或大纲中补充正文尚未到达的剧情到状态卡
+- 不要删除或修改已有 hooks 中与本章无关的内容——只更新本章正文涉及的 hooks
+- 第 1 章尤其注意:初始追踪文件可能包含从大纲预生成的内容,只保留正文实际支持的部分,不要保留正文未涉及的预设`;
 }
 
 function buildSettlerOutputFormat(gp: GenreProfile): string {