关于 semantic-spacetime
semantic-spacetime 是用于建模和分析 Semantic Spacetime(SST)的技能,面向研究 Agent 间共享语义、意图变化与因果关系的用户。它附带只读 CLI,可校验模型、映射图结构、测量语义距离并比较快照以识别漂移。
主要功能
- 01校验 SST 模型
- 02绘制 γ(3,4) 语义图
- 03计算节点间加权距离
- 04追踪语义轨迹与路径
- 05比较快照并检测漂移
适用场景
- 01绘制多个 Agent 的共享语义
- 02追踪不同时间点的意图变化
- 03定位语义漂移或信息断点
- 04分析事件顺序与因果关系
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ magnus919/ agent-skills --skill semantic-spacetime安装后在 Claude Code 中输入/semantic-spacetime确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEREADME.mdevals/evals.jsonreferences/agent-coordination.mdapplications-infrastructure.mdbibliography.mddiagnosis-and-debugging.mdfoundations.mdglossary.mdpatterns.mdscripts/semantic-spacetime.pytemplates/sst-analysis.md.tmplsst-model.yaml.tmpltests/test_semantic_spacetime.pytrigger-probes.mdtests/fixtures/invalid-model.yamlsample-model.yaml详细介绍
语义时空
语义时空(SST)是 Mark Burgess 提出的离散图论模型,用于描述意义随时间的变化。语义元素是一个自主 Agent 加上其标量承诺;语义时空则是这类元素的集合,其中状态、承诺或配置的局部变化构成一个局部时间单位。时间是固有时间——不存在全局时钟(Burgess 将这种优先序观点归功于 Lamport)。因果关系是协作式的:每条邻接关系的两端都需要一个提供(+)承诺和一个接受(−)承诺,因此空间由相互协作的节点和边构成。2025 年的 γ(3,4) 形式体系为图定义了类型:三种节点元类型(事件、事物、概念)由四种链接类型连接(0 = NEAR,±1 = LEADS TO,±2 = CONTAINS,±3 = EXPRESSES)。部分图中的吸收态会泄漏信息,而意向性则从边界进入。SST 建立在承诺理论之上——如需了解承诺相关词汇,请加载 promise-theory,而不要在此重新推导。本技能只是一个精简路由:只有当 按需加载 中的某一行与你的任务匹配时,才加载详细内容。
适用场景
- 需要设计或分析 Agent 之间共享的语义基础时 — 模型化此系统中“意义”的含义(一个概念、术语或承诺对谁意味着什么),并以共享语义基础的 γ(3,4) 映射作为产物。
- 需要模型化随时间变化的意图或意义时 — 描述 Agent 之间、Agent 与人类之间,或 Agent 与其指令之间的轨迹、漂移和理解趋同;产物是记录了观察结果的语义轨迹。
- 需要设计收敛且可自我修复的协作机制时 — 持续将状态与期望意义进行比较并向其修复的循环;将该循环模型化为语义元素,其局部变化就是时间。
- 需要诊断语义漂移、分歧或死胡同时 — 识别吸收态、意义鸿沟和无法收敛的 Agent;产物是指出泄漏边界的漂移诊断结果。
- 需要将承诺映射到时空中时 — 描述轨迹、承诺传播和 Agent 之间的因果关系;将每个承诺模型化为一条边,并追踪意图如何在图中传播。
- 需要分析 Agent 的时间盲区时 — 分析状态跟踪、事件排序,以及 Agent 无法判断事件先后顺序的因果关系故障;用固有时间而非共享时钟来模型化事件顺序。
不适用场景
- 物理学或相对论 — SST 不是量子引力或时空物理理论;它不假设流形结构,也不涉及动量。不要将其用于物理问题;此类问题应交由物理领域处理。
- 不涉及时间因果结构的纯向量嵌入、RAG 或语义搜索 — 静态嵌入索引没有固有时间、没有因果关系,也没有可供模型化的轨迹;应改用嵌入或语义搜索工具自身的技能。
- 可强制执行的集中式控制 — 如果你可以直接下达命令并验证是否合规,那么 SST 的协作承诺机制只是额外开销,并非洞见(这与承诺理论划定的边界相同);如需讨论控制与协作的区别,请参阅 promise-theory。
- 简单的单 Agent 提示 — 单个模型和单个提示,没有委派或需要模型化的意义空间,无需使用时空术语。
- 工具手册或框架文档 — 使用工具自身的技能进行路由,总比用 SST 来描述工具更合适。
按需加载
| 需求 | 加载内容 |
|---|---|
| 重新推导形式模型:语义元素、语义时空、固有时间、γ(3,4) 类型规则、学习/知识形式体系、承诺基底 | references/foundations.md |
| 在设计收敛系统前,了解 CFEngine 和基础设施的发展脉络(收敛语义、IaC/Kubernetes/GitOps/IBN 经验、将履行承诺视为数据、SLO、记录轴) | references/applications-infrastructure.md |
| 用 SST 术语对 Agent 团队建模,或设计 Agent 协调(Burgess 的 Agent 论文、漂移/时间盲视文献、MCP/A2A 基底、综合模式) | references/agent-coordination.md |
| 应用具名模式——语义锚点、轨迹、收敛循环、承诺传播、漂移检测、吸收态检测、共享语义流形、γ(3,4) 建模、距离度量、协调 | references/patterns.md |
| 用有界流程诊断语义漂移、分歧、死胡同(吸收态)或意义缺口 | references/diagnosis-and-debugging.md |
| 建模或诊断时遇到陌生术语 | references/glossary.md |
| 查找或核实一手来源——支持某项论断的论文、项目页面及相关研究 | references/bibliography.md |
快速入门
内置 CLI(scripts/semantic-spacetime.py)仅依赖标准库——任何
python3 都可以运行,无需安装任何内容——并且所有命令都是只读的。请在仓库根目录运行
以下命令;CLI 不会相对于自身位置解析文件,因此从任何目录使用绝对路径运行时,
这些命令都能正常工作。
- 起草 SST 模型。 将
templates/sst-model.yaml.tmpl复制到工作 文件(例如sst-model.yaml),并替换示例值:声明 Agent(id、role、promises)、语义节点(id、类型为 {event、thing、concept})、边(from、to、link,范围为 -3..3)、接受关系、 轨迹和观察。# --- example ---与# --- end example ---之间由机器 分隔的代码块展示了一个完整、有效的模型,可供仿照;同一模型已完整填入并提交至tests/fixtures/sample-model.yaml。 - 对模型进行检查,确认其符合 sst-model-v1 格式——退出码为 0 时会打印覆盖率
摘要,退出码为 1 时会打印带名称的违规项:
python3 semantic-spacetime/scripts/semantic-spacetime.py model lint semantic-spacetime/tests/fixtures/sample-model.yaml - 映射 γ(3,4) 图(
--format可选 text | mermaid | json):python3 semantic-spacetime/scripts/semantic-spacetime.py model map semantic-spacetime/tests/fixtures/sample-model.yaml --format mermaid - 测量语义距离——加权跳数(每跳权重为
|link| + 1):
python3 semantic-spacetime/scripts/semantic-spacetime.py model distance semantic-spacetime/tests/fixtures/sample-model.yaml --from report-event --to drift-concept - 追踪轨迹——列出每一条简单路径,并标注链接类型;
会注明环路,且枚举会在任何有限模型上终止:
python3 semantic-spacetime/scripts/semantic-spacetime.py model trajectory semantic-spacetime/tests/fixtures/sample-model.yaml --from report-event --to drift-concept - 对比两个快照——显示新增、删除或变更的语义区域;快照相同时会报告
no drift。将命令指向两个快照文件 (对同一文件运行两次即可演示无漂移的情况):python3 semantic-spacetime/scripts/semantic-spacetime.py model drift semantic-spacetime/tests/fixtures/sample-model.yaml semantic-spacetime/tests/fixtures/sample-model.yaml - 机器可读输出。 为任意命令追加
--json,即可在 stdout 上输出单个 JSON 对象。任何命令都接受--dry-run,作为空操作保护标记。 - 起草分析报告。 将
templates/sst-analysis.md.tmpl复制到 工作文件(例如sst-analysis.md),并填写框架内容:系统 描述 → 语义时空图 → 漂移/分歧/吸收态分析结果 → 干预措施 → 验证/测量计划。 - 诊断 Agent 之间的漂移。 如果 Agent 出现分歧,应将这种 分歧视为一种观察,测量其不同解释之间的语义距离,并找出信息停止流动的 吸收态或泄漏边界。
可用脚本
此技能打包了一个脚本;没有其他脚本需要发现。所有命令均为只读(任何命令都接受 --dry-run 作为无操作保护),任何命令添加 --json 都会在 stdout 上输出单个 JSON 对象。
| 脚本 | 用途 | 调用方式 |
|---|---|---|
scripts/semantic-spacetime.py | 检查、映射和分析 sst-model-v1 格式的 SST 模型。子命令:model lint(根据架构验证)、model map --format text|mermaid|json(渲染 γ(3,4) 图)、model distance --from X --to Y(加权跳数,每一跳的权重为 |link| + 1)、model trajectory --from X --to Y(枚举包含链接类型的简单路径)以及 model drift file-a file-b(对比两个快照,找出新增、删除和变更的区域)。起草模型或每次编辑模型后都运行 lint,直到检查通过;然后在映射共享语义基础、衡量不同解释之间的距离、追踪意图传播或诊断快照之间的漂移时,使用分析子命令。 | python3 semantic-spacetime/scripts/semantic-spacetime.py model lint <model.yaml> |
退出代码:0 = 有效/已覆盖,1 = 指定的违规项或缺失/不可达的 ID,2 = 用法或 IO 错误。
相关技能
| 技能 | 适用场景…… |
|---|---|
| promise-theory | 你需要 SST 所依托的基础词汇:承诺、提议与接受、收敛、下游原则和协调诊断(也会从 references/foundations.md 路由到此技能) |
| agent-evals-and-observability | 你需要将语义主张的测量和验证转化为评估、追踪和发布门禁(也会从 references/foundations.md 路由到此技能) |
| agent-council | 你希望通过结构化的多 Agent 辩论,协商 Agent 之间的共享含义 |
| workflow-architect | 你希望将受语义时空启发的工作流编码为可复用的技能包 |
| artifact-pyramids | 你需要将 SST 证据(模型、映射、观察结果)整理为摘要 → 分析 → 证据档案 |
| agent-skills | 你正在编写或编辑 Agent Skills 格式的技能——本技能采用的格式 |
| cli-builder | 你正在为 SST 模型构建或重构随附的 CLI(它将遵循 cli-builder 约定:非交互式、--json、--dry-run) |
注意事项
- 如实标注来源。 理论文件会为每项事实性主张标注
[VERIFIED](研究期间从一手来源中确认)或[UNVERIFIED](来自二手资料或推断),并将原创综合标注为EXTRAPOLATION。重用这些材料时请保留这些标记;悄然删除标记会让主张看起来像是经过更高级别的验证。请参阅 references/foundations.md 中的来源说明。 - 该理论是半形式化且未经同行评审的。 Burgess 将该系列作为自出版笔记发布,并无寻求同行评审出版的意图,而且“有些证明留给读者完成”。请将 SST 用作推理辅助工具,而非证明系统。请参阅 references/foundations.md 中的状态说明。
- 局部时间 ≠ 全局时钟。 固有时间是针对每个语义元素定义的:局部变化就是该元素的时间单位。不存在为所有事件排序的共享时钟;全局顺序是依观察者而异的产物。请参阅 references/foundations.md 中的固有时间章节。
- 语义需要测量。 在正确的尺度上测量之前,不能断言含义——“动力学始终优先于语义”(这是 CFEngine 系谱中的经验教训,详见 references/applications-infrastructure.md)。SST 的类空测量(重复试验、状态恒定)和类时测量(持续适应)是稳定观测的两种方式;请参阅 references/foundations.md 中的测量二元性章节。
- 必须将承诺履行情况存储为数据。 CFEngine 系谱中记录的缺口——只报告当前是否履行了承诺,却从不将承诺履行情况存储为可查询数据——正是 SST 的语义时间记录轴所要解决的缺口(请参阅 references/applications-infrastructure.md 中关于将承诺履行情况存储为数据的缺口)。请将观测记录为带版本的数据,否则信任就无法累积。
前置条件
- Python 3,仅使用标准库;CLI 无需安装任何内容。
- 用于分析的模型文件:复制
templates/sst-model.yaml.tmpl并替换示例值(完整且有效的示例位于tests/fixtures/sample-model.yaml)。 - CLI 不会相对于自身位置解析文件,因此可从任何目录运行命令——请使用相对于运行命令所在位置的路径。
局限性
- 该理论是半形式化且未经同行评审的;CLI 是用于推理你所编写模型的辅助工具,而非证明系统(请参阅“注意事项”)。
- 当 ID 缺失或两个节点之间没有路径时,
distance和trajectory会以状态码 1 退出;轨迹枚举仅涵盖简单路径(不重复节点),并会在任何有限模型上终止。 - CLI 仅读取和分析模型文件:它不会观测正在运行的 Agent、测量实时系统或存储观测结果——将测量记录为带版本的数据仍由你负责。
退出条件
当系统已建模为语义时空——记录了语义元素、γ(3,4) 边、轨迹和接受状态——漂移/偏离/吸收状态的发现已整理成文,并已说明验证/测量计划时,即可停止。诊断漂移时,若经过三轮仍未收敛,就应停止并报告证据,而不是反复重新审视同一个模型。