← 所有标签

# Rust

自我进化的 Rust Agent

这篇文章介绍了作者用 Rust 从零实现一个可自我进化的 AI Agent——Rust-daerwen。作者的核心观点是,真正有生命力的 Agent 不能只会对话,而要把技能、记忆和自我认知都落到磁盘上,做到可版本化、可回滚、可审计。文章把系统拆成了几个层次:记忆、技能、自我模型,以及任务循环、反思循环和主动循环等多个闭环。

作者强调,Agent 的关键不是“壳”有多漂亮,而是能否把一次对话中学到的东西沉淀下来,并在下一次任务里继续使用。为此,他设计了类似 L0/L1/L2 的记忆分层、AAAK 紧凑事实格式,以及通过反思自动生成 wiki、候选技能和改进建议的机制。文章还提到,所有这些内容都能被版本控制和自动提交,保证演化过程可追踪。

另一个重点是“闭环”。作者指出,仅仅生成技能候选并不算进化,必须让 Agent 真的调用自己学到的技能、根据失败记录去修改旧技能、并把新学到的事实写回自我认知。文章举了 skill 反哺、失败驱动进化、AAAK 反哺等例子,说明系统不是静态工具箱,而是会持续学习的结构。

文章后半部分介绍了 MCP 的作用:通过接入 Playwright 等外部工具,Agent 可以自己修复浏览器缺失、自己安装依赖,然后继续完成任务。作者还展示了它如何通过社区 skill hub 自主发现、安装并使用外部技能,让 Agent 具备“借轮子再进化”的能力。

整体来看,这是一篇偏工程实践和架构总结的长文,重点不在于某个单点功能,而在于如何把一个 AI Agent 做成可持续成长的系统。作者试图说明:如果想让 Agent 真正“越用越聪明”,就必须接受它是一个会积累、会反思、会修正自己的长期系统,而不是一次性聊天壳。

Karpathy 提出了 LLM Wiki,我用 Rust 把它造出来了,还打通了 MemPalace 知识图谱

这篇文章讲的是作者把 Karpathy 提出的 LLM Wiki 概念,用 Rust 工程化实现成了一个完整项目,并且还接上了自己的 MemPalace 知识图谱系统。作者一开始提出的问题是:和 ChatGPT 聊过的内容很容易丢失,传统 RAG 也常常像“每次第一次见文件”,知识无法持续积累。因此他把 LLM Wiki 理解为一种“活的 wiki”:不是每次检索时重新推导答案,而是让模型持续维护一个会进化的知识页面集合。

文章介绍了这个系统的整体结构,核心是一个纯 Rust workspace,包含领域模型、编排引擎、SQLite 持久化、外部知识图谱桥接和 CLI 工具等模块。作者特别强调知识不是一次写死的 Markdown,而是有生命周期的 Claim:有置信度、质量分、层级、取代关系和过时标记。旧知识不会直接删除,而是会被新的 claim 替代,从而保留可追溯性。

在检索层面,文章的方案不是单纯依赖向量搜索,而是采用三路并行召回:BM25、向量检索和知识图谱游走,再用 RRF 融合,并叠加保留强度权重。这样做的目标,是让结果既能命中语义,也能保留真正重要、经常被访问的知识。作者还加入了事件驱动和 outbox 机制,让所有写操作都能被审计、增量消费和同步到外部系统。

文章后半部分进一步展示了工程化能力:自动 lint 会检查 broken wikilink、孤岛页面、过时 claim 和缺失引用;每一次 ingest、supersede、query 和 crystallize 也都会留下审计轨迹。作者还展示了 CLI 使用方式、LLM 配置和冒烟测试,说明这个项目不只是概念展示,而是可以落地使用的工具。整体来看,这篇文章的主旨是:如果想让 LLM 真正成为“会积累的知识系统”,就不能只做聊天和检索,而要把知识的演化、审计、检索和投影都做成工程闭环。