返回
HChuggingface.co
27
·15小时前·官方发布 · RSS

Give Your Coding Agents a Memory You Own

查看原文
官方公告ClaudeHugging Face模型发布开源代码

热度趋势

趋势数据积累中

百分比基于当前可用热度信号,而非评论数或独立用户人数。

推荐理由

官方发布带来Claude 模型更新信号,适合跟踪能力变化、生态影响和后续落地。

AI 摘要

编码代理在每次新任务或会话中常常从零开始,导致之前的推理过程丢失。一个共享内存解决方案,例如funes,允许代理在不同的模型和主机之间保留和回忆过去的推理。这意味着一个在Claude Code中开始的任务可以在Codex中继续,第二个代理能够记住第一个代理的思考过程。funes是开源的,支持各种模型,并解决安装问题或遗漏的召回。

I work across several machines, and I switch coding agents depending on the task. Every one of them meets my projects as a stranger. The reasoning from “last Tuesday” disappears when the session ends. Each new agent, on each new host, starts from zero.

Earlier this year, Software Forgets: Agent Traces Are the Memory made the case that coding agents already produce the record we keep losing. As they search a codebase, try approaches, hit errors, read documentation, and change direction, they leave behind a dense account of not just what changed, but why .

While the diagnosis is correct, traces are only potential memory. The session logs of an agent are still just an archive. You cannot grep your way to “why did we move off the streaming parser?” across ten thousand turns. For an agent to use those traces while it works, they need indexing, retrieval, ranking, and exact provenance.

That is what funes provides. It is a durable memory layer for your agents (Claude Code, Codex, pi, and Hermes). It is built from the sessions already on your machine. It works locally and becomes part of your agent's normal workflow with one command. When you want it to, it can also travel to a Hugging Face dataset you own, private by default.

Add memory to the agent you already use

funes is a single binary. Its default inference backend has no ML runtime dependency, and embedding and reranking happen on your machine . Install it:

curl -fsSL https://huggingface.co/buckets/huggingface/funes/resolve/install.sh | sh

Then add it to an agent:

funes add claude # or: codex, pi, hermes

That one add command builds the first index, gives the agent recall and get tools, and installs the automation that indexes each completed turn. Indexing is incremental, with new runs adding new turns rather than embedding the whole history again. The older and deeper content can backfill in bounded steps.

From there, you just work. When a task touches a past decision, rationale, or finding, the agent can reach for recall itself. You do not need to remember the old session or paste its context into the new one.

With funes added, recall happens inside the conversation. The agent reaches for its memory on its own and names the session behind its answer.

recall returns the original text, not a summary, and shows exactly where it came from (the agent, timestamp, session, and turn). Each result includes a get command that opens the full turn and its surrounding context.

Underneath, one deterministic pipeline parses every supported trace into the same turn-and-block shape, chunks it, embeds it with a pinned local model, and writes it to a local Lance dataset. A query combines vector and BM25 search, fuses their rankings, reranks the candidates with a cross-encoder, reweights them by recency, and attaches neighboring chunks.

That design gives funes three important properties:

- One memory across agents: Claude Code, Codex, pi, and Hermes all write to the same shape. recall spans their histories, and every hit says which agent produced it.

- Raw evidence stays intact: Nothing is distilled into a fact at write time. A result can always lead back to the turn that produced it.

- recall is local by default: No account or Hub repository is required. A hosted model does not process your sessions for indexing; embedding and reranking run on your machine, and your coding agent does the reasoning.

The agent as a stranger problem is already solved on one machine. But memory gets more useful when the next agent is running somewhere else.

A memory is a dataset, not a service

To make a memory follow your work, bind one when you add funes to an agent:

funes add codex acme/funes-memory

The bind publishes your current memory there. funes then keeps it current, indexing each turn locally and publishing at session boundaries. The agent recalls from it throughout. Run the same command on another machine and the memory follows you there.

Underneath, the local memory is a Lance dataset, and the shared memory is a Hugging Face dataset (private by default) you own.

Give Your Coding Agents a Memory You Own · BuzzRadr