# 人工智能背景下的图像管理

**URL:** <https://meta.discourse.org/t/managing-images-in-ai-context/380828>\
**Category:** Development\
**Created:** [2025年八月28日 22:32 UTC](https://meta.discourse.org/t/managing-images-in-ai-context/380828 "2025-08-28T22:32:19Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [2025年八月28日 22:32 UTC](https://meta.discourse.org/t/managing-images-in-ai-context/380828/1 "2025-08-28T22:32:20Z")

</div>

我们对 AI 上下文中的图像管理有一些内部疑问，因此我想在公开问题中介绍一些注意事项。

### 问题

今天的 LLM 支持多种模态。所有主要供应商现在都支持将图像作为输入，一些供应商（尤其是谷歌）支持将图像作为输出。

这给 Discourse AI 带来了一个问题：我们如何将“图像”呈现给 LLM。

具体来说，如果我们有这个示例帖子：

```plaintext
你好，这是我的照片：

![image|531x401](upload://xd5Pv36uPIVKBqya8N5BzZGsJrN.png)

这是另一张照片

![Sam standing next to a window|531x401](upload://xd5Pv36uPIVKBqya8N5BzZGsJrN.png)

结束

```

我们如何将其呈现给 LLM：

## 选项 1：保留 Markdown，附加图像

**方法：** 将所有文本放在一起，在末尾附加图像。

```json
[
  "你好，这是我的照片：

![image|531x401](upload://xd5Pv36uPIVKBqya8N5BzZGsJrN.png)

这是另一张照片

![Sam standing next to a window|531x401](upload://xd5Pv36uPIVKBqya8N5BzZGsJrN.png)

结束",
  image1,
  image2
]

```

* * *

## 选项 2：保留 Markdown，内嵌图像

**方法：** 交错文本和图像以保留上下文和顺序。

```json
[
  "你好，这是我的照片：

![image|531x401](upload://xd5Pv36uPIVKBqya8N5BzZGsJrN.png)",
  image1,
  "这是另一张照片

![Sam standing next to a window|531x401](upload://xd5Pv36uPIVKBqya8N5BzZGsJrN.png)",
  image2,
  "结束"
]

```

* * *

## 选项 3：剥离 Markdown，附加图像

**方法：** 完全删除图像 Markdown 语法，在末尾附加实际图像。

```json
[
  "你好，这是我的照片：

这是另一张照片

结束",
  image1,
  image2
]

```

* * *

## 选项 4：保留描述，简化 Markdown

**方法：** 剥离 Discourse 特定的格式，但保留图像描述以获取上下文。

```json
[
  "你好，这是我的照片：

这是另一张照片
Sam standing next to a window

结束",
  image1,
  image2
]

```

* * *

## 选项 5：内嵌描述，内嵌图像

**方法：** 用内嵌描述替换 Markdown，然后内嵌相应的图像。

```json
[
  "你好，这是我的照片：",
  image1,
  "这是另一张照片
Sam standing next to a window",
  image2,
  "结束"
]

```

* * *

目前我们的实现是（1），部分原因是“遗留”旧模型不允许我们定位图像，另一部分原因是人们经常使用 Discourse 来重新格式化帖子，如果我们剥离上传标记，LLM 会认为我们说了别的话，并且无法重新格式化带有图像的帖子。

此外，LLM 供应商（如 Anthropic）的建议是始终将图像放在最后。这使得 LLM 的解释最简单。

然而，这种方法对于像 [Nano Banana: Image editing in Google Gemini gets a major upgrade](https://blog.google/products/gemini/updated-image-editing-model/) 这样的 LLM 来说非常麻烦。

当我尝试这样做时，LLM 开始幻觉出上传标记，而不是渲染图像。

回想起来是有道理的。

如果我们告诉 LLM 它刚刚说了：`upload://xd5Pv36uPIVKBqya8N5BzZGsJrN.png`，那么它再次说出类似的话也就不足为奇了。

我对将我们切换到（2）感到矛盾，并且看起来（3）是“回显 LLM 刚刚说过的话，以避免幻觉”的唯一明智方法……所以我们解决这个棘手问题的方案有些混合。

在进行这项工作时，我确实探索了是否可以创建一个更公平的解决方案，其中输出和输入被同等对待，但我认为这不切实际。（我也尝试过在上传描述足够长时保留它们等等）

但目前

（1）用于输入 LLM  
（3）用于输出 LLM

长期来看：

（2）用于输入值得探索  
并剥离但保留输出的上下文位置也值得探索。

* * *

可惜的是，现在没有 LLM 供应商允许你为图像提供额外的元数据。
