让图片进入记忆
和 Agent 讨论系统设计时,我们会发一张架构图,再对照着图确认:哪些模块要改,哪些设计先保留。
以后再问“上次为什么保留任务队列”,Agent 需要找回当时的讨论,也需要回看图中的模块关系。
ReMe 的这次多模态记忆更新,让 Auto Memory 和 Auto Resource 都能从图片中提取信息,并保留图片来源。
会话中的图片可以和上下文一起形成记忆,资源目录里的图片可以生成独立的描述卡片。两条路径都写入现有的 daily/ 记忆层。
Auto Memory:把图片和当时的讨论一起记住
假设你给 Agent 发了一张系统架构图,并补充:
“这次只调整 Gateway,Worker 和 PostgreSQL 先不动。任务队列仍然保留,避免流量高峰时直接压到数据库。”
开启图片输入后,Auto Memory 会把图和这段讨论一起交给视觉模型。文字与图片保留在原来的对话顺序中,说话人和时间也会随之传入。这样,Agent 可以结合图中的模块关系,记录本次调整的范围、保留队列的原因和后续约束。
它直接读取会话里的图片。宿主只需把图片作为消息内容块传入,并在调用 auto_memory 时设置 include_images=true,就能让图片参与这一轮记忆生成。
视觉事实也有来源
对话图片既可能是上传的 Base64 数据,也可能是 HTTP(S) URL。ReMe 对它们分别保留来源:
- Base64 图片的原始字节默认保存在
session/images/<session_id>/,目录随session_dir配置,供以后查看; - URL 图片保留原始地址,由模型服务读取,不下载到本地。
Auto Memory 会把每张图片的准确来源随图片一起传给 Agent,并在提示词中要求它在相关视觉事实旁引用来源。每日记忆的 source_images frontmatter 也会记录这些链接,后续更新会保留并合并已有来源。读到一条来自图片的事实时,可以顺着链接回到原图。
上传 Base64 架构图后的记忆内容示意:
这次只调整 Gateway,Worker 和 PostgreSQL 保持不变。
架构图中的 Gateway 通过任务队列连接 Worker。
见 [[session/images/design-review/msg-61-image-1.png]]。
保留任务队列的原因是避免高峰流量直接压到数据库。这里既有从图中读出的关系,也有用户在讨论中明确作出的决定。会话来源继续由 source_conversation 指向 session/dialog/ 下的记录,图片来源则单独保留。
这些会话附件留在 session/ 中,不会进入资源监听流程,也不会再生成一张独立的图片描述卡。
Auto Resource:把图片资料整理成可检索的卡片
有些图片没有对应的对话:一张白板照片、一份保存下来的报表截图,或者一张以后还要查阅的流程图。它们可以直接放进工作区的 resource/。
Auto Resource 现在可以使用视觉模型解读这些图片,把可见内容整理成 daily 卡片。图片输入与文本资源共用 Agent 的记忆写入工具,原图保留在资源目录里。
例如,把一张流程图放在:
resource/2026-10-09/system-overview.png图片资源卡片示意:
---
name: 系统请求处理流程
description: Gateway 通过任务队列连接 Worker,Worker 将结果写入 PostgreSQL。
kind: image
media_type: image/png
source_resource: "[[resource/2026-10-09/system-overview.png]]"
---
![[resource/2026-10-09/system-overview.png]]
## Caption
图中包含 Gateway、任务队列、Worker 和 PostgreSQL。
请求从 Gateway 进入任务队列,由 Worker 消费并将结果写入 PostgreSQL。卡片把原图嵌入、内容描述和来源链接放在一起。截图中的文字、图表中的数字和模块之间的关系,都可以成为描述的一部分;内容取决于图片本身和所用视觉模型。
图片资料由此进入现有检索流程。以后搜索“任务队列连接哪些模块”,ReMe 可以通过卡片中的文字找到相关图片,再沿 source_resource 回看原文件。资源图片更新时,对应卡片也会更新;开启图片处理时,删除原图会移除对应的资源卡片。
Auto Resource 支持 PNG、JPG/JPEG、WebP、GIF、BMP、TIFF 和 HEIC。较大的图片会在模型请求中按需缩小或转换格式,原始资源文件保持不变。HEIC 需要额外安装 reme-ai[image-heif]。
如何开始使用
两个入口都需要支持图片和工具调用的视觉模型,以及兼容的 AgentScope wrapper 和 formatter。模型由所选 wrapper 的 as_llm 绑定决定。凭证配置见基础配置。
以 ReMe 默认配置和 OpenAI 兼容服务为例,把 YOUR_VISION_MODEL 换成服务提供的模型名称后启动 ReMe:
reme start \
components.as_llm.default.backend=openai \
components.as_llm.default.model=YOUR_VISION_MODEL \
components.as_llm.default.parameters.max_tokens=4096图片开关分别作用于两个入口:
| 入口 | 默认值 | 启用方式 |
|---|---|---|
| Auto Memory | include_images=false | 调用 auto_memory 时传入 include_images=true |
| Auto Resource | include_images=true | 资源监听默认处理图片;手动调用也可显式传入该参数 |
在另一个终端中调用同一工作区的服务。下面展示会话图片的消息格式;将 URL 换成模型服务可访问的 PNG 图片地址:
reme auto_memory session_id=design-review include_images=true messages='[
{
"id": "a",
"name": "user",
"role": "user",
"content": [
{"type": "text", "text": "这次只调整 Gateway。保留任务队列,避免高峰流量直接压到数据库。"},
{"type": "data", "source": {
"type": "url",
"media_type": "image/png",
"url": "https://example.com/system-overview.png"
}}
]
}
]'本地图片应使用 Base64 消息内容块提交。重复提交 Base64 图片时,保持会话 ID、消息 ID 和图片在消息中的位置稳定;已有附件会直接复用,不会覆盖。替换图片应使用新的消息 ID。完整输入与附件规则见 Auto Memory。
对于已放入资源目录的图片,可以等待资源监听处理,也可以手动提交:
reme auto_resource include_images=true \
changes='[{"path":"resource/2026-10-09/system-overview.png","change":"added"}]'模型和 wrapper 的图片数量限制仍然生效。资源图片的详细配置、格式要求与处理规则见 Auto Resource。