Vercy · 附加式配置

给你已经在用的记忆,加 11 个字段。

这份配置不替换任何记忆存储。它指出基准测试发现真正承重的那些字段,并说明每个字段在人们已经在跑的存储中落在何处。

为什么是配置,而不是格式

协作记忆基准原本要检验:治理信息该放在记忆记录内部,还是放在旁边的一层。结果没有区别——放在记录内部得 95.2%,同一张图配单独治理目录得 93.5%,用散文承载同样事实的团队 wiki 得 96.8%,两两比较全部 p = 1.00。这些信息放在哪里并不重要。

真正重要的是它们存不存在。给双时态图加上治理信息,把它从 77.4% 提到 93.5%,p = 0.039。因此值得发布的不是又一个存储、又一种序列化,而是这套字段本身,并且表述成可以加到图、向量记忆、目录、wiki 或数据表上,而不必搬动任何数据。

字段

每个字段都列出它承载的能力,以及有它与没它之间的实测差异,数值取自测得该结果的那项研究已发布的结果文件。PDB 是个人维度基准,CMB 是协作记忆基准。

字段级别要求含义实测:无 → 有
record_id1MUST记录自身的稳定标识符,短到可以手写。0.0% → 100.0% (CMB)
valid_from1MUST该陈述开始为真的日期。不是它被记录下来的日期。0.0% → 100.0% (PDB)
valid_to1MUST该陈述不再为真的日期。该字段必须存在;值为 null 表示至今仍然成立。20.0% → 100.0% (PDB)
source2MUST该陈述的出处,以可追查的标识符表示。33.3% → 100.0% (PDB)
concept_owner2MUST对这个概念含义负责的唯一一方。每个概念只有一个。80.0% → 100.0% (CMB)
owner_role2SHOULD该方内部的责任角色,使请求能落到具体的人。68.8% → 100.0% (CMB)
conflict_policy2MUST一条规则,每个存储声明一次,用于在覆盖同一日期且相互矛盾的记录之间做选择。33.3% → 100.0% (CMB)
applies_to2任何陈述规则的记录均为 MUST该规则所管辖的问题类别。没有写明适用范围的规则,会悄悄管到作者本意之外。58.3% → 70.8% (SGB)
does_not_apply_to2任何陈述规则的记录均为 MUST该规则明确不管辖的问题类别。单独写出,因为读者无法从肯定推出否定。79.2% → 83.3% (SGB)
release_to3只要有受限记录即为 MUST获准读取本记录的各方。该字段缺失并不等于许可。59.1% → 100.0%; 严重越界 2 → 0 (CMB)
supersedes3SHOULD本记录所替代的那条记录的标识符,使更新永远不必通过改写历史来表达。0.0% → 66.7% (PDB)
expected_concepts-实验性存储本应包含的概念清单,使完全缺失的概念也能被发现。尚未验证。33.3% → 100.0% (R5)

三个级别

级别按各自解锁的能力排序,因此一个存储可以分阶段采用本配置,并清楚每一步换来了什么。

级别 1 —— 时间与标识
能回答关于任意日期的问题,并让一次更新说出自己替代了什么。
级别 2 —— 来源与权责
以规则而非猜测解决分歧,并把变更请求送到负责的一方。
级别 3 —— 披露
判断什么可以跨越边界,既不泄露也不过度拒绝。

每个字段落在哪里

五种目标形态加上原生形态。琥珀色的格子表示该目标没有现成位置容纳这个字段,格中说明如何添加。其余的在那里本来就有,只是名字不同。

字段双时态图向量记忆数据目录wiki 或文档关系表Vercy 维度
record_idedge uuidmemory idterm or asset identifiera short tag written in the line, for example [D-102]primary keyid
valid_fromvalid_atadd: metadata field, distinct from the created-at timestampadd: usually only the asset has versions, the statement does notstated in the sentencedate columnvalid_from
valid_toinvalid_atadd: metadata fieldadd: samestated in the sentencenullable date columnvalid_to
sourcethe episodic node the edge was extracted frommetadata fieldlineage link to the source assetnamed in the sentenceforeign key to a source tablesource
concept_owneradd: OWNED_BY edge from the entity to a party nodeadd: metadata fieldowner field, nativea page listing who owns whatforeign key to a party tableconcept_owner
owner_roleadd: role attribute on that OWNED_BY edgeadd: metadata fieldsteward or accountable role, nativethe role named on that pagecolumn on the party tableowner_role
conflict_policyadd: one graph-level property, or a single policy nodeadd: one pinned memory, or application configurationadd: a policy document linked from the glossarya page stating how disagreements are settledone row in a policy table, referenced by the storeconflict_policy
applies_toadd: attribute on the rule edge, or SCOPES edges to entity classesadd: metadata list on the memory holding the rulepolicy scope, native in most cataloguesthe sentence says which questions the rule governsjoin table of rule to question classapplies_to
does_not_apply_toadd: EXCLUDES edges from the rule edgeadd: metadata list, kept separate from applies_toadd: catalogues usually state inclusion onlya second sentence saying what it does not governthe same join table with an excluded flagdoes_not_apply_to
release_toadd: VISIBLE_TO edges, or a list attribute on the fact edgeadd: metadata list, applied as a retrieval filterclassification and purpose policies, nativestated in the line that holds the restricted statementjoin table of record to partyrelease_to
supersedesadd: SUPERSEDES edge between fact edgesadd: metadata field holding the prior memory idterm version history, nativethe tag of the superseded line, named in the new lineself-referencing foreign keysupersedes
expected_conceptsadd: entity nodes marked as expected but unpopulatedadd: a separate register, not a memoryadd: a list of required termsa checklist pagea table of required conceptsnot yet in the specification

格子中使用各目标系统自己的词汇,在所有语言版本中一律保留英文,以便本表、profile.yaml 与 mappings.csv 表述一致。wiki 那一列不是退而求其次:在协作记忆基准中,用普通句子承载这些字段的 wiki 得到 96.8%,是所有受测表示中最高的。

实施时最常弄错的四点

这一切建立在什么之上

三项基准、1,926 次模型调用、一个模型家族、工具全程关闭,每项研究一个人工撰写的世界。上述效应量来自对上下文中记录的推理;检索、排序与数据接入都不在范围内,而这正是若干记忆产品视为自身主要贡献的部分。expected_concepts 字段是从一处实测盲区推出的假设,不是结果:还没有任何研究检验过它。每个数字都能回溯到已公开的原始运行。

如何记录一次变更

两项基准在每个场景中都给出了正确的新值,却有三分之一到五分之一的场景把边界日期写错了。解决办法不是更好的提示词,而是更窄的操作:写一条新记录,给它新陈述开始生效的日期,指明它所替代的记录,并且不去动被替代的那条记录。

superseded record, left untouched:
{
  "record_id": "D-802",
  "concept": "data_retention",
  "value": "customer records are kept for five years after the contract ends",
  "valid_from": "2026-06-01",
  "valid_to": null,
  "source": "LEG-POL-04",
  "concept_owner": "legal",
  "supersedes": "D-801"
}

new record:
{
  "record_id": "D-806",
  "concept": "data_retention",
  "value": "customer records are kept for three years after the contract ends",
  "valid_from": "2026-10-01",
  "valid_to": null,
  "source": "LEG-POL-06",
  "concept_owner": "legal",
  "supersedes": "D-802"
}

被替代区间的结束由读取时推导,而不是写下来:某条记录在某个日期生效,当它覆盖该日期,且没有任何替代它的记录在该日期或更早开始。修改旧记录,或者手工计算它的结束日期,正是实测错误发生的地方。

唯一一个原本只是假设的字段,以及对它的检验

expected_concepts 当初是作为一项由实测盲区导出的提议发布的:在语义落地基准中,完全不在目录里的定义,是散文与结构都从未发现过的唯一一处缺口。一份写明存储本应包含哪些概念的登记表,能把这种缺席变成可以指认的东西。发布时它尚未被检验。现在检验过了:在同一份有缺陷的目录上,带与不带登记表各跑一遍,共 60 次调用。

指标没有登记表有登记表
发现完全缺席的那个概念33.3%100.0%
发现六处预设缺口中的任意一处83.3%100.0%
在四个没有缺口的问题上的误报8.3%8.3%

这个字段在它被设计要解决的那个情形上确实有效,而且关键对照也守住了:如果登记表让智能体开始凭空捏造缺口,那就比没有它更糟,而误报率没有变化。但六处缺口中只有两处发生变化,因此对该族的精确符号检验为 p = 0.5。一次小规模实验不足以形成要求,所以该字段仍标为实验性。原始运行与配置一并公开。

用更少的上下文承载同样的字段

在后两项研究中,维度都是上下文最长的一种,而准确率只是持平,因此这份配置不应该为了表达同样的内容而付出两倍的上下文。固定字段顺序、每条记录一行,可以去掉其中大部分开销。下面的数字是在构建时对已发布的参考存储实测得到的,而不是断言。

序列化方式字符数节省
每行一个 JSON 对象6,064-
紧凑行格式1,86069.3%
# record_id|valid_from|valid_to|source|concept_owner|owner_role|supersedes|release_to|value
D-101|2025-01-01|2026-03-31|FIN-POL-04|finance|Head of Finance

节省的另一半来自挑选。在个人维度基准的组装赛道中,被要求挑出问题所需记录的智能体召回了全部所需记录,从 41 条中平均只选 1.2 条,并把提供的上下文从 10,332 个字符压到 473 个,准确率没有可测量的变化,p = 0.34。压缩是实测的;准确率提升不是,也不应当被主张。

按级别检查一个存储

检查器接受 JSON 数组或每行一条记录,以及一份把你自己的字段名映射到配置角色的对照表。它会报告该存储满足的最高级别,并指出每项要求下未通过的记录。低于级别 1 时以非零码退出,因此可以接入构建流程。

python check.py store.jsonl
python check.py store.jsonl --map record_id=uuid,valid_from=valid_at,valid_to=invalid_at,source=episode

旁边还发布了两份样例。参考存储达到级别 3。同样的记录以双时态事实边的形式呈现时只达到级别 1,并且报出的正是协作记忆基准发现缺失的东西:没有概念归属方,也没有冲突政策。

profile.yamlmappings.csvcheck.py参考存储登记表实验背后的研究规范