4.7 KB · updated 2026-07-31 · md

v0.27.0.zh.md

docs/i18n/release-notes/v0.27.0.zh.md

Tesserae v0.27.0 — 代理可以向图写入数据,并询问其授权的声明

<!-- translations:start -->

English · 한국어 · 日本語 · Русский · Español · Français · Deutsch

<!-- translations:end -->

Released 2026-07-26 · PyPI · GitHub release · pip install --upgrade tesserae==0.27.0

此前,代理只能向 Tesserae 提供文本,希望提取器能猜对类型。本版本开放了写入路径和验证路径:代理可以将发现记录为类型化结构,并询问图形是否实际授权某项声明。

代理写入类型化发现

graph_write 接收经过模式验证的类型化节点和边,带有强制性溯源。它会 拒绝 而不是强制转换 — 未类型化的边、受控词汇表外的类型、悬空端点和缺失溯源都会被拒绝;重复写入是幂等的。

代理写入的节点能够在完整重新编译、删除 graph.json--limit 和完整语料库删除后存活。在对抗性测试中,针对活动编译的 60 个并发写入通过了 1,483 次读取中零个撕裂读取

代理对图进行验证

verify_claim 回答图是否授权某个三元组。判决是图字节的纯函数:没有 LLM、没有嵌入、决策路径上没有模糊匹配。 幻觉验证器比没有验证器更糟。

它接收 (subject, predicate, object)没有自然语言参数 — 这是有意设计。七个判决,包括 PRESENT_UNEVIDENCED(边存在但没有文档证据支持)和 ABSENT("此图不声称该关系" — 从不表示反驳)。

有两个保证值得明确说明。supersedes 从不产生判决:它表示一个 节点 被替换,而不是说三元组为假。代理写入只能 削弱 溯源类,永远无法升级 — 代理声称的任何内容都不能呈现为文档支持。

另外

  • 语义实体解决。 嵌入聚类候选现在进入 现有 审查队列,而不是自动合并。精度优于召回:一次错误的合并会无声地把两个真实实体融合,所有后续遍历都会继承这个错误。
  • 问题形状路由 用于 ask。图形在多跳、时间和合成问题中表现出色,但在简单事实查找和成本方面表现不佳,所以为一切支付图形费用是浪费。路由决策在响应中可见,因此廉价答案是可追踪的;--route 可覆盖。
  • 时间事实的有效区间,源自文档时间戳 — 不是系统时间。
  • --llm-limit 在并发提取中保持。 自 v0.26.0 实现提取并行化后,旧的先检查后增量方式让每个工作进程在任何写入之前读取计数器,所以 --llm-limit 1 实际上为每个 工作进程 允许一次调用。作为支出上限,它现在会保守地拒绝超额请求。
  • 编译覆盖是不变量,不是声明。 四个沉默数据丢失路径被关闭,然后它们背后的机制 完全移除compile(loader=…) 没有生产调用者,维护这个仅供库使用的 API 是几次审查中所有严重缺陷的源头。其中一个就是 v0.26.0 自身引入的回归。
  • 新文档 用于写入、验证和路由表面。

未发货的内容及原因

对比通道 来挖掘 contradicts_claim / derived_from / criticizes 边被构建、测量并 切割。它从两个真实语料库的 80 个判断对中生成了 0 条边,全部 60 个判断理由都给出了相同的原因:这些配对几乎完全重复,没有矛盾可言。

原因是结构性的。候选生成在共享稀有令牌上受阻,这优化了 相似性 — 但矛盾和推导存在于 不同的 声明之间。一项重新设计离线评估了五个新生成器,不产生任何 LLM 成本:高产出生成器在手动检查上得分 0/10(其"冲突数字"是 arXiv ID 和发布日期),只有精确的那个在一个语料库上生成了六对候选,在另一个上则为零。

一个对照实验解决了这个问题 — 判断 15 个已存在的推理边返回了 7/15 的召回。判官工作正常;候选总是错误的。

REASONING_EDGE_RATIO lint 规则保留,并固定了诚实的基线:7.5% 的边进行推理,contradicts_claimderived_fromattributes_improvement_tocriticizes零个实例 处。

从 v0.26.0 升级

即插即用。如果您设置了 TESSERAE_CONTRAST_PASS,它不再执行任何操作 — 通道已消失。