【Agent Harness】我为什么把整个Agent系统的“语言”从Markdown换成了JSON-LD
Agent Harness 学习之路--开篇
我最初只是想弄明白,到底什么是 Agent Harness,以及为什么 Anthropic、OpenAI 都在为 LLM 搭建一套“控制与支撑系统”。结果越挖越深,最后索性自己写了一个——Gliding Horse(流马),一个用 Rust 写的 Agent 操作系统。
如果你也在学习 Agent Harness,这个项目或许能帮你少走一些弯路。它最核心的想法其实很简单:把 LLM 的上下文窗口当成 L1 Cache,把持久化知识当成磁盘,中间用 Oxigraph 图数据库和 JSON‑LD 语义总线串联起来。 LLM 每次只消看一小段摘要和几个 @id(IRI),真正的细节留在图里,需要时再用 SPARQL 去查。这样做的好处是 多轮对话几乎不丢上下文,还巨省 Token,因为你不是把整段历史砸进 Prompt,而是给了 LLM 一把能随时打开任意一扇门的万能钥匙。
再说几个我自己觉得很亮眼的点:
Skill 即数据:所有技能都用 JSON‑LD 定义,带数字签名和强校验。你把 md 丢给系统,它能自动转成安全、可追溯的 Skill 节点。不同 Skill 之间的参数名哪怕写成 input_file 和 source_url,到了这里都会映射成同一个语义 IRI,像鸭子类型一样自然对接。
记忆与执行同构:任务、设计文档、经验教训全部是图里的节点。历史决策可以反向追溯,多 Agent 共享的“黑板”甚至用了一套类 MESI 的缓存一致性协议来避免冲突——这玩意儿通常只在 CPU 里见得到。
动态 PDCA 调度:系统会根据任务的 5W2H 元数据自动决定要跑完整的 Plan‑Do‑Check‑Act 循环,还是直接一个 Do 就搞定。不是死流程,而是按需编排。
如果你对 Agent 的记忆管理、技能安全或者 Rust 系统编程感兴趣,可以去翻翻代码,README 里那张“记忆即缓存”的架构图应该能瞬间让你明白我在搞什么。欢迎 Star 和提 issue([https://github.com/doiito/gliding_horse] Agent 从“一次性提示工程对象”变成真正可靠的长期运行进程。

浙公网安备 33010602011771号