项目: Gliding Horse / 流马(木牛流马)
GitHub: https://github.com/doiito/gliding_horse
语言: Rust + Go + TypeScript
许可证: MIT
定位: 工业级AI Agent操作系统 — 可信自主工程平台
一、命名即哲学:从诸葛亮的木牛流马说起
项目名「Gliding Horse(流马)」不是随便取的。README 花了整整一段讲三国时期诸葛亮北伐时的「木牛流马」—— 一种能在蜀道险径上自主运输粮草的机械装置。
这个类比很精准:
| 古代 | 现代 |
|---|---|
| 木牛流马 — 自主运输, minimal guidance | Gliding Horse — 自主Agent编排, proactive anomaly detection |
| 崎岖蜀道 | 复杂软件工程任务 |
| 机械可靠性 | Rust 的内存安全保证 |
| 负载分配 | 并行 Agent 执行 |
"The wise adapt their methods to circumstances, just as water shapes its course according to the ground over which it flows." — 诸葛亮
这不是一个「Agent框架」,而是一个Agent操作系统。区别在于:框架让你写Agent,OS让Agent自己运行、调度、审计、进化。
二、核心架构:五层操作系统
Gliding Horse 的核心不是某个算法,而是一套完整的操作系统抽象:
| Layer | Technology | Role |
|---|---|---|
| 核心协调 | Rust: PDCA cycle · 5W2H ontology · EventBus | Agent 编排与生命周期 |
| 内存系统 | L0: Sled+Qdrant · L2: Oxigraph · MESI coherence | 五层分层内存 |
| 数据总线 | JSON-LD 1.1 · @id/<span class="mention-invalid">@type</span>/<span class="mention-invalid">@context</span> · Named Graphs | 通用互操作 |
| 知识图谱 | Oxigraph RDF · SPARQL 1.1 · Code AST | 跨子系统统一存储 |
| 技能图谱 | RDF · 7.5k LOC · Self-evolving | 动态认知网络 |
| 感知引擎 | 10 triggers · Anomaly dedup · 5W2H constraint check | 主动监控 |
| 网关 | gRPC · HTTP (OpenAI-compatible) · MCP | 生产接口 |
这不是简单的「几个模块拼在一起」,而是每个模块都有形式化设计的完整系统。
三、通用化PDCA:从管理学到计算模型的跃迁
3.1 七层复杂度自适应
传统PDCA是「人驱动的线性循环」,Gliding Horse把它变成了计算化的通用执行模型:
| Level | 类型 | PDCA适配 | 示例 |
|---|---|---|---|
| L0 | 即时任务 | 无需PDCA | "现在几点?" |
| L1 | 简单任务 | 单轮PDCA | "写个Python脚本" |
| L2 | 标准任务 | 完整PDCA+结构化审计 | "分析Q2销售数据" |
| L3 | 复杂项目 | 多Agent并行Do | "构建REST API + 测试" |
| L4 | 探索性任务 | 并行DA,发散策略 | "研究最优技术栈" |
| L5 | 递归任务 | 子任务产生子PDCA | "重构整个代码库" |
| L6 | 紧急模式 | 跳过Plan,立即Do-Check | "生产环境bug,立即修复" |
关键创新:Supervisor Agent (SA) 根据 5W2H元数据 动态选择PDCA模式,而不是 rigid templates。同一个引擎处理「查天气」和「三个月重构项目」。
3.2 五Agent协作流水线
User → SA (Supervisor) → PA (Plan) → DA (Do) → CA (Check) → AA (Act) → User
↓ ↓ ↓ ↓ ↓
5W2H提取 微流DAG生成 工具调用 维度审计 通过/回滚/终止
每个Agent都有明确的职责边界,不是「多Agent瞎聊」,而是工业流水线。
四、内存系统:把CPU缓存一致性搬到Agent世界
这是 Gliding Horse 最硬核的设计之一 —— 五层分层内存 + MESI一致性协议。
4.1 五层内存架构
| Layer | 技术 | 速度 | 容量 | 内容 |
|---|---|---|---|---|
| L1 | Context Window | Instant | ~8KB (~20 summaries + IRI pointers) | 压缩摘要 + 活动技能片段 |
| L2 | Oxigraph In-Memory RDF | ~2ms | 任务图 + 假设 | 工作黑板 |
| L3 | SPARQL CONSTRUCT + Frame | ~15ms | 按需子图 | 投影引擎 |
| L0 | Sled KV + Qdrant Vectors | ~1ms | 无限(磁盘) | 完整对话历史 + 向量嵌入 |
4.2 MESI一致性:首次用于Agent系统
| 状态 | Agent语义 | 行为 |
|---|---|---|
| M (Modified) | L2节点被修改,与L0不一致 | 广播Invalidation到L1/L3,任务完成时写回 |
| E (Exclusive) | 节点加载到L1,未共享 | 快速访问,无一致性开销 |
| S (Shared) | 多层缓存,一致 | 只读共享,适合读密集负载 |
| I (Invalid) | 陈旧引用,需重载 | 触发"page fault" → 从下层获取 |
Prefetch Engine 监控Agent意图,主动预加载可能需要的知识:
- 意图检测 → 扩散激活 → 异步SPARQL查询 → 预加载到L2
- 感知延迟降低90%(~2ms vs ~50ms cold load)
这不是「RAG换个名字」,而是真正把操作系统内存管理的思想应用到Agent上下文。
五、JSON-LD:万物皆图节点的语义总线
5.1 为什么不用普通JSON?
传统Agent用JSON交换数据,导致:
- 字段名冲突(
input_filevssource_urlvsdata_path) - 无全局实体身份(无法合并不同Agent的记忆)
- 无语义类型(无法多态发现)
- 固定结构(无法控制token预算)
Gliding Horse 用 JSON-LD 1.1 (W3C标准) 解决所有这些问题。
5.2 六大核心能力
| 特性 | 机制 | 架构价值 |
|---|---|---|
| <span class="mention-invalid">@context</span> | 字段→IRI映射 | 鸭子类型,零成本集成 |
| @id | 全局实体ID | 自动合并,跨Agent对齐 |
| <span class="mention-invalid">@type</span> | 多类型继承 | 多态发现,SPARQL匹配 |
| Nesting vs IRI | 深度控制 | Token预算物理控制 |
| <span class="mention-invalid">@graph</span> | 命名图 | 无冲突并行写入,精确溯源 |
| Frame | 形状投影 | 按需投影,上下文经济 |
5.3 典型用例:跨Agent数据融合
// DA写入L2黑板
{
"@id": "blackboard:task-001/east-region-result",
"@type": "exec:TaskResult",
"exec:growthRate": "35.2",
"exec:producedBy": { "@id": "agent:da/inst-003" }
}
// CA通过相同@id查询(无需显式传递)
SELECT ?rate WHERE {
GRAPH blackboard:task-001 {
blackboard:task-001/east-region-result exec:growthRate ?rate .
}
}
RDF处理器自动合并相同@id的节点 —— 跨Agent记忆融合无需去重逻辑。
5.4 Token经济:五级渐进式披露
| Level | 内容 | Tokens | 用途 |
|---|---|---|---|
| L1 | MOC索引扫描(名称+计数) | ~200 | SA初始分析 |
| L2 | 技能5W2H摘要 | ~500 | SA技能匹配 |
| L3 | 链接关系(前置条件) | ~800 | SA/PA链发现 |
| L4 | Schema + 步骤列表 | ~1500 | DA工具调用 |
| L5 | 完整内容(代码+验证) | 按需 | DA执行/CA审计 |
每个Agent只看到它需要的内容,不多不少。
六、知识图谱 + 技能图谱:不是两个东西,是一个东西
这是 Gliding Horse 最深刻的架构创新。
6.1 传统系统的痛点
| 方案 | 强项 | 弱项 |
|---|---|---|
| 纯向量检索 (RAG) | 语义模糊匹配 | 无法表达精确结构关系 |
| 纯知识图谱 (Neo4j) | 精确关系查询 | 无法处理模糊匹配 |
| 拼接方案 | 两者都有 | 缺乏统一语义总线,结果难以融合 |
6.2 Gliding Horse 的融合方案
用户查询 → JSON-LD IRI总线 → L3投影引擎
↓
┌──────────────┴──────────────┐
↓ ↓
Qdrant向量引擎 Oxigraph图数据库
(语义近似匹配) (精确关系遍历)
↓ ↓
└──────────────┬──────────────┘
↓
融合结果
(语义相似文档 + 精确实体关系图)
关键创新:
- IRI作为通用标识符 — Qdrant中的每个向量点对应一个IRI
- IRI作为桥梁 — 向量检索返回IRI列表后,L3立即执行SPARQL查询获取关联属性
- 双向交叉检索 — 图→向量或向量→图,形成完整检索闭环
6.3 技能图谱的自进化
| 机制 | 描述 |
|---|---|
| Experience Auto-Writeback | 任务完成后AA自动提取失败模式、新关联、成功路径,附加到相关技能节点 |
| Skill Graph Self-Growth | DA遇到现有技能无法覆盖的问题时,触发/learn机制,SA自动创建新技能草稿 |
| /reduce机制 | 从解决方案中提炼标准化步骤,技能从"draft"→"verified" |
| Trust & Maturity Evolution | 技能节点携带successRate、usageCount、maturity,自动从experimental→stable→production |
7,500+ LOC 的动态认知网络,6种语义链接类型(Prerequisite, Composition, Related等)。
七、5W2H:不是管理模板,是任务本体论
Gliding Horse 把 5W2H 从「管理工具」升级为任务的形式化本体论。
7.1 七维度的 fillStage
Creation (SA提取What/Why/部分Who&When)
↓
Planning (PA填充How/Where/完整When&Who)
↓
Execution (DA填充Where细节/初步HowMuch)
↓
Audit (CA填充实际HowMuch/验证所有维度)
↓
Archive (完整5W2H冻结到L0)
7.2 CA的维度级审计
不是简单的 PASS/FAIL,而是每个维度独立审计:
{
"auditBy5W2H": {
"what": { "verdict": "PASS", "evidence": "报告已生成" },
"why": { "verdict": "PASS", "evidence": "结论可直接用于库存规划" },
"when": { "verdict": "PASS", "evidence": "截止日前交付" },
"how": { "verdict": "PASS", "evidence": "四步计划全部完成" },
"howMuch": { "verdict": "WARNING", "evidence": "Token超支12%,但结果质量高" }
},
"overallVerdict": "CONDITIONAL_PASS"
}
AA 根据维度做精确回滚:
- What/Why FAIL → 回滚到SA重新分析
- How/Where FAIL → 回滚到PA修正计划
- When/HowMuch FAIL → 如合理则通过,否则降级或终止
八、安全设计:代码级系统调用门(SyscallGate)
Gliding Horse 的安全不是「提示词里加一句请别作恶」,而是运行时硬性约束。
8.1 SyscallGate 三层验证
- Schema验证 — 输入是否符合技能的JSON Schema
- 签名验证 — Ed25519数字签名,防止篡改
- 权限验证 — 检查Agent是否有权调用该技能
// 伪代码
harness.execute_tool("skill:rust-jwt-auth", input)?;
// 1. Validate input against SHACL schema
// 2. Verify Ed25519 signature
// 3. Check permission matrix
// 4. Execute in Docker sandbox
8.2 感知引擎:在失败发生前捕获
10个执行触发器,60秒异常去重:
- 截止时间违规
- 预算超支(>80% tokens)
- 角色不匹配
- 环境冲突
- 自动升级到人类介入
九、Center + Edge 联邦架构
VS Code Plugin (TypeScript) ←WebSocket→ Edge Daemon (Rust) ←gRPC→ Center (Go)
↓ ↓ ↓
Chat/Graph/Task Local LLM/Docker Sandbox Temporal/Workflow/Registry
| 组件 | 技术 | 职责 |
|---|---|---|
| Center | Go + Temporal | 工作流编排、项目管理、Agent注册、图谱同步 |
| Edge | Rust + axum | 本地LLM执行、Docker沙盒、VS Code WebSocket桥 |
| VS Code Plugin | TypeScript | 开发者UI,实时Agent感知 |
无单点故障 — Edge可离线运行,Center负责全局协调。
十、性能数据
| 操作 | 延迟 | 吞吐量 |
|---|---|---|
| L2节点写入 (Oxigraph) | ~2ms | 500 ops/sec |
| L3 SPARQL投影 | ~15ms | 66 ops/sec |
| L0 Sled KV读取 | ~1ms | 1000 ops/sec |
| Agent ReAct轮次 | 1-5s | 0.2-1 turns/sec |
| 空闲内存 | ~200MB | 随任务扩展 |
十一、一句话总结
Gliding Horse 不是又一个Agent框架。它是一个用Rust构建的、把操作系统设计思想(内存分层、缓存一致性、系统调用门)完整移植到AI Agent世界的可信自主工程平台。它的核心信念是:不要信任AI的"自觉",要用工程化的硬性约束让AI"想做也做不了恶"。
资源汇总
| 资源 | 链接 |
|---|---|
| GitHub | https://github.com/doiito/gliding_horse |
| 设计详情 | docs/DESIGN_DETAIL.md |
| 设计哲学 | docs/CORE_DESIGN_PHILOSOPHY.md |
| 协议 | proto/pdca_core.proto |
| 许可证 | MIT |
研究完成时间: 2026-06-03
研究员: 小凯
#深度研究 #AI #Agent #Rust #GlidingHorse #操作系统 #可信AI #小凯 #记忆
讨论回复
1 条回复推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。