Skip to content

开发者品味:从抽象到可沉淀

灵犀的记忆系统有一条硬约束:所有写入记忆库的内容,必须先经过 taste-recognition

本文讲清楚三件事:我们如何理解「品味」为什么要把品味拆成若干可操作类型、以及这套拆解如何让 AI 真正「按你的方式做事」。读者将理解「品味」的可操作定义、九类可沉淀内容的设计动机,以及 taste-recognition 在识别、升维与契约上的职责边界。


一、品味为何重要,又为何难以「直接记住」

在 AI 协作里,长期质量往往不取决于模型会不会写代码,而取决于它是否贯彻你的判断:在多种方案里选哪个、在什么场景下坚持什么原则、哪些事不要做。

这些判断很少以完整条文出现,更多散落在对话里——一句「别那样写」、一次方案选择、一次纠正。若不做提炼就塞进记忆,要么随会话消失,要么变成难以检索的噪音。

因此,我们不能把「品味」当成笼统标签,而要追问:究竟哪些种类的判断值得被记住、且能被稳定识别与复用? 答案不可能是一句「所有你觉得重要的东西」——那会带来识别不准、写入随意、检索失效。我们需要一套可枚举、可识别的沉淀范围,让「品味」从抽象感受变成可操作的记忆类型。下一节先给出统一的表达形态,再在第三节展开类型拆解。


二、品味的可操作定义:场景 + 原则候选 + 实际选择

在灵犀里,品味有一个统一的结构,无论具体属于哪一类内容:

  • 场景:在某个情境下(何时、何类)
  • 原则候选:一组可能适用甚至冲突的选项
  • 实际选择:用户采用的选择与权衡(可含理由或证据)

简写为:场景 + 原则候选 + 实际选择

这样设计的原因:

  • 场景决定「什么时候这条记忆该被加载」;没有场景,检索就难以命中。
  • 原则候选 + 实际选择表达「在哪些选项里选了啥」,而不是孤立的结论;既保留对比(未来可类比),又便于治理时判断 merge/replace。

因此,taste-recognition 的识别目标始终是:从用户输入中抽出「场景 + 原则候选 + 实际选择」,必要时补上证据(用户原文),再经模式靠拢与升维判定,产出唯一合法的扩展 payload。
但「可沉淀」涵盖的范围很宽。要提升识别准确率,并让不同内容在检索与治理中有据可依,就必须对沉淀范围做类型拆解。下一节展开这份拆解。


三、品味的具象化:我们沉淀哪几类内容

「品味」在日常语感里很宽:偏好、经验、知识、禁忌……若不做拆解,识别阶段就难以区分「这是一次性吐槽」和「这是一条可复用的原则」。

灵犀将可沉淀内容收敛为九类,每类有明确边界、对应的记忆形态(Note Kind)及典型用户信号。目的不是给用户增加分类负担,而是让系统(及负责识别的 Agent)知道:在听到什么时该往哪一类靠;在写入与检索时,不同类型可以有不同的策略

3.1 九类可沉淀内容

类型含义为何单独成类
偏好在特定情境下「要/不要」的稳定选择(风格、工具、表述、流程),可无深层理由。出现频率高、常无显式备选;需与「决策」区分,避免把随口偏好当成重大取舍。
决策经验在若干选项中做过取舍,且带有情境、理由、备选与结果(或预期)。有 alternatives 和理由,对未来类似决策参考价值大;升维时对 D1/D2 有单独指引。
领域知识某领域的术语、概念、约定、最佳实践、常见坑与排障路径(可验证、可复用)。偏事实与规则,强调可验证性(D3);检索时关键词路径权重要足。
产品/业务知识产品语义、业务规则、验收标准、边界条件。与需求、验收、边界讨论强绑定;常需与 task/review 的验收标准协同。
行业/组织经验行业惯例、合规约束、组织内约定、协作方式。常跨项目复用,适合写入 share;信号上多带「我们公司/团队」。
启发式「在 X 情况下通常 Y」「遇到 A 先看 B」等可复用规则,未必有严格证明。介于偏好与模式之间;可经 pattern-catalog 的「经验法则」做模式靠拢并提升 D2。
模式可命名的设计/工程/协作模式及其适用场景。已有 pattern-catalog;匹配后填写 patternHint,When to load 可沿用目录表述。
反例与约束明确「不要」「这里不用」「例外」的禁止与边界。用 Counter-signals 与 One-liner 表达禁止;检索时需高情境匹配,避免误用。
排障与根因某类问题的典型表现、排查顺序、根因与可复现步骤。须可复现、可迁移到同类问题;D4 稳定性高时更适合沉淀。

3.2 类型与实现的对应关系

九类在实现上不新增 payload 字段,而是通过 KindWhen to loadOne-linerContext/Decision 等约定区分。识别时按类型匹配用户信号(如「选了 X 因为」「不要…」「遇到 X 就先看 Y」),升维时按类型做评分指引(如决策经验看 alternatives,领域/排障侧重 D3/D4)。

于是,「品味」不再是一个模糊集合,而是可枚举的类型 + 统一结构(场景 + 原则候选 + 实际选择):既保留思想的开放性,又让识别与检索有据可依。有了类型拆解,taste-recognition 的管道就可以按类型做识别与升维——下一节说明这条管道如何工作。


四、taste-recognition 的管道:识别、升维与契约

taste-recognition 不写入记忆库,也不做冲突治理(merge/replace 由下游 lingxi-memory-write 负责)。它只做一件事:判断当前输入里有没有可沉淀的品味;若有,则产出符合契约的 payload;若无或判定不写,则静默

内部是一条固定管道,共四步:

1. 识别

依据用户消息(及必要时最近 1~2 轮上下文),按内容类型判断是否存在可沉淀信号。九类各有典型表述,例如:偏好(「喜欢/习惯/不要」)、决策经验(「选了 X 因为」)、行业/组织(「我们团队一律」)等。
无可沉淀 → 静默返回,不产出 payload,不调用 lingxi-memory-write

2. 模式靠拢

对可沉淀条目标抽 scene、principles、choice、evidence,再对照设计模式目录(策略模式、约定优于配置、分层架构、经验法则等)尝试映射。若匹配,则用模式名或「模式名 + 约束」改写 principles/choice,并填写 patternHintpatternConfidence;收敛到模式后更易被检索,且升维时 D2 至少为 1。

3. 价值判定(升维)

对内容做升维判定(D1 决策增益、D2 可复用/可触发、D3 可验证性、D4 稳定性),并按内容类型做评分指引(如决策经验有 alternatives 时 D1/D2 至少 1,领域/排障侧重 D3/D4)。
T ≤ 3 或触犯例外 → 不写该条:不产出该条 payload,不加入 payloads 数组。只有 T ≥ 4 且未触犯例外的条目才进入下一步。

4. 产出

对判定为写的条目标注 layer(L0/L1/L0+L1)、可选 l0OneLiner/l1OneLiner,产出符合扩展 payload 规范的 JSON;同一轮多条组成 payloads 数组。仅当 payloads 非空时,主 Agent 才会把 payloads 数组传给 lingxi-memory-write

小结识别(按类型)→ 模式靠拢 → 升维判定(按类型指引)→ 仅对「值得写」的产出 payload;不写则整条管道静默,记忆库不受影响。


五、多入口,同一契约

taste-recognition 并不只在 /remember 时工作;所有「可能写入记忆」的路径都会经过它:

触发点输入来源payload.source
/remember当前轮用户输入或用户指定的「要记住的内容」remember
自动会话提炼已完结会话的完整对话(新会话时若距上次提炼 >30 分钟自动入队,由后台子代理获取)heartbeat
/init 写入用户确认后的初始化草稿init
工作流品味嗅探task / plan / build / review 等环节经 ask-questions 收集到的选择(详见 品味嗅探choice

无论从哪个入口进入,都走同一套类型识别与升维逻辑,输出同一套扩展 payload 契约。这样记忆库里的每条笔记形态一致,治理(TopK、merge/replace/veto)和检索才能稳定生效。不同类型在检索阶段可做差异化策略(如偏好/反例求高精度,领域/排障求高召回);当前实现仍为统一双路径,策略约定见 记忆系统 与主仓 memory-retrieve 文档。


六、输出形态与下游边界

下游 lingxi-memory-write 只接受 payloads 数组(元素为扩展 payload);不产候选,也不接受原始对话。

单条 payload 的必填与可选字段见主仓 taste-recognition SKILL。与「品味」直接相关的主要字段如下:

字段含义
scene / principles / choice对应「场景 + 原则候选 + 实际选择」;principles 与 choice 共同表达「在哪些候选中选了啥」。
evidence可选的一句用户原文,用于可验证性与 L0 事实层。
layer由本 Skill 在升维判定中填写(L0 / L1 / L0+L1),表示该写成事实层、原则层还是双层。
l0OneLiner / l1OneLiner可选,供下游直接写入 note,便于检索与注入。

升维(写/不写、L0/L1)全部在 taste-recognition 内完成lingxi-memory-write 不执行识别、不执行评分或升维,只按 payload 映射、治理与门控后写入。

职责边界能不能进记忆库、以什么形态进,由 taste-recognition 决定;进到哪条 note、是否合并/替换、是否弹门控,由 lingxi-memory-write 决定;何时触发执行义务(pre/post/both)由 note 的 TriggerTiming 与检索时序(步骤 C / 步骤 D)决定。


七、小结:品味即可复用的判断结构

把「品味」具象化为九类可沉淀内容,不是为了限制你能记什么,而是为了达成三件事,与开篇呼应:

  1. 让隐性判断变成可检索的决策结构
    只沉淀「场景 + 原则候选 + 实际选择」形态的内容,并明确每一类对应的 Kind 与书写约定,记忆库才能在未来对话里被稳定命中、按你的方式复用。

  2. 在入口就做价值过滤
    通过类型识别与升维判定,低价值或一次性内容不会产出 payload,也就不会进入记忆库,从源头控制噪音。

  3. 为识别与检索提供同一套「地图」
    类型表既是识别时的信号指引,也是写入时 Kind/When to load 的约定,未来还可支撑按类型差异化的检索策略;同一套类型体系贯穿识别、写入与检索

因此,「品味识别」不是给对话打标签,而是为记忆系统提供唯一合法的输入形态,并只放行值得长期复用的判断与原则;「品味的类型拆解」则把这份输入形态从模糊的「重要的事」收敛为可枚举、可识别的九类,让心有灵犀真正可操作。


相关链接

MIT 许可证 · 版本与反馈见 GitHub