Agent Memory Management 速通

2026-04-11 11:260阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

最近在学习 Learn Claude Code 这个项目,读到其中有关 Memory 的部分,感觉这部分在面试中也很重要,因此稍微整理了下,给各位 L友分享,速通。

Compact Memory(S06)

压缩记忆有三种方式:micro_compact, auto_compact, manual compact。

Micro_Compact

每次 loop 的开始,先进行 Micro_Compact。

随着消息的累加,尤其是工具的输出越来越多,主要把之前的工具的输出(content)被更简短的文字取代。

result["content"] = f"[Previous: used {tool_name}]"

比如:原来的内容——{ “role” : “user”, “content” : “[北京的天气是 xxxxxxxxxxxxxxxxxxxxxxxxxx]” } —>{“role” : “user”, “content” : “[Previous: used {search}]”

> 为什么是role=user?因为根据这个项目的设计,每次工具生成的内容作为role=user的 content,以作为新的一轮输入,让模型输出答案。

Auto_Compact

在 Micro_Compact后,如果发现经过 Micro_Compact压缩之后,token数量还比较多,则把之前的全部消息压缩成一个 summary,内容大大缩短,同时保存为一个json(方便后续查找记录),最后把这个 summary 作为 user 的 content输入给模型。

阅读全文
标签:纯水
问题描述:

最近在学习 Learn Claude Code 这个项目,读到其中有关 Memory 的部分,感觉这部分在面试中也很重要,因此稍微整理了下,给各位 L友分享,速通。

Compact Memory(S06)

压缩记忆有三种方式:micro_compact, auto_compact, manual compact。

Micro_Compact

每次 loop 的开始,先进行 Micro_Compact。

随着消息的累加,尤其是工具的输出越来越多,主要把之前的工具的输出(content)被更简短的文字取代。

result["content"] = f"[Previous: used {tool_name}]"

比如:原来的内容——{ “role” : “user”, “content” : “[北京的天气是 xxxxxxxxxxxxxxxxxxxxxxxxxx]” } —>{“role” : “user”, “content” : “[Previous: used {search}]”

> 为什么是role=user?因为根据这个项目的设计,每次工具生成的内容作为role=user的 content,以作为新的一轮输入,让模型输出答案。

Auto_Compact

在 Micro_Compact后,如果发现经过 Micro_Compact压缩之后,token数量还比较多,则把之前的全部消息压缩成一个 summary,内容大大缩短,同时保存为一个json(方便后续查找记录),最后把这个 summary 作为 user 的 content输入给模型。

阅读全文
标签:纯水