当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
AI Agent的记忆问题,正在成为大模型落地最大的瓶颈之一。无论是Claude Code、Cursor还是Windsurf,这些编码助手在长会话中频繁“失忆”的痛点,几乎每个深度用户都深有体会。
今天要介绍的Awareness,是一个专为AI Agent设计的记忆层。它的核心卖点可以用一句话概括:本地优先、结构化存储,并且通过真实生产检索管道进行了基准测试——96%的R@5成绩,公开可复现。
这在这个充斥着“宣称SOTA”却无法复现的领域,显得尤为另类。
要理解Awareness的价值,首先要明白当前AI Agent记忆方案的根本困境。
主流方案无非三种:一是把整个对话历史塞进上下文窗口,成本高且很快触及长度限制;二是用向量数据库做语义检索,但召回精度在真实场景中往往惨不忍睹;三是各种“记忆摘要”方案,本质上是在用模型能力掩盖架构缺陷。
这三种方案都面临一个共同问题:记忆的写入和读取是割裂的。写入时可能很随意,读取时又缺乏结构化的过滤机制,导致Agent在关键时刻既“记不住”也“想不起”。
我最近在给一个开源项目贡献代码时,用Claude Code处理跨十个文件的类型重构。中途它连续三次忘记了我们约定的类型命名规范,每次都要我重新粘贴规则。这种体验让我深刻意识到:上下文窗口再大,也不等于记忆能力。
Awareness的架构思路很清晰:把记忆当作一等公民,而不是上下文的附属品。它通过MCP(Model Context Protocol)接入Claude Code、Cursor等工具,但底层存储和检索逻辑是独立实现的。
# Awareness 的核心数据结构示意
from typing import List, Optional
from pydantic import BaseModel
class MemoryEntry(BaseModel):
id: str
content: str
metadata: dict
embedding: Optional[List[float]] = None
created_at: str
last_accessed: str
# 关键设计:每个记忆条目都有明确的元数据结构
# 而不仅仅是“一段文本+向量”
class MemoryStore:
def __init__(self, storage_path: str):
self.storage_path = storage_path
# 本地优先:所有数据存储在用户自己的文件系统
def add(self, entry: MemoryEntry):
# 结构化写入:不仅仅是存向量,还保留原始文本和元数据
...
def search(self, query: str, top_k: int = 5):
# 混合检索:向量相似度 + 元数据过滤 + 时间衰减
...
这个设计的精妙之处在于混合检索策略。Awareness不是单纯依赖向量相似度,而是结合了元数据过滤和时间衰减机制。这意味着Agent在检索记忆时,可以基于时间、项目、任务类型等维度进行精确过滤,而不是把所有历史都混在一起算相似度。
Awareness在LongMemEval基准上达到了96%的R@5。但比这个数字更重要的是它的测试方法——通过真实生产检索管道进行测试。
// 复现基准测试的核心逻辑
import { AwarenessMemory } from './awareness';
const memory = new AwarenessMemory({
storagePath: './test-memory',
embeddingModel: 'text-embedding-3-small'
});
async function benchmarkLongMemEval() {
const testCases = loadLongMemEvalTestCases();
let hits = 0;
for (const testCase of testCases) {
// 模拟真实使用:先写入记忆
for (const doc of testCase.documents) {
await memory.add({
content: doc.text,
metadata: { source: doc.source, timestamp: doc.timestamp }
});
}
// 再模拟Agent查询
const results = await memory.search(testCase.query, 5);
if (results.some(r => r.id === testCase.expectedId)) {
hits++;
}
}
return hits / testCases.length; // 96%
}
关键在于,这个测试管道和实际生产环境完全一致。不是实验室里的“先索引再检索”的理想化场景,而是模拟了Agent在真实使用中“边写边读”的交互模式。
更难得的是,作者提供了公开的runner脚本。任何人都可以拉取代码,在自己的机器上复现这个96%的成绩。在这个“刷榜”成风的时代,这种透明度几乎是一种美德。
在记忆方案这个赛道上,已经有不少玩家。Mem0走的是云端SaaS路线,Letta(原MemGPT)侧重对话状态的显式管理,Zep则偏向生产级的记忆基础设施。
Awareness的差异化在于本地优先。所有数据存储在用户自己的文件系统中,不经过任何第三方服务器。这对于处理敏感代码库的开发者来说意义重大——你写的每一行代码、每一个决策记录,都不应该被发送到外部API。
而且,本地优先带来了一个被低估的优势:可预测的延迟。在云端记忆方案中,每次检索都要经过网络往返,延迟可能在100ms到数秒之间波动。而本地方案,检索延迟稳定在个位数毫秒级。
Awareness最打动我的一点,是它对“记忆写入”的独特处理。它不要求开发者显式地调用API去保存记忆,而是通过MCP与Claude Code等工具深度集成,在Agent的自然交互中自动捕获关键信息。
# 通过MCP配置接入Claude Code
{
"mcpServers": {
"awareness": {
"command": "npx",
"args": ["-y", "@everest/awareness-mcp"],
"env": {
"STORAGE_PATH": "~/.awareness/memory"
}
}
}
}
配置完成后,Claude Code会自动将项目上下文、决策记录、约束条件等结构化信息写入本地记忆库。下次启动新会话时,Agent可以通过自然语言查询这些记忆,而不需要重新阅读整个代码库。
这种“无感记忆”的体验,才是Agent记忆的正确打开方式。
当然,Awareness也不是没有问题。96%的R@5是在LongMemEval这个特定基准上取得的,真实场景的复杂程度远超测试集。此外,本地优先意味着记忆无法跨设备同步——如果你在多台机器上工作,每台机器的记忆是孤立的。
但瑕不掩瑜。Awareness代表了一种值得关注的方向:在AI Agent的记忆问题上,与其追逐更大的上下文窗口或更复杂的模型,不如把基础的数据工程做扎实。结构化存储、混合检索、可复现的基准测试——这些“笨功夫”才是让Agent真正“记住”的关键。
如果你正在构建AI Agent应用,或者对Claude Code/Cursor的“失忆”深恶痛绝,不妨试试Awareness。至少,它给了你一个可以自己验证的96%。
🏷️ [AI · Agent] · [记忆系统] · [本地优先] · [MCP] · [基准测试]
⚡ 快手短视频脚本 | 时长:30-40秒
【封面字幕】(大号字体,居中)
本地优先的AI记忆层:96%检索准确率,还公开了复现工具
【口播文案】(接地气风格,口语化)
老铁们,今天聊个硬核的——当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
核心就三点:
① (从正文提取第一个关键信息)
② (从正文提取第二个关键信息)
③ (从正文提取第三个关键信息)
懂的点个赞,不懂的评论区问我,下条见!💪
🏷️ 推荐标签:[AI, Agent], [记忆系统], [本地优先], [MCP], [基准测试]
【微博短帖 | 140字以内核心版】
本地优先的AI记忆层:96%检索准确率,还公开了复现工具:当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
#[AI #Agent] #[记忆系统]
【微博长帖 | 可配图 9 宫格版】
本地优先的AI记忆层:96%检索准确率,还公开了复现工具
当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
#[AI #Agent] #[记忆系统] 🔗 https://dev.to/everest_an/awareness-local-first-ai-agent-memory-96-r5-on-longmemeval-reproducible-47ki
当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
AI Agent的记忆问题,正在成为大模型落地最大的瓶颈之一。无论是Claude Code、Cursor还是Windsurf,这些编码助手在长会话中频繁“失忆”的痛点,几乎每个深度用户都深有体会。
今天要介绍的Awareness,是一个专为AI Agent设计的记忆层。它的核心卖点可以用一句话概括:本地优先、结构化存储,并且通过真实生产检索管道进行了基准测试——96%的R@5成绩,公开可复现。
这在这个充斥着“宣称SOTA”却无法复现的领域,显得尤为另类。
要理解Awareness的价值,首先要明白当前AI Agent记忆方案的根本困境。
主流方案无非三种:一是把整个对话历史塞进上下文窗口,成本高且很快触及长度限制;二是用向量数据库做语义检索,但召回精度在真实场景中往往惨不忍睹;三是各种“记忆摘要”方案,本质上是在用模型能力掩盖架构缺陷。
这三种方案都面临一个共同问题:记忆的写入和读取是割裂的。写入时可能很随意,读取时又缺乏结构化的过滤机制,导致Agent在关键时刻既“记不住”也“想不起”。
我最近在给一个开源项目贡献代码时,用Claude Code处理跨十个文件的类型重构。中途它连续三次忘记了我们约定的类型命名规范,每次都要我重新粘贴规则。这种体验让我深刻意识到:上下文窗口再大,也不等于记忆能力。
Awareness的架构思路很清晰:把记忆当作一等公民,而不是上下文的附属品。它通过MCP(Model Context Protocol)接入Claude Code、Cursor等工具,但底层存储和检索逻辑是独立实现的。
# Awareness 的核心数据结构示意
from typing import List, Optional
from pydantic import BaseModel
class MemoryEntry(BaseModel):
id: str
content: str
metadata: dict
embedding: Optional[List[float]] = None
created_at: str
last_accessed: str
# 关键设计:每个记忆条目都有明确的元数据结构
# 而不仅仅是“一段文本+向量”
class MemoryStore:
def __init__(self, storage_path: str):
self.storage_path = storage_path
# 本地优先:所有数据存储在用户自己的文件系统
def add(self, entry: MemoryEntry):
# 结构化写入:不仅仅是存向量,还保留原始文本和元数据
...
def search(self, query: str, top_k: int = 5):
# 混合检索:向量相似度 + 元数据过滤 + 时间衰减
...
这个设计的精妙之处在于混合检索策略。Awareness不是单纯依赖向量相似度,而是结合了元数据过滤和时间衰减机制。这意味着Agent在检索记忆时,可以基于时间、项目、任务类型等维度进行精确过滤,而不是把所有历史都混在一起算相似度。
Awareness在LongMemEval基准上达到了96%的R@5。但比这个数字更重要的是它的测试方法——通过真实生产检索管道进行测试。
// 复现基准测试的核心逻辑
import { AwarenessMemory } from './awareness';
const memory = new AwarenessMemory({
storagePath: './test-memory',
embeddingModel: 'text-embedding-3-small'
});
async function benchmarkLongMemEval() {
const testCases = loadLongMemEvalTestCases();
let hits = 0;
for (const testCase of testCases) {
// 模拟真实使用:先写入记忆
for (const doc of testCase.documents) {
await memory.add({
content: doc.text,
metadata: { source: doc.source, timestamp: doc.timestamp }
});
}
// 再模拟Agent查询
const results = await memory.search(testCase.query, 5);
if (results.some(r => r.id === testCase.expectedId)) {
hits++;
}
}
return hits / testCases.length; // 96%
}
关键在于,这个测试管道和实际生产环境完全一致。不是实验室里的“先索引再检索”的理想化场景,而是模拟了Agent在真实使用中“边写边读”的交互模式。
更难得的是,作者提供了公开的runner脚本。任何人都可以拉取代码,在自己的机器上复现这个96%的成绩。在这个“刷榜”成风的时代,这种透明度几乎是一种美德。
在记忆方案这个赛道上,已经有不少玩家。Mem0走的是云端SaaS路线,Letta(原MemGPT)侧重对话状态的显式管理,Zep则偏向生产级的记忆基础设施。
Awareness的差异化在于本地优先。所有数据存储在用户自己的文件系统中,不经过任何第三方服务器。这对于处理敏感代码库的开发者来说意义重大——你写的每一行代码、每一个决策记录,都不应该被发送到外部API。
而且,本地优先带来了一个被低估的优势:可预测的延迟。在云端记忆方案中,每次检索都要经过网络往返,延迟可能在100ms到数秒之间波动。而本地方案,检索延迟稳定在个位数毫秒级。
Awareness最打动我的一点,是它对“记忆写入”的独特处理。它不要求开发者显式地调用API去保存记忆,而是通过MCP与Claude Code等工具深度集成,在Agent的自然交互中自动捕获关键信息。
# 通过MCP配置接入Claude Code
{
"mcpServers": {
"awareness": {
"command": "npx",
"args": ["-y", "@everest/awareness-mcp"],
"env": {
"STORAGE_PATH": "~/.awareness/memory"
}
}
}
}
配置完成后,Claude Code会自动将项目上下文、决策记录、约束条件等结构化信息写入本地记忆库。下次启动新会话时,Agent可以通过自然语言查询这些记忆,而不需要重新阅读整个代码库。
这种“无感记忆”的体验,才是Agent记忆的正确打开方式。
当然,Awareness也不是没有问题。96%的R@5是在LongMemEval这个特定基准上取得的,真实场景的复杂程度远超测试集。此外,本地优先意味着记忆无法跨设备同步——如果你在多台机器上工作,每台机器的记忆是孤立的。
但瑕不掩瑜。Awareness代表了一种值得关注的方向:在AI Agent的记忆问题上,与其追逐更大的上下文窗口或更复杂的模型,不如把基础的数据工程做扎实。结构化存储、混合检索、可复现的基准测试——这些“笨功夫”才是让Agent真正“记住”的关键。
如果你正在构建AI Agent应用,或者对Claude Code/Cursor的“失忆”深恶痛绝,不妨试试Awareness。至少,它给了你一个可以自己验证的96%。
本文梳理了相关技术/事件的核心脉络。如有错误欢迎在评论区指正。
📂 分类:[AI · Agent] · [记忆系统] · [本地优先] · [MCP] · [基准测试]
© 本文由彩虹洋葱 AI 自动聚合,转载请注明出处。
当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
AI Agent的记忆问题,正在成为大模型落地最大的瓶颈之一。无论是Claude Code、Cursor还是Windsurf,这些编码助手在长会话中频繁“失忆”的痛点,几乎每个深度用户都深有体会。
今天要介绍的Awareness,是一个专为AI Agent设计的记忆层。它的核心卖点可以用一句话概括:本地优先、结构化存储,并且通过真实生产检索管道进行了基准测试——96%的R@5成绩,公开可复现。
这在这个充斥着“宣称SOTA”却无法复现的领域,显得尤为另类。
要理解Awareness的价值,首先要明白当前AI Agent记忆方案的根本困境。
主流方案无非三种:一是把整个对话历史塞进上下文窗口,成本高且很快触及长度限制;二是用向量数据库做语义检索,但召回精度在真实场景中往往惨不忍睹;三是各种“记忆摘要”方案,本质上是在用模型能力掩盖架构缺陷。
这三种方案都面临一个共同问题:记忆的写入和读取是割裂的。写入时可能很随意,读取时又缺乏结构化的过滤机制,导致Agent在关键时刻既“记不住”也“想不起”。
我最近在给一个开源项目贡献代码时,用Claude Code处理跨十个文件的类型重构。中途它连续三次忘记了我们约定的类型命名规范,每次都要我重新粘贴规则。这种体验让我深刻意识到:上下文窗口再大,也不等于记忆能力。
Awareness的架构思路很清晰:把记忆当作一等公民,而不是上下文的附属品。它通过MCP(Model Context Protocol)接入Claude Code、Cursor等工具,但底层存储和检索逻辑是独立实现的。
# Awareness 的核心数据结构示意
from typing import List, Optional
from pydantic import BaseModel
class MemoryEntry(BaseModel):
id: str
content: str
metadata: dict
embedding: Optional[List[float]] = None
created_at: str
last_accessed: str
# 关键设计:每个记忆条目都有明确的元数据结构
# 而不仅仅是“一段文本+向量”
class MemoryStore:
def __init__(self, storage_path: str):
self.storage_path = storage_path
# 本地优先:所有数据存储在用户自己的文件系统
def add(self, entry: MemoryEntry):
# 结构化写入:不仅仅是存向量,还保留原始文本和元数据
...
def search(self, query: str, top_k: int = 5):
# 混合检索:向量相似度 + 元数据过滤 + 时间衰减
...
这个设计的精妙之处在于混合检索策略。Awareness不是单纯依赖向量相似度,而是结合了元数据过滤和时间衰减机制。这意味着Agent在检索记忆时,可以基于时间、项目、任务类型等维度进行精确过滤,而不是把所有历史都混在一起算相似度。
Awareness在LongMemEval基准上达到了96%的R@5。但比这个数字更重要的是它的测试方法——通过真实生产检索管道进行测试。
// 复现基准测试的核心逻辑
import { AwarenessMemory } from './awareness';
const memory = new AwarenessMemory({
storagePath: './test-memory',
embeddingModel: 'text-embedding-3-small'
});
async function benchmarkLongMemEval() {
const testCases = loadLongMemEvalTestCases();
let hits = 0;
for (const testCase of testCases) {
// 模拟真实使用:先写入记忆
for (const doc of testCase.documents) {
await memory.add({
content: doc.text,
metadata: { source: doc.source, timestamp: doc.timestamp }
});
}
// 再模拟Agent查询
const results = await memory.search(testCase.query, 5);
if (results.some(r => r.id === testCase.expectedId)) {
hits++;
}
}
return hits / testCases.length; // 96%
}
关键在于,这个测试管道和实际生产环境完全一致。不是实验室里的“先索引再检索”的理想化场景,而是模拟了Agent在真实使用中“边写边读”的交互模式。
更难得的是,作者提供了公开的runner脚本。任何人都可以拉取代码,在自己的机器上复现这个96%的成绩。在这个“刷榜”成风的时代,这种透明度几乎是一种美德。
在记忆方案这个赛道上,已经有不少玩家。Mem0走的是云端SaaS路线,Letta(原MemGPT)侧重对话状态的显式管理,Zep则偏向生产级的记忆基础设施。
Awareness的差异化在于本地优先。所有数据存储在用户自己的文件系统中,不经过任何第三方服务器。这对于处理敏感代码库的开发者来说意义重大——你写的每一行代码、每一个决策记录,都不应该被发送到外部API。
而且,本地优先带来了一个被低估的优势:可预测的延迟。在云端记忆方案中,每次检索都要经过网络往返,延迟可能在100ms到数秒之间波动。而本地方案,检索延迟稳定在个位数毫秒级。
Awareness最打动我的一点,是它对“记忆写入”的独特处理。它不要求开发者显式地调用API去保存记忆,而是通过MCP与Claude Code等工具深度集成,在Agent的自然交互中自动捕获关键信息。
# 通过MCP配置接入Claude Code
{
"mcpServers": {
"awareness": {
"command": "npx",
"args": ["-y", "@everest/awareness-mcp"],
"env": {
"STORAGE_PATH": "~/.awareness/memory"
}
}
}
}
配置完成后,Claude Code会自动将项目上下文、决策记录、约束条件等结构化信息写入本地记忆库。下次启动新会话时,Agent可以通过自然语言查询这些记忆,而不需要重新阅读整个代码库。
这种“无感记忆”的体验,才是Agent记忆的正确打开方式。
当然,Awareness也不是没有问题。96%的R@5是在LongMemEval这个特定基准上取得的,真实场景的复杂程度远超测试集。此外,本地优先意味着记忆无法跨设备同步——如果你在多台机器上工作,每台机器的记忆是孤立的。
但瑕不掩瑜。Awareness代表了一种值得关注的方向:在AI Agent的记忆问题上,与其追逐更大的上下文窗口或更复杂的模型,不如把基础的数据工程做扎实。结构化存储、混合检索、可复现的基准测试——这些“笨功夫”才是让Agent真正“记住”的关键。
如果你正在构建AI Agent应用,或者对Claude Code/Cursor的“失忆”深恶痛绝,不妨试试Awareness。至少,它给了你一个可以自己验证的96%。
以上为当前进展的梳理。欢迎在评论区交流技术细节和不同观点。
🏷️ 标签:[AI · Agent] · [记忆系统] · [本地优先] · [MCP] · [基准测试]
👍 如果对你有帮助,请点赞收藏支持
当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
AI Agent的记忆问题,正在成为大模型落地最大的瓶颈之一。无论是Claude Code、Cursor还是Windsurf,这些编码助手在长会话中频繁“失忆”的痛点,几乎每个深度用户都深有体会。
今天要介绍的Awareness,是一个专为AI Agent设计的记忆层。它的核心卖点可以用一句话概括:本地优先、结构化存储,并且通过真实生产检索管道进行了基准测试——96%的R@5成绩,公开可复现。
这在这个充斥着“宣称SOTA”却无法复现的领域,显得尤为另类。
要理解Awareness的价值,首先要明白当前AI Agent记忆方案的根本困境。
主流方案无非三种:一是把整个对话历史塞进上下文窗口,成本高且很快触及长度限制;二是用向量数据库做语义检索,但召回精度在真实场景中往往惨不忍睹;三是各种“记忆摘要”方案,本质上是在用模型能力掩盖架构缺陷。
这三种方案都面临一个共同问题:记忆的写入和读取是割裂的。写入时可能很随意,读取时又缺乏结构化的过滤机制,导致Agent在关键时刻既“记不住”也“想不起”。
我最近在给一个开源项目贡献代码时,用Claude Code处理跨十个文件的类型重构。中途它连续三次忘记了我们约定的类型命名规范,每次都要我重新粘贴规则。这种体验让我深刻意识到:上下文窗口再大,也不等于记忆能力。
Awareness的架构思路很清晰:把记忆当作一等公民,而不是上下文的附属品。它通过MCP(Model Context Protocol)接入Claude Code、Cursor等工具,但底层存储和检索逻辑是独立实现的。
# Awareness 的核心数据结构示意
from typing import List, Optional
from pydantic import BaseModel
class MemoryEntry(BaseModel):
id: str
content: str
metadata: dict
embedding: Optional[List[float]] = None
created_at: str
last_accessed: str
# 关键设计:每个记忆条目都有明确的元数据结构
# 而不仅仅是“一段文本+向量”
class MemoryStore:
def __init__(self, storage_path: str):
self.storage_path = storage_path
# 本地优先:所有数据存储在用户自己的文件系统
def add(self, entry: MemoryEntry):
# 结构化写入:不仅仅是存向量,还保留原始文本和元数据
...
def search(self, query: str, top_k: int = 5):
# 混合检索:向量相似度 + 元数据过滤 + 时间衰减
...
这个设计的精妙之处在于混合检索策略。Awareness不是单纯依赖向量相似度,而是结合了元数据过滤和时间衰减机制。这意味着Agent在检索记忆时,可以基于时间、项目、任务类型等维度进行精确过滤,而不是把所有历史都混在一起算相似度。
Awareness在LongMemEval基准上达到了96%的R@5。但比这个数字更重要的是它的测试方法——通过真实生产检索管道进行测试。
// 复现基准测试的核心逻辑
import { AwarenessMemory } from './awareness';
const memory = new AwarenessMemory({
storagePath: './test-memory',
embeddingModel: 'text-embedding-3-small'
});
async function benchmarkLongMemEval() {
const testCases = loadLongMemEvalTestCases();
let hits = 0;
for (const testCase of testCases) {
// 模拟真实使用:先写入记忆
for (const doc of testCase.documents) {
await memory.add({
content: doc.text,
metadata: { source: doc.source, timestamp: doc.timestamp }
});
}
// 再模拟Agent查询
const results = await memory.search(testCase.query, 5);
if (results.some(r => r.id === testCase.expectedId)) {
hits++;
}
}
return hits / testCases.length; // 96%
}
关键在于,这个测试管道和实际生产环境完全一致。不是实验室里的“先索引再检索”的理想化场景,而是模拟了Agent在真实使用中“边写边读”的交互模式。
更难得的是,作者提供了公开的runner脚本。任何人都可以拉取代码,在自己的机器上复现这个96%的成绩。在这个“刷榜”成风的时代,这种透明度几乎是一种美德。
在记忆方案这个赛道上,已经有不少玩家。Mem0走的是云端SaaS路线,Letta(原MemGPT)侧重对话状态的显式管理,Zep则偏向生产级的记忆基础设施。
Awareness的差异化在于本地优先。所有数据存储在用户自己的文件系统中,不经过任何第三方服务器。这对于处理敏感代码库的开发者来说意义重大——你写的每一行代码、每一个决策记录,都不应该被发送到外部API。
而且,本地优先带来了一个被低估的优势:可预测的延迟。在云端记忆方案中,每次检索都要经过网络往返,延迟可能在100ms到数秒之间波动。而本地方案,检索延迟稳定在个位数毫秒级。
Awareness最打动我的一点,是它对“记忆写入”的独特处理。它不要求开发者显式地调用API去保存记忆,而是通过MCP与Claude Code等工具深度集成,在Agent的自然交互中自动捕获关键信息。
# 通过MCP配置接入Claude Code
{
"mcpServers": {
"awareness": {
"command": "npx",
"args": ["-y", "@everest/awareness-mcp"],
"env": {
"STORAGE_PATH": "~/.awareness/memory"
}
}
}
}
配置完成后,Claude Code会自动将项目上下文、决策记录、约束条件等结构化信息写入本地记忆库。下次启动新会话时,Agent可以通过自然语言查询这些记忆,而不需要重新阅读整个代码库。
这种“无感记忆”的体验,才是Agent记忆的正确打开方式。
当然,Awareness也不是没有问题。96%的R@5是在LongMemEval这个特定基准上取得的,真实场景的复杂程度远超测试集。此外,本地优先意味着记忆无法跨设备同步——如果你在多台机器上工作,每台机器的记忆是孤立的。
但瑕不掩瑜。Awareness代表了一种值得关注的方向:在AI Agent的记忆问题上,与其追逐更大的上下文窗口或更复杂的模型,不如把基础的数据工程做扎实。结构化存储、混合检索、可复现的基准测试——这些“笨功夫”才是让Agent真正“记住”的关键。
如果你正在构建AI Agent应用,或者对Claude Code/Cursor的“失忆”深恶痛绝,不妨试试Awareness。至少,它给了你一个可以自己验证的96%。
AI Agent的记忆问题,正在成为大模型落地最大的瓶颈之一。无论是Claude Code、Cursor还是Windsurf,这些编码助手在长会话中频繁“失忆”的痛点,几乎每个深度用户都深有体会……
当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
AI Agent的记忆问题,正在成为大模型落地最大的瓶颈之一。无论是Claude Code、Cursor还是Windsurf,这些编码助手在长会话中频繁“失忆”的痛点,几乎每个深度用户都深有体会。
今天要介绍的Awareness,是一个专为AI Agent设计的记忆层。它的核心卖点可以用一句话概括:本地优先、结构化存储,并且通过真实生产检索管道进行了基准测试——96%的R@5成绩,公开可复现。
这在这个充斥着“宣称SOTA”却无法复现的领域,显得尤为另类。
要理解Awareness的价值,首先要明白当前AI Agent记忆方案的根本困境。
主流方案无非三种:一是把整个对话历史塞进上下文窗口,成本高且很快触及长度限制;二是用向量数据库做语义检索,但召回精度在真实场景中往往惨不忍睹;三是各种“记忆摘要”方案,本质上是在用模型能力掩盖架构缺陷。
这三种方案都面临一个共同问题:记忆的写入和读取是割裂的。写入时可能很随意,读取时又缺乏结构化的过滤机制,导致Agent在关键时刻既“记不住”也“想不起”。
我最近在给一个开源项目贡献代码时,用Claude Code处理跨十个文件的类型重构。中途它连续三次忘记了我们约定的类型命名规范,每次都要我重新粘贴规则。这种体验让我深刻意识到:上下文窗口再大,也不等于记忆能力。
Awareness的架构思路很清晰:把记忆当作一等公民,而不是上下文的附属品。它通过MCP(Model Context Protocol)接入Claude Code、Cursor等工具,但底层存储和检索逻辑是独立实现的。
# Awareness 的核心数据结构示意
from typing import List, Optional
from pydantic import BaseModel
class MemoryEntry(BaseModel):
id: str
content: str
metadata: dict
embedding: Optional[List[float]] = None
created_at: str
last_accessed: str
# 关键设计:每个记忆条目都有明确的元数据结构
# 而不仅仅是“一段文本+向量”
class MemoryStore:
def __init__(self, storage_path: str):
self.storage_path = storage_path
# 本地优先:所有数据存储在用户自己的文件系统
def add(self, entry: MemoryEntry):
# 结构化写入:不仅仅是存向量,还保留原始文本和元数据
...
def search(self, query: str, top_k: int = 5):
# 混合检索:向量相似度 + 元数据过滤 + 时间衰减
...
这个设计的精妙之处在于混合检索策略。Awareness不是单纯依赖向量相似度,而是结合了元数据过滤和时间衰减机制。这意味着Agent在检索记忆时,可以基于时间、项目、任务类型等维度进行精确过滤,而不是把所有历史都混在一起算相似度。
Awareness在LongMemEval基准上达到了96%的R@5。但比这个数字更重要的是它的测试方法——通过真实生产检索管道进行测试。
// 复现基准测试的核心逻辑
import { AwarenessMemory } from './awareness';
const memory = new AwarenessMemory({
storagePath: './test-memory',
embeddingModel: 'text-embedding-3-small'
});
async function benchmarkLongMemEval() {
const testCases = loadLongMemEvalTestCases();
let hits = 0;
for (const testCase of testCases) {
// 模拟真实使用:先写入记忆
for (const doc of testCase.documents) {
await memory.add({
content: doc.text,
metadata: { source: doc.source, timestamp: doc.timestamp }
});
}
// 再模拟Agent查询
const results = await memory.search(testCase.query, 5);
if (results.some(r => r.id === testCase.expectedId)) {
hits++;
}
}
return hits / testCases.length; // 96%
}
关键在于,这个测试管道和实际生产环境完全一致。不是实验室里的“先索引再检索”的理想化场景,而是模拟了Agent在真实使用中“边写边读”的交互模式。
更难得的是,作者提供了公开的runner脚本。任何人都可以拉取代码,在自己的机器上复现这个96%的成绩。在这个“刷榜”成风的时代,这种透明度几乎是一种美德。
在记忆方案这个赛道上,已经有不少玩家。Mem0走的是云端SaaS路线,Letta(原MemGPT)侧重对话状态的显式管理,Zep则偏向生产级的记忆基础设施。
Awareness的差异化在于本地优先。所有数据存储在用户自己的文件系统中,不经过任何第三方服务器。这对于处理敏感代码库的开发者来说意义重大——你写的每一行代码、每一个决策记录,都不应该被发送到外部API。
而且,本地优先带来了一个被低估的优势:可预测的延迟。在云端记忆方案中,每次检索都要经过网络往返,延迟可能在100ms到数秒之间波动。而本地方案,检索延迟稳定在个位数毫秒级。
Awareness最打动我的一点,是它对“记忆写入”的独特处理。它不要求开发者显式地调用API去保存记忆,而是通过MCP与Claude Code等工具深度集成,在Agent的自然交互中自动捕获关键信息。
# 通过MCP配置接入Claude Code
{
"mcpServers": {
"awareness": {
"command": "npx",
"args": ["-y", "@everest/awareness-mcp"],
"env": {
"STORAGE_PATH": "~/.awareness/memory"
}
}
}
}
配置完成后,Claude Code会自动将项目上下文、决策记录、约束条件等结构化信息写入本地记忆库。下次启动新会话时,Agent可以通过自然语言查询这些记忆,而不需要重新阅读整个代码库。
这种“无感记忆”的体验,才是Agent记忆的正确打开方式。
当然,Awareness也不是没有问题。96%的R@5是在LongMemEval这个特定基准上取得的,真实场景的复杂程度远超测试集。此外,本地优先意味着记忆无法跨设备同步——如果你在多台机器上工作,每台机器的记忆是孤立的。
但瑕不掩瑜。Awareness代表了一种值得关注的方向:在AI Agent的记忆问题上,与其追逐更大的上下文窗口或更复杂的模型,不如把基础的数据工程做扎实。结构化存储、混合检索、可复现的基准测试——这些“笨功夫”才是让Agent真正“记住”的关键。
如果你正在构建AI Agent应用,或者对Claude Code/Cursor的“失忆”深恶痛绝,不妨试试Awareness。至少,它给了你一个可以自己验证的96%。
📌 来源:Dev.to | 标签:[AI · Agent] · [记忆系统] · [本地优先] · [MCP] · [基准测试]
本文由彩虹洋葱 AI 自动聚合生成,仅供参考,不构成任何投资或决策建议。当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
AI Agent的记忆问题,正在成为大模型落地最大的瓶颈之一。无论是Claude Code、Cursor还是Windsurf,这些编码助手在长会话中频繁“失忆”的痛点,几乎每个深度用户都深有体会。
今天要介绍的Awareness,是一个专为AI Agent设计的记忆层。它的核心卖点可以用一句话概括:本地优先、结构化存储,并且通过真实生产检索管道进行了基准测试——96%的R@5成绩,公开可复现。
这在这个充斥着“宣称SOTA”却无法复现的领域,显得尤为另类。
要理解Awareness的价值,首先要明白当前AI Agent记忆方案的根本困境。
主流方案无非三种:一是把整个对话历史塞进上下文窗口,成本高且很快触及长度限制;二是用向量数据库做语义检索,但召回精度在真实场景中往往惨不忍睹;三是各种“记忆摘要”方案,本质上是在用模型能力掩盖架构缺陷。
这三种方案都面临一个共同问题:记忆的写入和读取是割裂的。写入时可能很随意,读取时又缺乏结构化的过滤机制,导致Agent在关键时刻既“记不住”也“想不起”。
我最近在给一个开源项目贡献代码时,用Claude Code处理跨十个文件的类型重构。中途它连续三次忘记了我们约定的类型命名规范,每次都要我重新粘贴规则。这种体验让我深刻意识到:上下文窗口再大,也不等于记忆能力。
Awareness的架构思路很清晰:把记忆当作一等公民,而不是上下文的附属品。它通过MCP(Model Context Protocol)接入Claude Code、Cursor等工具,但底层存储和检索逻辑是独立实现的。
# Awareness 的核心数据结构示意
from typing import List, Optional
from pydantic import BaseModel
class MemoryEntry(BaseModel):
id: str
content: str
metadata: dict
embedding: Optional[List[float]] = None
created_at: str
last_accessed: str
# 关键设计:每个记忆条目都有明确的元数据结构
# 而不仅仅是“一段文本+向量”
class MemoryStore:
def __init__(self, storage_path: str):
self.storage_path = storage_path
# 本地优先:所有数据存储在用户自己的文件系统
def add(self, entry: MemoryEntry):
# 结构化写入:不仅仅是存向量,还保留原始文本和元数据
...
def search(self, query: str, top_k: int = 5):
# 混合检索:向量相似度 + 元数据过滤 + 时间衰减
...
这个设计的精妙之处在于混合检索策略。Awareness不是单纯依赖向量相似度,而是结合了元数据过滤和时间衰减机制。这意味着Agent在检索记忆时,可以基于时间、项目、任务类型等维度进行精确过滤,而不是把所有历史都混在一起算相似度。
Awareness在LongMemEval基准上达到了96%的R@5。但比这个数字更重要的是它的测试方法——通过真实生产检索管道进行测试。
// 复现基准测试的核心逻辑
import { AwarenessMemory } from './awareness';
const memory = new AwarenessMemory({
storagePath: './test-memory',
embeddingModel: 'text-embedding-3-small'
});
async function benchmarkLongMemEval() {
const testCases = loadLongMemEvalTestCases();
let hits = 0;
for (const testCase of testCases) {
// 模拟真实使用:先写入记忆
for (const doc of testCase.documents) {
await memory.add({
content: doc.text,
metadata: { source: doc.source, timestamp: doc.timestamp }
});
}
// 再模拟Agent查询
const results = await memory.search(testCase.query, 5);
if (results.some(r => r.id === testCase.expectedId)) {
hits++;
}
}
return hits / testCases.length; // 96%
}
关键在于,这个测试管道和实际生产环境完全一致。不是实验室里的“先索引再检索”的理想化场景,而是模拟了Agent在真实使用中“边写边读”的交互模式。
更难得的是,作者提供了公开的runner脚本。任何人都可以拉取代码,在自己的机器上复现这个96%的成绩。在这个“刷榜”成风的时代,这种透明度几乎是一种美德。
在记忆方案这个赛道上,已经有不少玩家。Mem0走的是云端SaaS路线,Letta(原MemGPT)侧重对话状态的显式管理,Zep则偏向生产级的记忆基础设施。
Awareness的差异化在于本地优先。所有数据存储在用户自己的文件系统中,不经过任何第三方服务器。这对于处理敏感代码库的开发者来说意义重大——你写的每一行代码、每一个决策记录,都不应该被发送到外部API。
而且,本地优先带来了一个被低估的优势:可预测的延迟。在云端记忆方案中,每次检索都要经过网络往返,延迟可能在100ms到数秒之间波动。而本地方案,检索延迟稳定在个位数毫秒级。
Awareness最打动我的一点,是它对“记忆写入”的独特处理。它不要求开发者显式地调用API去保存记忆,而是通过MCP与Claude Code等工具深度集成,在Agent的自然交互中自动捕获关键信息。
# 通过MCP配置接入Claude Code
{
"mcpServers": {
"awareness": {
"command": "npx",
"args": ["-y", "@everest/awareness-mcp"],
"env": {
"STORAGE_PATH": "~/.awareness/memory"
}
}
}
}
配置完成后,Claude Code会自动将项目上下文、决策记录、约束条件等结构化信息写入本地记忆库。下次启动新会话时,Agent可以通过自然语言查询这些记忆,而不需要重新阅读整个代码库。
这种“无感记忆”的体验,才是Agent记忆的正确打开方式。
当然,Awareness也不是没有问题。96%的R@5是在LongMemEval这个特定基准上取得的,真实场景的复杂程度远超测试集。此外,本地优先意味着记忆无法跨设备同步——如果你在多台机器上工作,每台机器的记忆是孤立的。
但瑕不掩瑜。Awareness代表了一种值得关注的方向:在AI Agent的记忆问题上,与其追逐更大的上下文窗口或更复杂的模型,不如把基础的数据工程做扎实。结构化存储、混合检索、可复现的基准测试——这些“笨功夫”才是让Agent真正“记住”的关键。
如果你正在构建AI Agent应用,或者对Claude Code/Cursor的“失忆”深恶痛绝,不妨试试Awareness。至少,它给了你一个可以自己验证的96%。
📎 参考来源:Awareness – local-first AI agent memory, 96% R@5 on LongMemEval, reproducible - Dev.to
🔗 原文链接:https://dev.to/everest_an/awareness-local-first-ai-agent-memory-96-r5-on-longmemeval-reproducible-47ki
📺 B站视频脚本 | 时长:3-5分钟
【片头 0:00-0:15】BGM起 → 标题字幕弹出
本地优先的AI记忆层:96%检索准确率,还公开了复现工具
【引子 0:15-0:45】制造悬念
当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
【时间轴分镜】
├ [00:02] 当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI……
├ [02:04] AI Agent的记忆问题,正在成为大模型落地最大的瓶颈之一。无论是Claude Code、Cursor还是Windsurf,这些编码助手在长会话中频繁“失忆”……
├ [04:06] 今天要介绍的Awareness,是一个专为AI Agent设计的记忆层。它的核心卖点可以用一句话概括:本地优先、结构化存储,并且通过真实生产检索管道进行了基准测……
├ [06:08] 要理解Awareness的价值,首先要明白当前AI Agent记忆方案的根本困境。……
├ [08:10] 主流方案无非三种:一是把整个对话历史塞进上下文窗口,成本高且很快触及长度限制;二是用向量数据库做语义检索,但召回精度在真实场景中往往惨不忍睹;三是各种“记忆摘要……
├ [结尾] 总结 + 求三连关注
【弹幕互动引导】
🏷️ 标签:[AI, Agent], [记忆系统], [本地优先], [MCP], [基准测试]
🎬 抖音口播脚本 | 时长:45-60秒
【0-5秒 黄金Hook】
当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
【5-35秒 核心信息(口语化表达,每句一行)】
当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。 AI Agent的记忆问题,正在成为大模型落地最大的瓶颈之一。无论是Claude Code、Cursor还是Windsurf,这些编码助手在长会话中频繁“失忆”的痛点,几乎每个深度用户都深有体会
【35-50秒 深度扩展】
本地优先的AI记忆层:96%检索准确率,还公开了复现工具
【50-60秒 强CTO结尾】
觉得有用的话,双击点赞 + 关注,下期继续带你读懂 AI!🔥
📐 拍摄建议:竖屏 9:16 · 科技感电子背景乐 · 关键数据配文字弹幕 · 表情自然语速适中
(正文见下)
当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
AI Agent的记忆问题,正在成为大模型落地最大的瓶颈之一。无论是Claude Code、Cursor还是Windsurf,这些编码助手在长会话中频繁“失忆”的痛点,几乎每个深度用户都深有体会。
今天要介绍的Awareness,是一个专为AI Agent设计的记忆层。它的核心卖点可以用一句话概括:本地优先、结构化存储,并且通过真实生产检索管道进行了基准测试——96%的R@5成绩,公开可复现。
这在这个充斥着“宣称SOTA”却无法复现的领域,显得尤为另类。
要理解Awareness的价值,首先要明白当前AI Agent记忆方案的根本困境。
主流方案无非三种:一是把整个对话历史塞进上下文窗口,成本高且很快触及长度限制;二是用向量数据库做语义检索,但召回精度在真实场景中往往惨不忍睹;三是各种“记忆摘要”方案,本质上是在用模型能力掩盖架构缺陷。
这三种方案都面临一个共同问题:记忆的写入和读取是割裂的。写入时可能很随意,读取时又缺乏结构化的过滤机制,导致Agent在关键时刻既“记不住”也“想不起”。
我最近在给一个开源项目贡献代码时,用Claude Code处理跨十个文件的类型重构。中途它连续三次忘记了我们约定的类型命名规范,每次都要我重新粘贴规则。这种体验让我深刻意识到:上下文窗口再大,也不等于记忆能力。
Awareness的架构思路很清晰:把记忆当作一等公民,而不是上下文的附属品。它通过MCP(Model Context Protocol)接入Claude Code、Cursor等工具,但底层存储和检索逻辑是独立实现的。
# Awareness 的核心数据结构示意
from typing import List, Optional
from pydantic import BaseModel
class MemoryEntry(BaseModel):
id: str
content: str
metadata: dict
embedding: Optional[List[float]] = None
created_at: str
last_accessed: str
# 关键设计:每个记忆条目都有明确的元数据结构
# 而不仅仅是“一段文本+向量”
class MemoryStore:
def __init__(self, storage_path: str):
self.storage_path = storage_path
# 本地优先:所有数据存储在用户自己的文件系统
def add(self, entry: MemoryEntry):
# 结构化写入:不仅仅是存向量,还保留原始文本和元数据
...
def search(self, query: str, top_k: int = 5):
# 混合检索:向量相似度 + 元数据过滤 + 时间衰减
...
这个设计的精妙之处在于混合检索策略。Awareness不是单纯依赖向量相似度,而是结合了元数据过滤和时间衰减机制。这意味着Agent在检索记忆时,可以基于时间、项目、任务类型等维度进行精确过滤,而不是把所有历史都混在一起算相似度。
Awareness在LongMemEval基准上达到了96%的R@5。但比这个数字更重要的是它的测试方法——通过真实生产检索管道进行测试。
// 复现基准测试的核心逻辑
import { AwarenessMemory } from './awareness';
const memory = new AwarenessMemory({
storagePath: './test-memory',
embeddingModel: 'text-embedding-3-small'
});
async function benchmarkLongMemEval() {
const testCases = loadLongMemEvalTestCases();
let hits = 0;
for (const testCase of testCases) {
// 模拟真实使用:先写入记忆
for (const doc of testCase.documents) {
await memory.add({
content: doc.text,
metadata: { source: doc.source, timestamp: doc.timestamp }
});
}
// 再模拟Agent查询
const results = await memory.search(testCase.query, 5);
if (results.some(r => r.id === testCase.expectedId)) {
hits++;
}
}
return hits / testCases.length; // 96%
}
关键在于,这个测试管道和实际生产环境完全一致。不是实验室里的“先索引再检索”的理想化场景,而是模拟了Agent在真实使用中“边写边读”的交互模式。
更难得的是,作者提供了公开的runner脚本。任何人都可以拉取代码,在自己的机器上复现这个96%的成绩。在这个“刷榜”成风的时代,这种透明度几乎是一种美德。
在记忆方案这个赛道上,已经有不少玩家。Mem0走的是云端SaaS路线,Letta(原MemGPT)侧重对话状态的显式管理,Zep则偏向生产级的记忆基础设施。
Awareness的差异化在于本地优先。所有数据存储在用户自己的文件系统中,不经过任何第三方服务器。这对于处理敏感代码库的开发者来说意义重大——你写的每一行代码、每一个决策记录,都不应该被发送到外部API。
而且,本地优先带来了一个被低估的优势:可预测的延迟。在云端记忆方案中,每次检索都要经过网络往返,延迟可能在100ms到数秒之间波动。而本地方案,检索延迟稳定在个位数毫秒级。
Awareness最打动我的一点,是它对“记忆写入”的独特处理。它不要求开发者显式地调用API去保存记忆,而是通过MCP与Claude Code等工具深度集成,在Agent的自然交互中自动捕获关键信息。
# 通过MCP配置接入Claude Code
{
"mcpServers": {
"awareness": {
"command": "npx",
"args": ["-y", "@everest/awareness-mcp"],
"env": {
"STORAGE_PATH": "~/.awareness/memory"
}
}
}
}
配置完成后,Claude Code会自动将项目上下文、决策记录、约束条件等结构化信息写入本地记忆库。下次启动新会话时,Agent可以通过自然语言查询这些记忆,而不需要重新阅读整个代码库。
这种“无感记忆”的体验,才是Agent记忆的正确打开方式。
当然,Awareness也不是没有问题。96%的R@5是在LongMemEval这个特定基准上取得的,真实场景的复杂程度远超测试集。此外,本地优先意味着记忆无法跨设备同步——如果你在多台机器上工作,每台机器的记忆是孤立的。
但瑕不掩瑜。Awareness代表了一种值得关注的方向:在AI Agent的记忆问题上,与其追逐更大的上下文窗口或更复杂的模型,不如把基础的数据工程做扎实。结构化存储、混合检索、可复现的基准测试——这些“笨功夫”才是让Agent真正“记住”的关键。
如果你正在构建AI Agent应用,或者对Claude Code/Cursor的“失忆”深恶痛绝,不妨试试Awareness。至少,它给了你一个可以自己验证的96%。
本地优先的AI记忆层:96%检索准确率,还公开了复现工具 🔥
当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
当所有AI创业公司都在追逐“记忆”这个风口时,一位独立开发者却选择了一条最不性感的路径——把记忆层做成结构化、本地优先,并公开了完整的基准测试工具。这可能是AI Agent记忆赛道最扎实的一次开源实践。
AI Agent的记忆问题,正在成为大模型落地最大的瓶颈之一。无论是Claude Code、Cursor还是Windsurf,这些编码助手在长会话中频繁“失忆”的痛点,几乎每个深度用户都深有体会。
今天要介绍的Awareness,是一个专为AI Agent设计的记忆层。它的核心卖点可以用一句话概括:本地优先、结构化存储,并且通过真实生产检索管道进行了基准测试——96%的R@5成绩,公开可复现。
📌 来源:Dev.to
#[AI #Agent] #[记忆系统] #[本地优先] #[MCP]
#科技资讯 #彩虹洋葱AI
点击「复制」获取平台专属文案,到各平台编辑器(App/网页)粘贴即可发布。
有密钥的 4 个平台(微信服务号 / 头条 / 百家号 / 微博)可自动发布,密钥填好后自动点亮。
| 平台 | 状态 | 操作 |
|---|---|---|
| 简书 | 📋 手动复制 | |
| 快手 | 📋 手动复制 | |
| 微博 | 🔑 待配置密钥 | |
| CSDN | 📋 手动复制 | |
| 掘金 | 📋 手动复制 | |
| 公众号 | 🔑 待配置密钥 | |
| 今日头条 | 🔑 待配置密钥 | |
| 知乎 | 📋 手动复制 | |
| B站 | 📋 手动复制 | |
| 抖音 | 📋 手动复制 | |
| 百家号 | 🔑 待配置密钥 | |
| 小红书 | 📋 手动复制 |