AgentState
agent 的总状态容器,承载 system、memory、blocks、sources、tools、message_ids 和 compaction_settings。
状态容器这一段只讲模型真正可见的材料,不把所有底层状态都算进 context。
letta 先编译 memory,再把它固化成会话的 system message,然后才去计算当前窗口。
先看组成块,再看顺序。这里最容易帮助普通读者分清“哪些东西会真的进模型”。
agent 的总状态容器,承载 system、memory、blocks、sources、tools、message_ids 和 compaction_settings。
状态容器把 memory blocks、tool rules、sources 和文件块渲染成 LLM 可读的上下文文本。
上下文渲染为 system prompt 追加 AGENT_ID、CONVERSATION_ID、消息数和归档规模。
提示注入每个 conversation 都有自己持久化的 system message,位置 0,由当前 memory 重新编译得到。
会话固化按 token 预算拆出 system、memory、summary、messages、tools 等部分。
窗口评估核心块和归档记忆分别走 git-backed blocks、SQL passages 和可选向量库检索。
持久化与检索不要把记忆想成一个抽象黑盒。这里直接按时间顺序讲“它什么时候生成、存哪、怎么再回来”。
核心块记忆、Git-backed 持久化和 archive 检索并不是一条线,而是在重编译点相互联动。
很多误解都来自把 transcript、summary、文件、数据库和向量库混成一层看。
prompt 可见层、会话层、Git 真源层、缓存层和归档层都不同。
这部分是防误解,不是额外功能清单。
把 conversation_messages 当成完整真相,而忽略 system message 会被重编译并固定在位置 0。
先分清三层:prompt 内可见的 core memory、会话消息、归档检索记忆。
每个结论都要能往下追。这里列的都是站内证据入口,不是营销材料。
如果你想继续看原文、行号和分专题分析,可以直接跳到证据页。
站内会把这个 repo 对应的 docs 文件按行展开,方便核对路径和行号。
你也可以直接从总览、仓库入口页和 5 篇专题页继续追。