跳到正文
原文
Hacker News· mthines·· 2 小时前精选AI 评分70

代理记忆需要 OpenTelemetry 的时刻

Agent memory needs its OpenTelemetry moment

AI 摘要

目前机器上的内存格式多样,不同编码工具使用的记忆存储格式各异,如 Markdown 文件、Anthropic 的内存工具、GitHub Copilot 等,这些格式之间缺乏通用性,导致信息孤岛现象

正文 · 清洗整理版

请数一数您机器上的内存格式,列出您的编码工具在哪里 "记住" 东西。 如今典型的设置:大多数存储库中的 AGENTS.md 或 CLAUDE.md,以及少数存储库中的 .cursor/rules/*.mdc,一个代理通过 Anthropic 的内存工具将文件写入 /memories 目录,GitHub 侧的 Copilot 保留有关每个存储库的事实,一个内存 MCP 服务器保留一个 JSONL 知识图谱。 这是四种不同的形状,它们都不能读取其他任何一种。 您的 CI 代理学到的教训会留在它所写的任何地方。

您的编辑代理无法读取它,下一个您尝试的工具也无法读取它。 每种格式在其自身上都是合理的。 在一起,它们再次重建了同一个小想法:一个代理留给其未来自己的笔记,存储在某个地址,一段时间内为真。 而且列表还在增长。 浏览 r/ClaudeAI、r/LocalLLaMA 或 r/cursor,您会发现一股持续的 "我为我自己的代理构建了一个记忆层" 帖子,每个帖子都有自己的存储、自己的模式和自己的 MCP 工具。 这是问题的真正证据:人们遇到了严重的问题,以至于他们开始构建东西。

但每个新解决方案都增加了一种其他任何东西都无法读取的格式。 问题不是缺少工具。 问题是缺少共识,而只有社区一起工作才能实现这一点。 我构建了其中一种工具 LoreKit,它是开源的。 这不是一个 LoreKit 已经解决了记忆的推销。 它的格式是几种提议中的一种,它自己也有差距。 要点是现在是时候就一个共享形状达成一致,而另一个领域已经展示了如何做到这一点。 我们以前见过这种情况。 2019 年之前,每个可观察性供应商都发送自己的代理、自己的仪器库和自己的数据格式。 切换供应商意味着重新为您的代码编写仪器。

两个开源项目 OpenTracing 和 OpenCensus 试图解决这个问题,但它们也相互竞争。 2019 年它们合并为 OpenTelemetry。 重要的是供应商同意停止竞争的东西:数据模型:跨度、指标和日志记录是什么。 语义约定:服务名和 http.* 等共享名称。 协议:OTLP,发送数据的一种方式。 参考实现:共享 SDK 和 Collector。 供应商继续竞争他们如何处理数据:存储、查询、分析。 用户只需仪器一次。

我在 Dash0 每天都与 OpenTelemetry 合作,正是这个共识使得整个工具生态系统可以相互读取数据。 同样的四层。 可观察性在 2019 年之前就同意了它们,并在数据到达后竞争。 代理记忆有很多实现,但没有就其下的内容达成共识。 代理记忆是可观察性在 2019 年之前的地方。 时机很好:格式足够年轻,可以改变,而且已经有了一个中立的代理标准家园。 MCP 和 AGENTS.md 都位于 Linux 基金会的 Agentic AI 基金会之下。 形状的巡游。

这些变化很快,因此将详细信息视为 2026 年晚些时候的快照。 家族示例 单位内存被遗忘的地址指令文件 AGENTS.md、CLAUDE.md、Cursor .mdc 规则 一个完整的 Markdown 文件 文件路径(加上 Cursor 的通配符)从不。

一个人编辑它代理管理的文件 Anthropic 的内存工具 /memories 下的一个文件 模型选择的路径从不,除非模型删除它托管存储库事实 GitHub Copilot 内存 一个带有代码引用的事实 一个存储库 删除后 28 天未使用的上下文块 Letta 核心内存 一个带有字符限制的标记块 代理上的标签从不。

始终在上下文中提取的事实 Mem0 服务从消息中提取的事实 user_id / agent_id / run_id / app_id 可选过期日期命名空间存储 LangGraph BaseStore 一个 JSON 值字典 命名空间元组 + 键可选 TTL,在默认情况下读取时重置知识图谱 MCP 参考内存服务器 实体、关系、观察实体名称从不时间图 Graphiti / Zep 图边上的一个事实实体 + 边事实被失效而不是删除,在两个时间线上。

Two columns compare observability, which OpenTelemetry settled, with agent memory, which is still open, across four layers: data model, semantic conventions, protocol, and implementations. For memory, the first three layers are drawn dashed because nobody has agreed on them yet.

Two problems side by side. Left, export: memory in vendor A is packed into a bundle such as a .mem file, an .omp.zip or COGX, and unpacked in vendor B. Right, live addressing: a CI job, an editor agent and a review bot all read and write one address, repo::acme/checkout, at the same time.

来源:Hacker News · lorekit.io

00