# 长期记忆操作
长期记忆由记忆策略从短期记忆中自动提取生成。Agent代码中主要的操作是检索长期记忆并将其注入对话上下文；同时也支持列表查询等管理操作。
#### 检索长期记忆
在每次对话开始或用户发送消息时，检索与当前上下文相关的长期记忆：
```
from agentarts.sdk.memory.inner.config import MemorySearchFilter
search_results = client.search_memories(
    space_id=space_id,
    filters=MemorySearchFilter(query="机器学习", top_k=3)
)
print(f"find {len(search_results.results)} memories"
```
参数说明：
| 参数   | 说明                                       |
|:---|:---|
| query | 检索关键词（≤2000 字符），通常使用用户最新消息；不传时按过滤条件返回记忆列表 |
| top_k  | 返回最相关的前 N 条，1\~100，默认 10                 |
   
返回结果：返回一个记忆记录列表（results）。列表中的每条记录包含记忆内容、策略类型、时间、相关度分数；列表按相关度分数从高到低排序，len(results) 即返回的记录条数。
![](https://support.huaweicloud.com/highcode-agentarts/public_sys-resources/note_3.0-zh-cn.png)
**集成模式**：将检索到的长期记忆拼接到 Agent 的系统提示词中，作为上下文信息提供给大模型：
```
system_prompt = f"""你是一个智能助手。
以下是关于当前用户的历史记忆：
{search_results}
请基于这些记忆提供个性化的回复。"""
```
#### 查询长期记忆列表
列出指定记忆库中的长期记忆记录：
```
memories = client.list_memories(space_id=space_id, limit=10)
```
#### 删除长期记忆记录
删除一条长期记忆记录，删除后该记忆不再可检索：
```
client.delete_memory(
    space_id=space_id,
    memory_id="记忆ID"
)
```
