TGViewer
开发者工具箱|编程·开发工具·资源 开发者工具箱|编程·开发工具·资源 @devtoolboxhub · 780 subscribers
Post #1603 4
时间感知知识图谱:一次被评测拦下的上线

我们差点上线一个时间感知知识图谱,最终被一条评测拦下。这条评测只断言一件事:在时间 T,智能体应当报告 T 时刻真实存在的状态。结果它失败了 41%——图谱里存的事实没错,只是把错误时间窗口的事实交给了智能体。

时间知识图谱(TKG)的思路本身很好:把三元组变成四元组,给每条事实加上 valid_from 和 valid_to,让智能体记忆从扁平向量变成带时间结构化的记录。理论上,陈旧事实不再是靠相似度猜测,而是变成可过滤的条件。问题出在检索层:生成的查询按 valid_from 倒序取最新一条,从不按参考时间过滤。智能体在推理 03:00 的故障时,05:00 记录的"online"状态会被当作答案返回。事实是真的,时间戳是真的,只是来自错误的窗口。

更隐蔽的是,静态评测全部通过。RAGAS 式忠实度检查只验证答案是否基于检索上下文——它确实基于了,只是基于了错误的时间切片。图谱没错、schema 没错、数据没错,错在检索查询丢了时间过滤,而评测套件里没有任何测试能发现这一点。
修复检索只加了一个 WHERE 子句:先过滤 valid_from <= T 且 valid_to > T 的边,再排序取第一条。真正重要的修复是让参考时间成为 query_state 的必填参数,没有它直接报错;同时把时间窗口和参考时间一起传给模型,让它有机会发现不匹配。


这次没上线图谱,上线的是那条评测。图谱从来不是风险点,风险在于差点信任一个从未被问对问题的系统。给智能体做时间记忆,先写时间回归测试,再写图谱本身。
@DevToolboxHub
More from @devtoolboxhub
  1. Sep 26, 2026PostgreSQL 复制槽上限参数 max_replication_slots 解析 max_replication_slots 决定共享内存中复制槽数组的长度,仅此而已。它不决…
  2. Sep 26, 2026五仓库架构踩坑:Gitlink 与双 CI Flude 团队复盘了多仓库架构的实践代价。项目从第一分钟起就选择拆分成独立仓库,Pipeline、engine、design-docs…
  3. Sep 26, 2026Xeno Core:TypeScript 后端架构框架 Node.js 复杂系统的架构选型往往决定代码的长期命运。开发者常在两条路之间纠结:要么依赖重度使用实验性装饰器和反射(如…
  4. Sep 25, 2026用 SLO 给 AI Agent 的行为定个预算 Grafana Labs 提出把可靠性工程里的错误预算(error budget)思路用到 AI Agent 上。延迟、token…
  5. Sep 25, 2026Xcode 27.2 改用 JSON 项目格式 Xcode 27.2 用基于 JSON 的 project.xcproj 取代了沿用多年的 project.pbxproj。新建项目…
  6. Sep 25, 2026PostgreSQL 的 max_prepared_transactions 该不该开 prepared transaction 是脱离会话独立存在的两阶段提交事务。执行 PREP…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →