mcpField
C
concept-synthesis

concept-synthesis

github.com/garrytan生产力31.3k207 次安装今天更新
代码仓库

关于 concept-synthesis

concept-synthesis 是供 Agent 使用的 Markdown 技能,可将概念页面集合整理为知识图谱式的思想地图。它涵盖去重、分级、聚类和可逆整理,并设有明确的质量检查。

主要功能

  1. 01去重并合并概念页面
  2. 02为概念评分并分级
  3. 03生成聚类概念地图
  4. 04按标准保留、合并或删除
  5. 05通过反向链接保留合并记录

适用场景

  1. 01整合摄取流程产生的重复想法
  2. 02按重复频率和重要性整理概念
  3. 03筛查低价值概念页面

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/garrytan/gbrain --skill concept-synthesis

安装后在 Claude Code 中输入/concept-synthesis确认已加载。

附带文件routing-eval.jsonl

详细介绍

concept-synthesis — 从原始存根到知识地图

约定: 回链执行与引文忠实度要求,参见 conventions/quality.md。

约定: 请参见 _brain-filing-rules.md——输出文件按主题归属规则存放于 concepts/ 下。

解决什么问题

许多摄取流水线(signal-detector、idea-ingest、voice-note-ingest)会为提到的每个想法创建一个概念页面。数月之后,这会产生:

  • 数千个存根页面,其中很多是重复或近似重复的
  • 时间线条目重复引用同一来源,分散在多个概念页面中
  • 没有综合分析——只有“用户在某日提到了 X”
  • 没有层级划分——所有内容扁平排列
  • 没有聚类——相关想法之间没有链接

本技能将这些原始素材转化为经过整理的知识地图。

架构

Phase 1: Dedup + merge (deterministic)
  N stubs → ~N/4 canonical concepts
    ├── Jaccard dedup (word-overlap on titles + first-paragraph)
    ├── Substring dedup ("founder mode" vs "founder mode vs manager mode")
    ├── Semantic dedup (LLM: "are these the same idea?")
    └── Merge timelines + aliases from duplicates into the canonical page

Phase 2: Score + tier (deterministic + heuristic)
  Each canonical concept → scored and tiered
    ├── Frequency: distinct sources referencing this concept
    ├── Timespan: first mention → last mention in days
    ├── Breadth: distinct months it appears in
    ├── Engagement: avg engagement on concept-bearing sources (if available)
    └── Tier: T1 Canon | T2 Developing | T3 Speculative | T4 Riff

Phase 3: Synthesize (LLM, T1+T2 only)
  T1 + T2 concepts → rich synthesis
    ├── Evolution narrative: how the idea sharpened over time
    ├── Best articulation: highest-engagement or most precise quote
    ├── Related concepts: cross-links to other concepts
    ├── Context: what was happening when this idea emerged / evolved
    └── Counter-positions: what this idea argues against

Phase 4: Cluster + map (LLM)
  All tiered concepts → intellectual clusters
    ├── Group related concepts into domains (auto-named via LLM)
    ├── Generate cluster summary pages
    ├── Build a master concepts/README.md with the full map
    └── Identify idea genealogies (concept A → evolved into concept B)

Phase 5: Curation cull (rubric + reversible merge)
  Each concept → hard verdict: ELITE | KEEP | MERGE/REWRITE | DELETE
    ├── 6-axis rubric (substance 2x, packaging 1x) + minimum substance gate
    ├── Grounding labels (VERIFIED / OPINION / NEEDS_SOURCE / UNSAFE)
    ├── Cluster budgets + reputational-risk gate
    ├── Merge-with-backlinks into cluster canonicals (fully reversible)
    └── merge_count / independent_sources → emergent tier promotion

调用方式

本技能是 Markdown 格式的 Agent 指令。Agent 使用 gbrain 现有操作加上大模型处理步骤:

# 1. List all concept pages
gbrain query "type:concept" --limit 10000 --json

# 2. Phase 1 dedup — agent applies Jaccard + substring locally,
#    then LLM passes to identify semantic duplicates.

# 3. Phase 2 tier — agent scores each canonical concept based on
#    frequency / timespan / breadth and writes tier into frontmatter.

# 4. Phase 3 synthesis — for each T1/T2, agent reads the timeline
#    + associated source pages and writes a synthesis section
#    onto the concept page via put_page.

# 5. Phase 4 clustering — agent reads the tiered concept list
#    and writes concepts/README.md with the full intellectual map.

输出:概念页面格式(综合之后)

T1 Canon——完整综合
---
title: "concept name"
type: concept
tier: 1
tier_label: "Canon"
mention_count: 18
distinct_months: 8
first_mention: "YYYY-MM-DD"
last_mention: "YYYY-MM-DD"
composite_score: 78.4
aliases: ["alternate phrasing 1", "alternate phrasing 2"]
related: ["sibling-concept-1", "sibling-concept-2"]
---

# concept name

**Tier 1 — Canon** | 18 mentions across 8 months

## Synthesis

[2-4 paragraph narrative tracing how the idea evolved, what it means in
the user's worldview, why it matters. Third-person analytical voice.]

## Best Articulation

> "Verbatim quote from a source — the most precise or highest-engagement
> expression of this idea." — [Date](source-url)

## Evolution

| Period | Expression | Signal |
|--------|-----------|--------|
| YYYY-MM | "First articulation" | First use — aspiration frame |
| YYYY-MM | "Sharpening" | Anti-pattern emerges |
| YYYY-MM | "Peak form" | Cleanest expression |

## Related Concepts
- [sibling concept](sibling-concept.md) — relationship description
- [sibling concept](sibling-concept.md) — relationship description

## Timeline
[Full timeline with deduped entries, quotes, source links]
T3 / T4——仅存根(无大模型综合)
---
title: "concept name"
type: concept
tier: 4
tier_label: "Riff"
mention_count: 1
---

# concept name

**Tier 4 — Riff** | 1 mention

> "Quote from the source" — [Date](URL)

输出:位于 concepts/README.md 的聚类地图

# Intellectual Universe

## Canon (T1) — N concepts
The permanent intellectual fingerprint. Ideas that recur across years.

### [Cluster Name]
- [concept-slug](concept-slug.md) — one-line characterization
- ...

### [Other Cluster]
- ...

## Developing (T2) — N concepts
Sharpening. Might become canon.

## Speculative (T3) — N concepts
Testing in public.

## Stats
- Total concepts: N
- T1 Canon: N
- T2 Developing: N
- T3 Speculative: N
- T4 Riff: N
- Earliest source: YYYY-MM-DD
- Latest source: YYYY-MM-DD

第 5 阶段:策展筛选——保留/删除/合并准则

第 1–4 阶段只向上合并,从不删除任何内容。数月之后,语料库中充斥着空洞的存根,稀释了真正能够持续增值的概念。第 5 阶段即筛选:对每个概念给出明确判定,可按周期或按需运行,且每一个破坏性步骤都可以撤销。

约定: 参见 conventions/test-before-bulk.md——先筛选 3–5 个聚类,阅读实际输出,然后才运行完整流程。

核心问题

如果用户两年后毫无准备地调出这个概念,它会让某个想法变得更锐利,还是会催生新的东西?还是说,用户会把它当作填充内容直接略过?

被略过 = 删除。

六个维度(每项 1–5 分)

三个实质维度权重为 2 倍,三个包装与契合维度权重为 1 倍。实质决定概念本身的价值,包装则为其赢得展示空间。

实质(2 倍权重):

维度135
洞见与张力——承载真实的智识负荷:一种机制、一个非显而易见的因果联系、一种反转、一种隐藏的代价陈词滥调(“创业很难”)熟悉的观点,但有具体角度一个可复用的命名机制
原创性与惊奇——新颖的框架,颠覆预期,而非任何人都能写出的老生常谈心灵鸡汤(“纪律胜过动力”)已知观点,经由用户的视角呈现一个感觉像是新创、便于迁移的框架
具体性与完整性——自成一体的主张、机制或区分,包含具体细节,而不是需要缺失上下文才能理解的片段含糊或被截断完整但泛泛具体、有证据支撑、完全独立成立

包装与契合(1 倍权重):

维度135
语言张力与机智——语言中的力量:一个尖锐的转折、一次凝练的压缩、一句有力的话平淡 / 教科书式清晰值得引用,有冲击力
代表性——听起来像用户本人,或与用户已记录的世界观相连任何人都可能写出与用户的视角相符明显带有用户的个人印记
有力且清晰——可直接使用的弹药(文章论点、演讲金句、会议框架),同时能传达用户究竟是怎样的人无用的琐碎知识稍加加工即可使用可直接投入使用,并让用户更被人理解
评分 → 结论

加权分 = (Insight + Originality + Specificity) × 2 + (Voltage + Representative + Powerful) × 1。满分 = 45;以百分比表示。

加权百分比结论同时必须满足的门槛
≥85%ELITE:保留并标记为可复用任一维度不低于 3;至少 2 个 5 分,且其中至少一个在 SUBSTANCE 维度
75-84%KEEP(Insight ≥4 或 Originality ≥4) 且 Specificity ≥3 且 (Representative ≥3 或 Powerful ≥4)
55-74%MERGE/REWRITE 或弱保留想法不错但正文有缺陷 → 并入所属聚类的标准条目,或改写为可独立成立的内容。仅当来源罕见或填补覆盖空白时才原样保留。否则 DELETE。
<55%DELETE—

最低实质门槛(优先于百分比): 若 Insight < 3 或 Originality < 3,则该概念永远不能为 KEEP 或 ELITE。文风无法弥补空洞的想法。

MERGE/REWRITE 是一个真正的第三种结论,而非回避。许多短条目里藏着有价值的想法,只是正文太弱——应将其并入聚类标准条目,或改写为可独立成立的内容。当 Insight ≥ 3,但 Specificity 或 Voltage 拉低了总分时,使用该结论。

硬性 DELETE 触发条件(满足任一即删除,无论得分如何)
  • 俗语式废话 — 虽然正确,但说的东西连贺卡都不如;陈词滥调,没有机制。
  • 残片 — 依赖无法获得的上下文;不能自成一体(除非来源罕见,即便如此也仅限于可理解且有用的情况)。
  • 提取错误 — 转录乱码、话说到一半被截断、语义不连贯,或把分块标题误当作概念。
  • 偏离使命的琐碎信息 — 准确,但与用户正在构建、相信或可能用到的任何东西都无关。
  • 聚类内重复 — 未通过下面的操作性重复测试。
  • 无依据的事实性断言 — 以事实形式陈述的事实性、历史性或因果性断言,且错误或无来源。修饰或删除。
依据标签(仅适用于事实类概念)— 贴标签,而非一味扣分

任何事实性、历史性、科学性或因果性断言都需要进行真实性检查,并添加 grounding: 前言标签:

  • VERIFIED — 准确且有来源 → 可保留并投入使用。
  • OPINION — 明确表述为用户自己的观点或论点 → 可保留。
  • NEEDS_SOURCE — 合理但未注明来源、却以事实形式陈述 → 仅当改写为主张或观点时才保留。
  • UNSAFE — 错误,或语气尖锐但不实 → DELETE 或修饰。

不要存储自信的错误陈述——一旦投入使用,它们会让用户更不被理解,而非更被理解。引用遵循 conventions/quality.md。

声誉风险门槛

一个概念如果语气尖锐,但可能让用户显得残酷、轻视他人或持有其并不认同的立场,就是负债而非弹药。即便在语气强度(voltage)上得分很高,也应标记为改写或删除。Powerful 指的是使用时不会招致反噬。

聚类预算("规模化后的陈词滥调"问题)

当许多概念来自同一来源或共享同一想法时,应评估整个集合,而非孤立地逐条评估。每个语义聚类的默认预算为:

  • 1 个标准概念(对机制最精准的表述)— 必备。
  • 再加 1-2 个,且仅当每个都增加了独特的机制、具体示例、不同的情感基调、新的受众,或来自用户的独特措辞。
  • 超过 3 个,仅当与某个活跃项目相关。

聚类中的其余内容应为 MERGE(优先选择,参见下文)或 DELETE。同一主题下四十条高度相似的短条目 → 一个机制性标准概念,或许加上一句出色的话。其余的并入标准概念。

操作性重复测试

不要凭感觉判断"重叠百分比"。将候选概念与其聚类中最佳的现有概念进行比较,并提问:它是否增加了新的机制、示例、情感基调、受众,或用户特定的措辞? 如果没有 → MERGE(并入其中,保留其中的信号)或 DELETE。如果有 → 它所增加的内容,正是保留它的理由。

硬性保留覆盖(可挽救低分内容,但有下限)

每条覆盖规则仅在概念可理解且可能有用时适用:

  • 独特语态:捕捉只有用户本人才会说出的内容。语态优先于文字润色,但不能凌驾于连贯性之上。
  • 对进行中的项目负有关键作用:直接支撑某个已知论点或正在进行的工作。
  • 稀有出处:真实的引述或时刻,无法重新生成(如一次会议、用户自己的笔记),且包含可追溯的含义。仅有“关于 AI 的那个观点很棒”这类无实质内容的表述不符合条件。
合并并保留反向链接(可逆,不销毁任何内容)

对于冗余簇,清理策略是反转的:不删除尾部内容,而是将其合并到规范主页面中,并由合并台账充当显著性指标。一个概念被独立重新推导 N 次,并非冗余,而是语料库在 N 种不同语境中标记出“此事重要”。删除重复项会丢失这一信号;合并则会保留它。

每次合并都会为规范页面增加三个 frontmatter 字段和一个正文章节:

  • merge_count(整数):被吸收页面的原始数量,包括来自同一来源的重复提取。
  • independent_sources(整数):该簇所涉及的不同来源数量。这是真正的显著性指标——当某一来源被反复重新提取时,原始 merge_count 会虚高;independent_sources 可以修正这一问题。
  • backlinks(由 {source, angle, date} 组成的列表):每个被吸收页面的来源及其带来的具体角度。所有视角均得以保留,只是不再作为独立的顶层页面存在。
  • ## Facets(正文):顶部为规范机制说明,之后每个被吸收页面对应一行简短的“如见于 {source}:{angle}”。该概念因此变为多角度视图,而非冗余内容。

合并质量门槛(拒绝不完整的合并): 只有在满足以下两点时才会写入合并:(a) ## Facets 章节中,每个被吸收页面对应一行(包含来源和具体角度);(b) 每条 backlinks 条目都包含来源、角度和日期。若 Facets 为空或存在悬空条目,则拒绝该合并,并将该簇标记为待人工审核。不允许半成品合并。

区分性防护是硬性否决,而非建议。 只有当 LLM 评审明确确认两个概念陈述的是相同机制时,看似重复的两个概念才会被合并。默认不合并;评审必须主动证明合并的必要性,其是/否判断及理由需按簇记录日志。不同的机制、示例或语体应归入各自独立的规范页面。相似度只是提出建议,最终由判断决定。

寻找合并候选项——采用定性区间,而非数值截断。 不要硬编码相似度阈值:gbrain search 返回的是混合(RRF 融合)得分,而非原始余弦相似度,任何固定数值都会随语料库和搜索模式的变化而失效。应采用定性方式:以每个概念的标题和第一段进行搜索;当两个概念在结果列表顶部互相出现,且与其余结果之间存在明显的得分差距时,将其视为合并候选。共享词汇但机制不同的概念通常位于列表中段——这正是区分性防护发挥作用的区间。在批量处理前,应根据自身语料库的分布进行校准。

合并机制(渐进式,完全可逆)
# 0. Inventory the stratum being culled
gbrain query "type:concept" --limit 10000 --json

# 1. Probe for merge candidates (mutual top-of-list hits)
gbrain search "concept title + first paragraph" --limit 10

# 2. Archive the absorbed page verbatim under _merged/ BEFORE touching it
#    (add merged_into: <canonical-slug> to its frontmatter). The _merged/
#    tree is the undo button.
gbrain get concepts/absorbed-stub
gbrain put concepts/_merged/cluster-name/absorbed-stub

# 3. Grow the canonical head: merge_count, independent_sources,
#    backlinks, and the ## Facets section
gbrain put concepts/canonical-slug

# 4. Soft-delete the absorbed original (restorable until purge)
gbrain delete concepts/absorbed-stub

# Undo paths: gbrain restore <slug> (within the purge window),
# the _merged/ copy (survives purge), and per-page version history:
gbrain history concepts/canonical-slug
gbrain revert concepts/canonical-slug <version_id>

逐步提交。清理过程中不进行任何硬删除;_merged/ 目录、软删除以及页面历史共同确保每一步都可逆。

合并台账 → 涌现式层级晋升

将 independent_sources 纳入第 2 阶段的频次维度。当某个规范概念的 independent_sources 跨过语料库直方图中的自然断层时(观察分布本身,不要硬编码整数),该概念即成为层级晋升候选(T4→T3、T3→T2、T2→T1 审核)。不设规模上限:持续吸收合并的概念理应变得更丰满。层级边界由此变为涌现式,而非人工划定——由语料库告诉你某个反复出现的想法已经赢得了它的层级。

质量门槛

去重质量
  • 任意两个概念页面都不应是“同一个想法换了说法”。
  • 在 frontmatter 中保留别名,便于搜索。
  • 运行 gbrain query "type:concept",抽查数量是否有所减少。
分级质量
  • T1 应让人感觉“没错,这确实是我反复出现的框架之一”——可识别、反复出现、足够清晰。
  • T2 应让人感觉“我正在研究它,它越来越清楚了”。
  • 不应存在跨度不足 4 个月或提及次数少于 6 次的 T1 概念。
  • 不应存在跨度超过 3 个月的 T4 概念。
综合质量
  • 记录演变过程,而不只是重复。
  • 使用逐字引语,而非转述。
  • 链接到相关概念(使用 Markdown 链接,而非 wiki 链接)。
  • 不得虚构来源或日期。
精简质量
  • 概念若承载着该簇中关于某一机制的唯一表述,则不得删除——每次精简都必须保留规范页面。
  • 每次合并都必须通过合并质量门槛:填充 ## Facets 并完整记录 backlinks 条目。不允许半完成的合并。
  • 每个簇的区分性守卫判定都需记录在案;在写入任何合并之前,判定者必须明确给出“是”。
  • 标记为 UNSAFE 的主张不得以事实形式保留。
  • 每个被吸收的页面在其原件被软删除之前,都必须先有一份逐字副本存放于 _merged/。

Cron 集成

这是一项繁重的工作。应按节奏运行,而不是对每个信号都运行:

  • 大批量摄取完成之后(信号检测器突发、归档爬虫运行等)。
  • 每周定时运行,对新晋升的 T1/T2 概念进行增量综合。
  • 当语料发生显著变化时,手动触发完整的重新综合。
  • 第 5 阶段的精简运行频率低于综合——每月一次,或在大批量摄取使 stub 数量明显膨胀之后运行。始终先进行“先测试再批量”。

失败处理

对于任何 gbrain 错误 code、退出码、[AGENT] 块或通知块,均须遵循 agent 操作协议。本技能的特定要求如下:

  • 若 LLM 判定或综合运行因成本上限而停止(cost_cap_exceeded,或退出码 11 并附带 resume_command):汇报已完成的部分;仅在用户同意的预算范围内,使用打印出的命令恢复运行。
  • 在用户设定上限的情况下出现 no_pricing:告知用户,查询该模型的每 token 单价;在用户同意后,请大模型宿主机的运维人员使用 gbrain pricing set <model> --input <usd-per-1M> --output <usd-per-1M> 进行注册。
  • 重写概念页面时出现 revision_conflict:重新读取并合并;绝不覆盖一个你未曾重新读取过的页面。

反模式

  • ❌ 对 T3/T4 运行综合——在可能永远不会清晰化的想法上浪费 API 预算。
  • ❌ 虚构引语或日期。时间线必须能够与现有 brain 页面相互核实。
  • ❌ 使用笼统的簇名称(如“各种主题”)。如果无法为簇命名,说明该簇并不真实。
  • ❌ 在没有新源材料的情况下重新综合已综合过的 T1。应尊重幂等性。
  • ❌ 为合并候选硬编码数值相似度阈值。搜索分数与语料和模式相关;应使用定性区间,并交由区分性守卫决定。
  • ❌ 仅凭相似度进行合并。共享词汇不等于共享机制;区分性守卫是硬性否决,而非建议性意见。
  • ❌ 删除冗余概念而非将其合并上升。删除会丢失驱动层级晋升的频次信号。
  • ❌ 因措辞优美而保留空洞的概念。最低实质性门槛正是为此而设。
  • ❌ 精简时硬删除。应归档到 _merged/ 并软删除;保持每一条撤销路径畅通。
  • ❌ 未先进行 3-5 个簇的抽查就批量精简(参见 conventions/test-before-bulk.md)。

相关技能

  • skills/signal-detector/SKILL.md — 从文本渠道创建原始概念 stub
  • skills/voice-note-ingest/SKILL.md — 对音频渠道执行相同操作
  • skills/idea-ingest/SKILL.md — 对链接/文章执行相同操作

契约

本技能保证:

  • 路由与 frontmatter 中的标准触发词一致。
  • 输出写入 writes_to: 中列出的目录(如适用)。
  • 所引用的约定(quality.md、brain-first.md、_brain-filing-rules.md)均得到遵循。
  • 隐私契约得到保持:不包含真实姓名、不包含分叉特定的文件系统路径字面量,也不包含上游分叉引用。

完整的行为契约记录在上方正文各节中;本节存在的目的是供一致性测试使用。

输出格式

本技能的输出结构在正文各节中有内联说明(参见“Output”“Brain page format”或同类章节)。此处的字面章节标题存在的目的是供一致性测试(test/skills-conformance.test.ts)使用。

评论

支持 Markdown