AIHero
    03 / 05LLM 基础

    什么是上下文窗口?

    了解 AI 中的上下文窗口:输入/输出 Token、容量限制以及“中间信息丢失”问题,并通过优化 Token 使用提升模型表现。

    Matt Pocock
    Matt Pocock
    下一课
    本页目录

    这个 上下文窗口 由输入 Token 和 输出 Token组成。 输入 Token 可能包括系统提示词和用户提示词(用户发送的消息),输出 Token 则是助手返回的内容:

    Input/Output Tokens

    上下文窗口由输入 输出 Token 共同组成。

    随着对话变长、越来越多消息被加入,所使用的 Token 数量也会增长。

    Long Conversations

    可以想象,这不可能无限持续。每个模型对一次能够看到的 Token 数量都有硬性限制。

    上下文窗口限制

    如果对话非常长,最终一定会触及限制。此时再把整段超长对话发送给 LLM,API 很可能返回错误。

    Context Window Limits

    甚至可能在消息生成过程中触及限制:生成开始时还没有超出上下文窗口,但继续输出后便到达上限。

    Output Limits

    模型本身还没有聪明到能够绕开自己的上下文窗口限制,因此有时确实会遇到这种问题。

    “迷失在中间”问题

    但上下文窗口最大的问题是:窗口越大,“迷失在中间”的现象越严重。

    设想一段超长对话,每个圆环代表一条消息。历史开头和结尾的消息对输出影响较大,而 LLM 对位于中间的内容会少分配一些注意力。

    Lost in the Middle

    这是一个广为人知的现象,而且上下文窗口越大,表现得越明显。

    因此评估模型时,不应该只想着:“哇,这个上下文窗口太大了,真厉害,我可以塞进去这么多东西。”

    这个模型仍然可能出现迷失在中间的问题,甚至可能难以从自己的上下文窗口中找回信息。

    所以,即使模型支持很大的上下文窗口,减少上下文中的 Token 数量通常仍会得到更好的结果。

    登录以保存进度。