AI 能够回复的内容与其上下文限制有关。
首先,上下文在英文中通常翻译为“context”,指的是对话聊天内容前、后的信息。使用时,上下文长度和上下文窗口都会影响 AI 大模型回答的质量。上下文长度限制了模型一次交互中能够处理的最大 token 数量,而上下文窗口限制了模型在生成每个新 token 时实际参考的前面内容的范围。
不同的 AI 平台有不同的限制方式。例如,Claude 基于 token 限制上下文,简单理解就是每次和 AI 对话,所有内容字数加起来不能太多,如果超过了,它就会忘记一些内容,甚至直接提示要另起一个对话。ChatGPT 则限制会话轮数,比如在一天之中,和它会话的次数有限制,可能 4 个小时只能说 50 句话。
应对这些限制的策略包括将复杂任务分解为小模块、定期总结关键信息以及在新会话中重新引入重要上下文。
首先我们给出一些常见缩写和专业词汇的“人话”解释,它们十分基础,但理解他们至关重要。为了讨论更加聚焦,接下来的内容将主要围绕大语言模型为主进行展开(对于其他模态的大模型,我们暂且放放):LLM:Large language model的缩写,即大语言模型,前面百团大战中的各类大模型,说的都是大语言模型(极其应用)Prompt:中文译作提示词,就是我们输入给大模型的文本内容,可以理解为你和大模型说的话,下达的指令。提示词的质量好坏,会显著影响大模型回答的质量,很多时候如果你觉得大模型回答的太差了,AI味儿太浓了,很可能是你的提示词写的不够好,换言之,不是AI不行,而是你不行😌Token:就像人类有着不同的语言,大模型也有着自己的语言体系,如图9,我们发送文本给大模型时,大模型会先把文本转换为他自己的语言,并推理生成答案,而后再翻译成我们看得懂的语言输出给我们。正如人类不同语言都有最小的字词单元(汉语的字/词,英语的字母/单词),大模型语言体系中的最小单元就称为Token。这种人类语言到大模型语言的翻译规则,也是人类定义的,以中文为例,由于不同厂商的大模型采用了不同的文本切分方法,因此一个Token对应的汉字数量也会有所不同,但在通常情况下,1Token≈1-2个汉字。请注意,大模型的收费计算方法,以及对输入输出长度的限制,都是以token为单位计量的。上下文:英文通常翻译为context,指对话聊天内容前、后的内容信息。使用时,上下文长度和上下文窗口都会影响AI大模型回答的质量。上下文长度限制了模型一次交互中能够处理的最大token数量,而上下文窗口限制了模型在生成每个新token时实际参考的前面内容的范围(关于这一点,你需要看完3.2中关于GPT的讨论,方能更好理解)
Token的策略一定程度上会影响大模型的上下文空间。我们和AI对话,有数个来回,如果这些内容太多,AI会忘记前面的内容。这就可以理解为上下限制。下面是去年的大语言模型上下文限制。src:[https://s10251.pcdn.co/pdf/2023-Alan-D-Thompson-2023-Context-Windows-Rev-0.pdf](https://s10251.pcdn.co/pdf/2023-Alan-D-Thompson-2023-Context-Windows-Rev-0.pdf)这是去年的数据了,下面是Gemini的图。src:[https://beebom.com/gemini-1-5-pro-announced/](https://beebom.com/gemini-1-5-pro-announced/)国内的kimi能处理100M的pdf文件,上下文的空间大小,已经成了营销的重要立足点。那么它有什么影响呢?
在没有使用Cursor、Copilot等工具的情况下,我们可以通过与AI对话的方式,在网页上编写一些”Hello World”式的应用,这些应用不一定只是玩具,在大多数情况下也可以使用。在具体编程过程中,我们会交替使用Claude、Gemini和ChatGPT。然而,这种方法也存在一些局限性。[heading3]4.3.1上下文限制[content]不同的AI平台有不同的限制方式:Claude基于Token限制上下文简单理解就是每次和AI对话,可能有多个来回,但是所有内容字数加起来不能太多如果超过了,它就会忘记一些内容,Claude直接就提示我们要另起一个对话了ChatGPT限制会话轮数简单理解就是,一天之中,我们和AI会话的次数有限制比如说,4个小时,只能和它说50句话那么我们只能每次说之前多准备一些内容这意味着,当功能比较复杂时,在一次会话中可能无法全部完成,需要多次会话来完成。应对策略:将复杂任务分解为小模块定期总结关键信息在新会话中重新引入重要上下文[heading3]4.3.2版本兼容性[content]大模型训练完成以后,基本上就固定了。例如,如果ChatGPT训练时iPhone 16还未发布,它就不会知道相关信息,除非重新训练。这个问题同样适用于软件版本。API兼容性指不同版本的编程接口之间的兼容程度。当AI推荐的API版本与实际使用的不一致时,可能导致代码无法正常运行或需要大量修改。解决这个问题需要我们:明确指定所需的库版本请求AI使用最新版本的API手动检查并更新关键依赖