记忆

持久化记忆让会话能够记录哪些做法成功(以及哪些失败),并在之后取回这些事实。 每个 SDK 会话都有一个文件存储,默认位于 <workspace>/.a3s/memory;若设置了 ACL memory_dir,则使用该路径。只有当你想换用其他路径或后端时,才需要传入 memoryStore / memory_store(Rust 中为 with_file_memory,Go 中为 FileMemoryDir);相对路径以进程当前工作目录为基准解析。用 rememberSuccess / rememberFailure 显式写入结果,再用 recallSimilar、recallByTags 或 memoryRecent 取回它们。

LLM 抽取也默认开启(ACL memory 块中的 llm_extraction)。每个提示和回复都 非空的 turn 完成后,会话会请模型提炼可长期保留的记忆:每个 turn 最多 5 条,输入 最多 8,000 个字符。关闭会话时会等待(有超时上限)正在进行的抽取完成。默认 store 会把完全重复的记忆(忽略大小写和空白后内容相同,且至少 24 个字符)合并到已有条目; 其他记忆都单独存储。

Rust
Node.js
Python
Go

四种 SDK 都暴露显式的记忆写入与查询辅助方法。Go 对应 RememberSuccess、RememberFailure、RecallSimilar、RecallByTags、 MemoryRecent 以及 working/short-term memory 方法。rememberSuccess 接收简短 任务描述、涉及的工具列表(同时作为可搜索标签)以及结果文本;rememberFailure 依次接收任务、错误文本和工具列表。recallByTags 返回带有任一给定标签的条目。默认 store 为 recallSimilar 排序时,会用查询中的词匹配每个条目的内容和标签,并按重要性 和时间新近度加权。若记忆 store 无法创建,会话创建会失败,并返回一个包含 store 路径 的会话初始化错误。