Orisumi

Evidence

一次处理实际用到的输入,以及怎样追溯

一份观测依据已保存的数据形成时,用 InputSet 记下实际用到的输入,之后才能沿着它追溯。一份观测的三个问题分别在三个位置回答:

问题回答的位置
谁负责Observation 的 observerVersionId
陈述了什么,确认或否定了什么观测内容
用了哪些已保存的版本inputSetVersionId 指向的 InputSet

输入

EVIDENCE-1 列出输入

执行方:写入方

依据已保存的数据形成观测时,必须用输入集列出实际用到的版本。聚合、推断,以及用户读完日志后的陈述,都需要输入集;直接采集和亲身陈述没有输入,inputSetVersionId 为 null。Observer 如实声明是否依据了已保存的数据。

EVIDENCE-2 读了就列

执行方:写入方

值进入了处理的版本,都列为成员。例如 A 引用 B:处理只读了 A,成员只有 A;处理也读了 B,A 和 B 都是成员。Schema 版本的说明进入了处理的上下文时,这个 Schema 版本也是输入。

EVIDENCE-3 不事后推算

执行方:写入方、后端

输入由 Observer 在处理时确定,不得事后由查询结果、事实时间重叠或 recordedAt 推算。理由见 ADR · Observer 与输入集。

EVIDENCE-4 输入只是输入

执行方:读取方

输入集只表示这些版本提供给了这次处理。观测确认或否定了什么,写在观测内容中,见 OBSERVER-7。

EVIDENCE-5 只列直接输入

执行方:写入方

输入集只列这次处理的直接输入。处理用到了上一层的观测 J,又没有重新读取 J 的输入时,只列出 J 的版本;J 的输入由 J 自己的输入集列出。

EVIDENCE-6 实际的组合

执行方:写入方

输入集记下实际用到的版本组合。处理过程中在不同时刻读到了同一实体的不同版本时,列出读到的每个版本。需要复现处理时,模型、提示词、参数或发送的文本由业务内容表达。

追溯

EVIDENCE-7 逐层追溯

执行方:读取方

读取方沿输入集逐层追溯:成员本身也有输入集时,继续向下。引用都指向已保存的版本,所以追溯不会成环。成员被删除时,见 HISTORY-8。

EVIDENCE-8 观测不随输入变

执行方:后端

已有的观测始终引用当时的输入。输入形成新版本或被删除后,已有的观测继续引用原来的版本;是否重新处理,由 Observer 或业务规则决定。

贡献者

页面历史