DeepAgents · 从入门到精通 目录

§10 长期记忆:AGENTS.md 让代理记得住

先给结论:用 AGENTS.md 文件存"持久偏好"。它每轮都加载——和 Skills 的渐进式披露不同。

我一开始把 AGENTS.md 和 Skills 搞混了。 区别一句话:Skills 用到才加载,AGENTS.md 每轮都加载。

AGENTS.md 该放什么?放"身份、约定、偏好"这种恒定信息。

agent = create_deep_agent(
    model="...",
    memory=["/AGENTS.md"],    # 每轮加载
    checkpointer=MemorySaver(),
)

它和 Skills 的关键差别

维度 AGENTS.md (memory) SKILL.md (skills)
加载时机 每轮都加载 用到才加载
适合内容 身份、偏好、约定 领域知识、流程
是否可被忽略 模型自行判断是否触发

两种后端的播种方式

# StateBackend:用 files 参数播种
agent = create_deep_agent(
    model="...",
    memory=["/AGENTS.md"],
    backend=StateBackend(),
)

# StoreBackend:用 store.put() 预填
store.put(("namespace",), key="AGENTS.md", value=content)

标叔的经验:我曾把"运行时指令"塞进 AGENTS.md,比如"严格保留原图外观"。结果每轮都占上下文,还很怪。运行时指令该放 Skill 或 system_prompt。AGENTS.md 只放真正持久的东西。

标叔的结论:AGENTS.md 是代理的"性格与习惯"。少而精,别当垃圾桶。

注意:AGENTS.md 每轮加载。内容越长,每轮越费 token。只放恒定信息。

下一章,讲怎么看清代理在干嘛:流式输出。