🌐 官网 · 🇨🇳 AtomGit 镜像 · 🇨🇳 中文 · English · 日本語 · 한국어
📚 用户手册 · 📦 安装指南 · 🧠 CVM 理念 · 📊 A/B 实证 · ✦ 星域碑文
面向 Foundation Model Agent 的认知运行时
天枢是一个 TypeScript 编写的编程 agent 运行时,终端 TUI 与桌面 GUI 共享同一内核。它要回答的核心问题是:模型何以稳定地交付——目标不漂移、完成有证据、验证有闭环,不说"应该修好了"。为此它在模型与真实世界之间建立一层认知执行环境(CVM),把目标、状态、证据、资源、权限与终止条件从对话历史中外部化,由运行时持续管理。
模型提供认知能力,CVM 提供认知执行语义。LLM provides cognition. CVM provides execution semantics.
Application / TUI / IDE / Desktop
↓
Tianshu Cognitive Runtime ← 状态 · 目标 · 证据 · 控制 · 回放
↓
Foundation Models ← DeepSeek · GLM · Claude · Codex · MiniMax · MiMo …
- 稳定交付,不虚报完成 —— 这是核心。任务契约(TaskContract)钉住全局目标,交付门禁要求「完成」必须带运行时证据(测试、diff、验证命令),收敛检测独立判断认知轨迹是否还在推进——模型说完成 ≠ 运行时确认完成。
- 终端 × 桌面,一个内核 —— 纯 ANSI 自研 TUI(
rivet)与 Tauri 桌面端(macOS / Windows / Linux)共用同一 agent 内核,两端能力一致。 - 认知虚拟机(CVM) —— 72 个运行时 hook 横跨 5 大阶段,在模型输出与真实动作之间加一层可观测、可纠偏的认知运行时(理念文档 · A/B 实证)。
- 前缀缓存引擎,全模型适用 —— 冻结前缀 + 增量 appendix + 边界压缩,对所有支持前缀缓存的模型生效:各家模型长会话实测稳态命中率均在 98–99%(DeepSeek V4 另有针对性优化),显著降低 token 成本。
左:终端 TUI(欢迎页 + GlanceBar 状态栏) · 右:桌面端 GUI(会话侧栏 + 星域速选)——同一 agent 内核
Note
本项目最初的开发代号为 Rivet;为保持向后兼容,已安装的 CLI 命令名仍为 rivet。
目录
💡 为什么是认知运行时
问题:能力上限 ≠ 运行行为
在真实工程会话里,我们反复观察到同一套模型权重的能力倒退——不是 bug,而是经过指令与偏好对齐的 Transformer Agent 呈现出的趋同运行时退化:被质疑就投降、过度服从字面指令、局部信息压过全局目标、长上下文被早期结论支配、反复调用同类工具却没有真实推进。
完整的理论框架见 CVM:从 Transformer 共享退化到认知运行时。核心概念是 Cognitive Anchor Collapse——高显著性局部信号让策略分布过度集中,全局目标与后续证据失去权重,行为向锚点坍缩。锚点有四类:
| 锚点 | 来源 | 典型表现 |
|---|---|---|
| 词汇锚点 | 训练数据中的词-行为相关 | 句子里有"修复/删除",模型无视"不要改,只解释"仍去改代码 |
| 语义锚点 | 局部正确的事实 | "文件已存在"被提升为整个任务的解释中心,拒绝执行 |
| 策略锚点 | RLHF / 偏好训练先验 | 用户一句"按你的计划执行",分析阶段形成的高质量判断被丢弃 |
| 历史锚点 | 长上下文早期结论 | Turn 20 的新证据被解释成 Turn 3 旧假设的附属 |
这不是"模型坏掉了"——它是训练成功后的副产品,因此也无法靠更好的 Prompt 根治:Prompt 是信息不是状态,而且 Prompt 本身也会成为新的锚点。
证据:A/B 对照,不靠感觉
2026-05-19,同一模型(DeepSeek-V4-Flash)、同一批 5 个任务,唯一变量是星域信念提示词(信念宪法,STAR_SOUL=0/1),Claude Opus 4.7 担任审查者:
| 指标 | A 组(无信念提示词) | B 组(有信念提示词) |
|---|---|---|
| 任务完成率 | 4/5 | 5/5 |
| 主动提出异议 | 0/5 | 3/5 |
| 主动询问 scope / 影响分析 | 0/5 | 1/5 |
| 系统影响意识(缓存失效提醒) | 0/5 | 1/5 |
| 意图理解 > 字面执行 | 1/5 | 4/5 |
最有价值的数据点是 T4:面对「文件已存在」的矛盾,A 组写了 196 行复盘文档然后拒绝执行,B 组判断出用户真实意图并直接交付 +162/-20 行可用代码——同一套权重,完全相反的反应,改变的是运行环境。
No comments yet.