尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Leviathan实现原理(三):keyed slot替换、去重合并与秘密守卫的多层防线
【免费下载链接】leviathanDeep memory for agents over large datasets. Leviathan is a single static binary that turns your records (JSONL, JSON, CSV/TSV, SQLite, or anything a database CLI can export) into a ranked full-text index.项目地址https://gitcode.com/gh_mirrors/leviathan6/leviathan点击查看免费下载在 Leviathan 的 agent 记忆系统里写入remember看似简单实则藏着三套精心设计的防线keyed slot 替换让可变的值只保留最新一版去重合并让同一事实永远只存一条秘密守卫secret guard则确保任何凭证都进不了记忆库。这三层机制让记忆文件不会随时间膨胀也不会成为密钥泄漏的温床。 为什么记忆写入需要三道防线多数 agent 的记忆是一个越写越长的 markdown 文件旧值不删、重复不断、过期不清。Leviathan 的记忆则是一个独立的 SQLite 库默认~/.leviathan/memory.db每次remember都是一条主张one claim写入前要经过 src/memory/guard.rs 的校验、src/memory/write.rs 的写入决策全程一个事务提交。 keyed slot 替换旧值不是被删除而是被接替记忆里的字段key给一条记忆起了个插槽名slot比如editor、deploy.target。当同一 subject key 再次写入时Leviathan 不会让两条新旧值并排存在而是给旧行写上valid_to失效时间和superseded_by接替者 id——旧行关闭而非删除插入新行槽位上从此只有当前值有效在追加式log表里记一条supersede操作。数据库层还有一个唯一部分索引兜底保证每个槽位至多一个当前值见 src/memory/mod.rs 的idx_memories_slot。旧值并没有消失history命令随时能翻出这个槽位的全部版本as_of查询能回答那天它是什么值只是普通的 recall 永远看不到过期值。写入决策的三种结果——Created新建、Replaced槽位被接替、Duplicate合并进已有记忆——在 src/memory/write.rs#L175-L250 中分支处理。上图来自 300 个合成会话、2,400 条记忆、约 70% 写入是修正旧值的基准测试Leviathan 的答案 100% 排第一且上下文从不出现过期值而整文件加载的 MEMORY.md 在 3/4 的问题里把陈旧值一起带进了上下文。 去重合并同一件事只说一次没有 key 的写入note 类走另一条路先用 FTS 全文索引找出同 subject 下用词相近的现有记忆计算Jaccard 词重叠度复数 s 先被去掉见 src/memory/write.rs#L101-L118再按阈值分流重叠度行为结果≥ 0.8或同 key 且 kind 相同合并merge不新增行返回Duplicate0.3 ~ 0.8存为新记忆回复里附最多 3 条related提示返回Created 关联提示 0.3普通新建返回Created合并src/memory/write.rs#L320-L347不是简单丢弃而是再次确认updated_at刷新、importance 加 1封顶 5、tags 和 refs 取并集、confidence 取较大值、pinned 状态只升不降。related提示则是给 agent 的善意提醒——如果这两条冲突了去 forget 其中一条或给它们同一个 key。效果体现在曲线上markdown 方案每多学会一点会话启动就要多付一点 token整文件最终 33.3K而 Leviathan 的 briefing 在 300 个会话后仍稳定在约 736 tokens——因为重复不会堆积过期值不进 recall记忆总量不随学会的总数增长。️ 秘密守卫凭证进不来的多层防线记忆会被 recall 进 prompt所以一条存进去的密钥等于每次回忆都泄漏一次。因此 src/memory/guard.rs 的校验没有任何开关可以关闭被拒写入以退出码 2 直接挡在数据库之外。防线分三层第一层已知凭证指纹。一组正则覆盖常见凭证形态src/memory/guard.rs#L27-L48私钥头BEGIN … PRIVATE KEY、AWSAKIA/ASIA、GitHubghp_/gho_…、OpenAI/Anthropic 风格sk-、Slackxox…、GoogleAIza…、Stripesk_live_、npm、crates.io、JWT 三段式以及user:passhost形式的 URL 内凭证和password …这类赋值语句。第二层高熵兜底。指纹认不出的交给熵检测对长度 ≥ 32 的连续 token 计算香农熵同时要求大小写字母与数字混合且熵值 4.2src/memory/guard.rs#L50-L75。这个设计刻意放过 hex/base32 的哈希和 commit id它们的熵天花板较低却拦得住 base64 类密钥。第三层全字段扫描。不只查text——subject、key、tags、refs、source 逐一走过检查src/memory/guard.rs#L133-L243import恢复时同样逐行复检像密钥的行会被跳过并计数。被拒时错误信息还会给替代方案别记秘密本身记它在哪例如deploy key is in the team vault。测试用例同时验证了两面GitHub token、私钥、URL 内密码全部命中而password policy requires 12 characters这类正常句子不会误伤src/memory/guard.rs#L270-L294。⚡ 代价亚毫秒级的 remember三道防线听起来重实测很轻单库 10K、100K 乃至 100 万条记忆时remember的 p50 都稳定在约 0.2 msbriefing 约 10 ms——替换、去重、校验都发生在同一个 SQLite 事务内且写路径只碰本库。 小结防线机制源码位置keyed slot 替换同 subjectkey 新值接替旧值旧值留作历史src/memory/write.rs去重合并Jaccard ≥ 0.8 合并、≥ 0.3 提示 relatedsrc/memory/write.rs秘密守卫凭证正则 高熵检测 全字段扫描不可关闭src/memory/guard.rs三道防线共同实现了 docs/MEMORY.md 里那句设计目标Anything that can change has a key, so the next write replaces the old value rather than piling up next to it.完整的字段语义、命名空间与配置说明可继续参阅 docs/MEMORY.md基准数据在 bench/results/MEMORY_SUMMARY.md。赞分享【免费下载链接】leviathanDeep memory for agents over large datasets. Leviathan is a single static binary that turns your records (JSONL, JSON, CSV/TSV, SQLite, or anything a database CLI can export) into a ranked full-text index.项目地址https://gitcode.com/gh_mirrors/leviathan6/leviathan点击查看免费下载相关推荐Apache Beam Python 聚合变换 DistinctPCollection 去重实战与实现原理Apache Beam Python 聚合变换 DistinctPCollection 去重实战与实现原理 本篇指南聚焦 Apache Beam Python批处理流处理大数据Agent Zero 工具执行前扩展点tool_execute_before深度解析输出替换、秘密解除与并行递归守卫Agent Zero 工具执行前扩展点tool_execute_before深度解析输出替换、秘密解除与并行递归守卫 导读 本文围绕 Agent Zero人工智能大模型AI AgentAgent 框架自主智能体多智能体工具调用浏览器控制GUI 自动化MCP ClientsAI 技能插件系统Agent 记忆quicktype-xcode安装配置指南从零开始到高效使用的完整流程quicktype xcode安装配置指南从零开始到高效使用的完整流程 快速将 JSON 转换为 Swift/Objective C 代码的终极工具 ✨ 你是上一篇XXL-JOB 分布式任务调度框架技术文档下一篇【GXDE】开源下载和安装教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

ESP-Mosaico模块化架构:ESP32物联网开发解耦与总线通信实践

ESP-Mosaico模块化架构:ESP32物联网开发解耦与总线通信实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/26 17:48:50
从Vision China看机器视觉技术风向:大恒图像展台深度解读与逛展指南

从Vision China看机器视觉技术风向:大恒图像展台深度解读与逛展指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/26 17:48:50
FPGA功耗优化实战:从Vivado功耗分析到板级实测避坑指南

FPGA功耗优化实战:从Vivado功耗分析到板级实测避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/10/26 17:48:50
MORE NEWS

更多资讯

📰

二分查找解决愤怒的牛问题:最大化最小距离算法

1. 愤怒的牛问题解析 这道题目源自经典的"愤怒的牛"问题,属于算法竞赛中的二分查找应用题型。题目描述通常为:农夫John建造了一个有N个隔间的牛棚,这些隔间分布在一条直线上,坐标分别为x1,...,xN。他的C头牛对隔间非常挑…

📰

React Native鸿蒙跨平台开发:列表视图实战指南

1. 项目概述:React Native鸿蒙跨平台开发入门刚接触React Native的开发者常常会面临一个现实问题:如何快速掌握核心开发模式,同时适配新兴的鸿蒙平台?这个浏览历史列表项目正是为解决这个问题而设计的。作为React Native开发中最基…

📰

服务器配置与优化实战:从硬件选型到性能调优

1. 服务器配置入门:从零开始搭建专业级服务环境第一次接触服务器配置时,我被各种专业术语和复杂参数搞得晕头转向。经过多年实战,我发现只要掌握几个核心要点,任何人都能快速搭建稳定的服务器环境。今天我就把最实用的配置经验整理…

📰

ONLYOFFICE大文档处理崩溃问题优化方案

1. ONLYOFFICE大文档处理崩溃问题全景解析最近在技术社区看到不少关于ONLYOFFICE处理大文档时崩溃的讨论,作为一款开源的办公套件,它在企业文档协作领域确实越来越受欢迎。但当我们处理50页以上的大型文档,特别是包含复杂格式和多媒体内容时&…

📰

模板代码安全风险与增强实践指南

1. 模板代码安全性增强的必要性在软件开发领域,模板代码就像建筑工地上的脚手架——它能快速搭建起项目框架,但也可能成为安全隐患的温床。我见过太多团队因为忽视模板代码的安全性而付出惨重代价,从数据泄露到系统入侵,这些本可以…

📰

DirectX 9.0 SDK免安装版:绕过注册表与VC++依赖的离线开发方案

简介:本资源为DirectX 9.0 SDK免安装精简版,面向Windows平台C游戏开发初学者与图形编程学习者,解决传统SDK安装繁琐、环境配置复杂的问题,支持快速接入Direct3D 9、DirectSound、DirectInput等核心组件开发。压缩包为RAR格式&…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬