夙愿:写给普通人的上下文工程完全指南:让每一次 AI 对话都能复利
夙愿:写给普通人的上下文工程完全指南:让每一次 AI 对话都能复利
夙愿:写给普通人的上下文工程完全指南:让每一次 AI 对话都能复利 夙愿:写给普通人的上下文工程完全指南:让每一次 AI 对话都能复利 Modified December 15, 2025 3、在 Cherry Studio 中配置知识库 接下来,开始实操。 还记得前面配置 Cherry Studio API 的时候,我让你添加两个模型:Qwen/Qwen3 Embedding 8B 和 Qwen/Qwen3 Reranker 8B 吗?这两个就是用来做知识库检索和重排的的。 Embedding 模型负责把文档内容转换成向量,你可以把向量理解成「意思坐标」:每段文字根据它的含义,被安排到一个多维空间里的某个位置,意思相近的内容,坐标也相近。 这样当你提问的时候,系统会把你的问题也转成一个坐标,然后去找哪些文档片段的坐标离你的问题最近,把它们捞出来,这就是检索。 而 Reranker 模型负责对检索结果重新排序,把最相关的排在前面。 第一步:打开知识库页面 点击 Cherry Studio 菜单栏的「知识库」图标,进入知识库管理页面。 第二步:创建新知识库 点击「创建知识库」按钮,给你的知识库起个名字,比如「工作方法论」。 第三步:选择 Embedding 模型 在知识库设置里,选择你之前添加的 Qwen/Qwen3 Embedding 8B 作为 Embedding 模型, Qwen/Qwen3 Reranker 8B 作为重排模型,然后点击确定。 第四步:导入文档 Cherry Studio 的知识库可以配置不同的来源,有文件/笔记/目录/网址/网站,其中最常用的是前面三个。 点击「添加文件」,可以选择你要导入的文件,支持 Markdown、TXT、PDF 等格式。 由于前面的技巧 4 里,我已经让 AI 总结出了我的写作方法论,我保存到了本地,所以可以直接把这个文档作为文件上传。 导入后,系统会自动把文档切分成小块,然后用 Embedding 模型把每一块转换成向量,这个过程可能需要几秒到几分钟,取决于文档大小。 第五步:在对话中使用知识库 回到对话页面,在输入框上方,你会看到一个知识库的图标,点击它,勾选你刚才创建的知识库。 现在你发送消息,系统就会自动从这个知识库里检索相关内容,拼接到你的消息里发给大模型。 调整召回数量 默认情况下,系统会检索最相关的 6 段内容,如果你觉得检索到的内容太少,可以调整「召回数量」这个参数。 在知识库设置里,找到 Top K 选项,默认是 6 个片段,意思是每次检索返回最相关的 6 段内容。 如果你的知识库文档很多,或者你觉得检索结果不够全面,可以调大这个数字,比如设成 10。 3、在 Cherry Studio 中配置知识库 接下来,开始实操。 还记得前面配置 Cherry Studio API 的时候,我让你添加两个模型:Qwen/Qwen3 Embedding 8B 和 Qwen/Qwen3 Reranker 8B 吗?这两个就是用来做知识库检索和重排的的。 Embedding 模型负责把文档内容转换成向量,你可以把向量理解成「意思坐标」:每段文字根据它的含义,被安排到一个多维空间里的某个位置,意思相近的内容,坐标也相近。 这样当你提问的时候,系统会把你的问题也转成一个坐标,然后去找哪些文档片段的坐标离你的问题最近,把它们捞出来,这就是检索。 而 Reranker 模型负责对检索结果重新排序,把最相关的排在前面。 第一步:打开知识库页面 点击 Cherry Studio 菜单栏的「知识库」图标,进入知识库管理页面。 第二步:创建新知识库 点击「创建知识库」按钮,给你的知识库起个名字,比如「工作方法论」。 第三步:选择 Embedding 模型 在知识库设置里,选择你之前添加的 Qwen/Qwen3 Embedding 8B 作为 Embedding 模型, Qwen/Qwen3 Reranker 8B 作为重排模型,然后点击确定。 第四步:导入文档 Cherry Studio 的知识库可以配置不同的来源,有文件/笔记/目录/网址/网站,其中最常用的是前面三个。 点击「添加文件」,可以选择你要导入的文件,支持 Markdown、TXT、PDF 等格式。 由于前面的技巧 4 里,我已经让 AI 总结出了我的写作方法论,我保存到了本地,所以可以直接把这个文档作为文件上传。 导入后,系统会自动把文档切分成小块,然后用 Embedding 模型把每一块转换成向量,这个过程可能需要几秒到几分钟,取决于文档大小。 第五步:在对话中使用知识库 回到对话页面,在输入框上方,你会看到一个知识库的图标,点击它,勾选你刚才创建的知识库。 现在你发送消息,系统就会自动从这个知识库里检索相关内容,拼接到你的消息里发给大模型。 调整召回数量 默认情况下,系统会检索最相关的 6 段内容,如果你觉得检索到的内容太少,可以调整「召回数量」这个参数。 在知识库设置里,找到 Top K 选项,默认是 6 个片段,意思是每次检索返回最相关的 6 段内容。 如果你的知识库文档很多,或者你觉得检索结果不够全面,可以调大这个数字,比如设成 10。 但也不要设太大,太大了又回到「信息过载」的问题。 4、同时调用多个知识库 Cherry Studio 支持同时勾选多个知识库。 比如我有两个知识库: • 一个叫「职场记录」,里面存的是我每周的工作记录和复盘 • 一个叫「职场课」,里面存的是我整理的各种工作方法、沟通技巧、时间管理之类的内容 当我遇到一个工作上的问题想请教 AI,我可以同时勾选这两个知识库。 这样 AI 回答的时候,既能了解我最近在做什么、遇到了什么具体情况(从职场记录里检索),又能调用相关的方法论来给建议(从职场课检索)。 相比我只勾选一个知识库,回答的针对性会强很多。 九、写在最后 回到开头的问题:对话越聊越乱,新开窗口又失忆。 这两个痛点,本质上是一个矛盾。 你想让 AI 记住更多,就得保留更多上下文,但上下文越长,噪音越多,AI 表现越差。你想让上下文保持干净,就得新开窗口,但一新开,之前积累的理解全没了。 上下文工程就是在这个矛盾里找平衡点。 内循环解决「越聊越乱」:删掉跑偏的对话、修正错误的回答、用分支保护已有的进度、把冗长的参考资料及时更新。 每一个操作都在做同一件事:控制信息密度,让 AI 每一轮都在最相关的上下文里工作。 外循环解决「新开失忆」:把有价值的内容提炼成文档,存进系统提示词或知识库。 下次开新窗口,不是从零开始,而是带着之前的经验继续。你积累得越多,AI 对你的理解就越深,协作效率就越高。 这两个循环配合起来,你的使用体验会完全不一样。 以前你可能是这样用 AI 的:开一个窗口,聊到乱了,关掉,新开一个,重新解释一遍背景,重新调教一遍风格,周而复始,每次对话都是一次性的,用完就扔,什么都没留下。 现在你可以这样用:在单个窗口里精细管理,聊完之后把成果压缩保存,下次调用。 每一次对话都在为下一次对话积累资产,AI 越用越懂你。 这些技巧看起来是一堆零散的操作,但背后是同一件事:控制 AI 每次看到的信息。 大模型的能力是固定的,你改变不了,但你可以改变它的输入。 同样一个模型,给它一堆杂乱的上下文,和给它一份精心组织的上下文,输出质量天差地别。 这就是上下文工程的做的事情:控制上下文长度,只给最小必要的信息,让模型在最佳条件下输出。 如果你之前没用过这些功能,不用一次全学会。 建议从配置 Cherry Studio 开始,按照第三部分的步骤把 API 接好,然后找一个你正在进行的任务,试着用一下删除消息、编辑回答这些功能。 你会发现,AI 的表现,真的会变好。 继 Vibe Coding 火了之后,现在又有一个概念火了,叫做 Context Engineering(上下文工程)。 上下文工程到底有多火?我给你举个例子:Shopify 现在招聘之前,第一件事不是写 JD,而是先评估这个岗位能不能用 AI + 上下文工程来解决。 如果可以,那就直接不招这个岗位了。 Karpathy 大神也跟贴表示:上下文工程是一门精心设计填充上下文窗口的艺术与科学。 那为什么 Context Engineering 会火? 因为大家逐渐发现一个事实:这一轮大模型的能力提升,已经接近瓶颈了。 指望「等一个更强的模型」来解决问题,越来越不现实。 所以现在的竞争,已经从「训练更好的模型」转向了「用好现有的模型」。 而「用好」的关键,就是上下文工程,你「喂」给模型什么信息,怎么组织这些信息,决定了模型输出质量的上限。 很多垂直领域的 Agent 产品,最大的护城河其实不是技术,而是上下文工程的能力,谁能让用户心甘情愿地交出更多高质量的上下文,并且处理得当,谁就更能留住用户。 但回到我们个人的日常使用中,情况却很糟糕。 你知道该怎么办:新开一个对话窗口。 但新窗口里,AI 又变回了“陌生人”。那些你在上个窗口里费了半天劲让它理解的背景、你的偏好、你的工作习惯,全没了。 这就是我们目前使用 AI 最大的瓶颈: 在一个窗口里,聊多了会乱;新开窗口,又会失忆。我们每天花大量时间在重复投喂背景信息,感觉像是在给 AI 打工。 这篇文章,就是为了彻底解决这个问题。 这可不是一篇简单的技巧分享,而是一套完整的上下文工程管理工作流。 全文 16500 字,包含从基础的上下文管理(内循环),到高阶的知识库搭建(外循环),再到 Cherry Studio 的硬核配置教程。 学完这篇,我相信,你和 AI 的协作方式会发生质的变化。 一、上下文工程到底是什么 要弄懂上下文工程到底是什么?首先我们得明白什么是上下文。 当我们跟 AI 对话时,其实每个文字/符号、每一张图片、每一个文件,都在构建着一个「上下文」。 比如你在对话框里输入「你好,我是张三」、「你可以帮我写个文案吗?」,这些是上下文。 下面这张图展示了当我们跟模型对话,按下回车键之后到底发生了什么。 从这个模型调用参数的截图可以看到,「你好,我是张三」被包装成了 content(内容)的一部分,然后发送给大模型处理,最终得到大模型的回复。 接着你在对话框里粘贴了一张图片、上传了一个 PDF 文件,这也都是上下文。 你可能会有点疑惑,PDF 文件和图片这两个也不是文本(content)啊,为什么也是上下文呢? 其实道理很简单,你上传的 PDF 会被 AI 自动解析转换成文本内容,而那些具备多模态能力的大模型能够直接「看懂」图片里的信息。无论是解析出来的文字还是图像识别的结果,这些都会成为上下文的一部分。 不仅如此,我们之前的聊天记录,甚至 AI 的思考过程,都会被打包进上下文窗口,作为它生成下一个回答时的参考资料。 这就解释了为什么 AI 能够记住我们之前聊过的内容。 每次 AI 生成回答时,它都需要重新处理这些历史对话记录、我们新输入的信息,以及上传的各种文件。 但随着对话的进行,整个上下文窗口就会变得越来越拥挤。 所以,上下文工程就是在管理这个上下文窗口——如何在上下文窗口里,放入最有价值的信息。 那它跟提示词工程有什么区别?我们之前常说的提示词工程,例如使用 LangGPT 框架写出来的各种结构化提示词,本质上也都属于上下文的一部分。 只不过以前模型还不够强大,我们需要用复杂的提示词来引导 AI 理解我们的意图,描述清楚我们想要什么,希望 AI 这么做, 但现在的模型已经足够聪明,只要你输入的信息足够优质、足够丰富,AI 就能很好地完成任务,基本不再需要那些特别复杂的提示词了。 既然上下文这么重要,那是不是意味着我们应该给 AI 提供尽可能多的信息呢? 现在的模型厂商似乎也是这么想的,他们都在疯狂扩大上下文窗口。 这里需要先解释一下什么是「token」。 简单来说,token 就是 AI 理解文本的基本单位,你可以把它理解成一个个的「词块」。一个中文字符大概是 1 2 个 token,英文单词通常是 1 个 token。 比如「你好」可能是 2 个 token,「hello」是 1 个 token。 现在像 Gemini 2.5 Pro 模型已经支持高达 100 万 token,你可以四舍五入理解为可以一次性给它塞一本 70w 字的书让它梳理,按常理说,能处理的信息越多,AI 模型的能力应该越好才对。 各大模型厂商也在不断展示他们模型的「大海捞针」能力,也就是在超长文本中准确找到特定信息的能力。 但能找到信息和能高质量地处理任务完全是两回事! Chroma 的研究团队在《增加输入 Token 长度对 LLM 性能的影响》中发现,虽然随着窗口中的上下文增多,AI 有了更多信息之后回答确实更好了,但这个提升是有限度的。 一旦 token 数超过 1 万,模型的性能反而开始下降,模型在 8K 到 10K 的 token 范围内进行处理性能最好的。 (在我实测下来 Gemini 的最佳窗口可达 3w,超过了也开始性能下降,不同的模型不一样,需要各位去尝试,但一般来说,一个模型的上下文窗口越大,模型的 xxx(不知道用什么词表达)也就越大。) 如果你还没明白的话,就这么说吧,就像你在一本书里找资料,如果只给你书里的一个小节,你能很快找到需要的信息并深度理解,甚至立马能使用里面的方法去解决实际的问题。 但如果给你塞了一整本书,你反而可能会迷失在信息的海洋里,找不到重点,更别说深度思考了。 二、两个基础操作:删除与压缩 既然不是信息越多越好,那我们就需要学会主动筛选和优化输入内容。 这就是上下文工程要解决的核心问题:如何在有限的上下文窗口里,放入最有价值的信息。 上下文工程其实有很多种方法,比如删除无用信息、压缩内容、精炼表达、信息分层、内容重排序、关键信息提取、格式优化等等,每一种方法都有其特定的应用场景和技巧。 不过今天这是我们上下文工程系列的第一篇,属于入门级分享,所以我们先重点讲前面两种最基础也最实用的方法。 第一种是删除无用信息。 那什么是无用信息呢?跟本次任务无关的信息都是无用信息。 举个例子,我们经常会把网页内容、文档内容直接粘贴给 AI 去总结或者讨论,但一键全选复制粘贴的内容往往包含大量的格式符号、无关的广告信息、页面导航、markdown 语法符号等等。 这些信息不仅占用 token,还会干扰 AI 的理解。 就像我写公众号时,文章结尾会加一些引流内容,所以当我让 AI 分析我的文章时,我会只复制正文内容,删掉发布时间、发布地点、结尾引流广告、评论区评论等信息。 第二个是压缩内容。 有时候一篇很长的文章(3w 字),核心内容可能只需要 500 字就能说清楚,就可以先自己手动用更精炼的表达方式、甚至用公式来表达复杂概念,让同样的信息占用更少的 token。 或者还有一个方法:我们可以开两个窗口,第一个窗口先用 AI 帮忙提取要点浓缩成 500 字,然后再把浓缩的 500 字放到第二个窗口里再跟 AI 对话。 三、实践案例:制作旅游攻略 让我们用一个具体的例子来看看上下文工程是怎么应用的。 我们如何才能让 AI 做一份真实、有用、好用的旅游攻略呢? 比如说,我在国庆期间想要去苏州吃比较正宗的苏式面,但是不知道哪家好。 遇到这种情况,你会如何用 AI 来解决呢?先思考一下。 最初级的办法是直接问「苏州哪家苏式面最正宗?」,但由于大模型的知识库比较陈旧,给出的信息不一定是最新的。 而且可能还会胡编乱造出一个根本不存在的面馆,它也不知道哪一家真的好吃,甚至给出的面馆信息可能都是错的。 进阶一点的做法是打开 AI 的联网搜索功能,让它基于搜到的信息来回答,此时搜到的信息就是上下文的一种,这确实会提高回答质量,降低胡编乱造的可能。 但问题依然存在: 如果 AI 搜到的是 23 年的过时内容怎么办? 如果搜到的信息本身就是杜撰的怎么办? 更麻烦的是,如果搜到的都是商家花钱刷排名、故意让 AI 搜到的推广信息怎么办? 所以,更好的做法是基于更高质量的信息源。 比如我一般会使用点点 AI 搜索来问答,因为它是小红书官方出品的,能够调用小红书上的旅游攻略信息。 在旅游攻略的质量上,小红书绝对是国内独一档的,AI 给出的回答自然也更靠谱。 这里我们可以看到一个道理:使用 AI 帮你整理攻略并不难,难的是如何给 AI 提供高质量的上下文。 “懂得钓鱼技巧不重要,重要的是能找到大鱼多的地方。” 但这就是最好的方法了吗?还是有问题。 万一点点搜到的笔记正好是商家找人写的广告软文,全网都在推荐某家店,AI 就会觉得这家不错,但实际上可能只是人多又难吃的网红店呢? 我觉得最靠谱的做法是看真实用户的评论,目前来看我觉得这个方法是最可信的。 具体怎么操作呢?首先在电脑上搜索「苏式面推荐」这类帖子,下面会有很多用户评论。 然后展开全部评论内容,展开所有回复,全选复制下来,再让 AI 帮我整理哪家推荐的人多,哪家需要避雷。 但如果你直接把复制的所有信息都丢给 AI,效果可能并不好。因为复制下来的内容很杂乱,包括网站介绍、用户昵称、点赞量、发布时间等大量无关信息。 这时候就需要用到上下文工程了。我们要先处理这些信息:提取出核心的店名和用户讨论内容,删除那些无关的页面元素,然后再输入给 AI 处理。 我随便找了一个帖子,光是一个笔记的评论内容就达到了 8000+字,更别说要处理多个帖子了。所以这里我用谷歌的 AI Studio 里的 Gemini 2.5 Pro 模型来演示如何处理上下文。 提示词是: 这样,第一个帖子的信息就处理好了。 但问题来了:一个帖子的信息远远不够,数据样本太少,无法准确判断哪家真正好吃。我需要找到更多类似的帖子,汇总分析才能得出靠谱的结论。 这里就是上下文工程发挥作用的关键时刻了。 如果我简单粗暴地把所有新帖子的内容都添加到上下文里,然后让 AI 重新处理,会发生什么? 首先,token 数量会急剧增加,很容易突破模型的最佳处理范围;其次,大量重复和无关信息会干扰 AI 的判断;最后,处理成本也会大幅上升。 真正的上下文工程应该怎么做?我会运用今天讲到的两个核心方法:压缩上下文和删减无效上下文。 我的做法是这样的: 第一步:压缩上下文。 第一个帖子处理完后,我们已经得到了一个结构化的表格,这本身就是对原始 8000+字评论的高度压缩。 所有有效信息都被保留了,而且占用的 token 从近 1 万个降到了 1000 个左右。 第二步:删减无效上下文。 在处理第二个帖子之前,我会把第一个帖子的原文从上下文中删除。 在 AI Studio 中,你可以很方便地直接删除之前的对话内容,让它不再传入上下文窗口。 删除原文后,上下文里只剩下 AI 输出的那个表格,仅占用 1051 个 token。 这就是上下文工程的威力:在保留所有关键信息的前提下,将 token 使用量降低了 90%。 接下来处理第二个帖子时,我使用这样的提示词: 第三步:循环优化。 处理完第二个帖子后,我继续应用同样的逻辑:删除第二个帖子的原文,同时也删除旧版的表格。 为什么要删除旧表格?因为如果保留两个版本的表格,会让 AI 产生混淆,不知道以哪个为准。 就这样,每处理一个新帖子,上下文窗口里始终只保留最新版的汇总表格,既确保了信息的完整性,又控制了 token 的消耗。 按照这个流程处理完三四个热门帖子后,我们就得到了一份基于大量真实用户评价的苏式面馆排行榜,包括推荐理由和避雷提醒。 这份数据不仅信息量丰富,可信度也很高。 我想,经过这样一步步处理得来的攻略,比随口问一句「苏州哪家面好吃」要靠谱得多。 因为你亲眼见证了数据的产生过程,知道每一个推荐背后都有真实用户的讨论支撑,这种可信度是 AI 直接给出的答案无法比拟的。 以上是上下文工程最基础的两个操作:删除无用信息、压缩内容。 掌握了这两招,你在单次对话里的效率会明显提升。 但还有一个问题没解决:聊完之后呢? 那些你费了好大劲整理出来的表格、总结出来的方法论、调教好的写作风格,全都只存在于这一个对话窗口里。 下次遇到类似的任务,你又得从零开始。 而且随着对话越来越长,你会发现 AI 开始变「蠢」,这时候你知道该新开一个窗口了,但新窗口里 AI 又变回了陌生人,之前建立的默契全没了。 怎么解决这个问题? 接下来我们讲上下文工程的进阶用法。 我们先从一个你一定遇到过的问题说起:你打开 AI 助手(例如 ChatGPT、豆包、Kimi 等),随便聊点什么。 可能是让它帮你分析一个问题,可能是请它改一段文字,也可能只是和它讨论个想法。 一开始挺顺的,你问一句,它答一句,慢慢聊出点感觉了。 然后你们越聊越深入,你补充了更多背景信息,它的回答也越来越贴近你的需求。 你甚至感觉它开始「懂你」了,知道你想要什么,知道你的表达习惯,知道哪些细节不用说它也明白。 但聊着聊着,对话记录越来越长,你往上翻,发现这个窗口里已经塞了几十条消息了。有些是试错的废话,有些是改了好几版的内容,还有些是你中途想到什么随手粘贴进来的资料。 这时候你再让 AI 做点什么,它开始变得「不太对劲」,开始变蠢了,可能是突然答非所问,也可能是把前面已经否定的想法又翻出来了。 你知道该怎么办,新开一个对话窗口,因为大部分都会教你说,聊天窗口聊太多了之后,就新开一个。 但问题来了,新窗口里,AI 又变回了「陌生人」。那些你在上个窗口里费了半天劲让它理解的背景,现在又得重新说一遍。那些它已经知道的你的偏好和习惯,现在又得重新磨合。 更要命的是,刚才聊出来的一些好东西,现在已经埋在上个窗口的几十条记录里了,想用的话得自己翻出来复制粘贴。 一次两次还好,但如果你每天都要和 AI 聊十几次呢? 每次都在重复同样的循环:聊、聊乱了、新开窗口、重新说背景、继续聊、再聊乱、再新开窗口... 你开始怀疑,明明 AI 这么聪明,为什么每次都像失忆了一样?为什么我要不停地重复同样的话?为什么之前聊出来的好东西不能直接留下来? 这就是上一篇文章结尾埋下的问题。 我们学会了用「压缩」和「删减」让单次对话更高效,但聊完之后呢?那些优质的内容怎么保存下来?下次遇到类似的事,能不能直接接着上次的基础继续,而不是从零开始? 今天这篇文章,就是来解决这个问题的。 四、内循环与外循环 如果把上一篇文章比作「学会钓鱼的技巧」,那么这篇就是「建一个自己的鱼塘」。 要解决刚才说的那些问题,我们需要理解上下文工程的两个核心机制:内循环和外循环。 这两个词听起来有点技术感,但其实理解起来很简单,你可以把内循环想象成在一个对话窗口里做「实时管理」,把外循环想象成把对话成果「存进仓库以备复用」。 内循环:在一个窗口里做动态管理 内循环说白了就是,在一个聊天窗口内,主动管理上下文。 打个比方,就像你在厨房里做菜。切完土豆丝,你会把土豆皮扔掉吧?不然砧板上会越堆越乱。 炒完第一道菜,你得洗砧板再切第二道菜的料,不然味道会串,但调料盒呢?调料盒始终摆在旁边,随时可以用。 这就是内循环的三个核心动作。 第一个动作叫投喂。你需要把有用的信息放进上下文窗口。比如复制一篇文章、上传一个文件、输入一段背景说明。这个没什么好说的,我们平时都在这么做。 第二个动作叫清理。这是大多数人不会做的,但恰恰是最重要的,你得把用完的临时信息删掉。 前两个我们在苏式面案例里已经演示过了,投喂就是把信息放进上下文,清理就是把用完的临时信息删掉(比如处理完一个帖子就删掉原文,只保留整理后的表格)。 第三个动作叫保留。有些信息是要一直留在上下文里的,比如你的角色设定、任务目标、或者某个重要的参考标准。这些信息不能删,因为你希望 AI 每次回答都能记住这些。 所以内循环的本质就是:该扔的扔,该留的留,让上下文窗口始终保持精简高效的状态。 外循环:把成果存进知识库 如果说内循环是「过日子」,那外循环就是「攒家底」。 你和 AI 聊了半天,终于搞出一个满意的结果。可能是一套方法论,可能是一段特别好的文案,也可能是一个分析框架。 这些东西很有价值,但它们现在只存在于这个聊天窗口里。 过几天你关掉这个窗口,这些内容就埋进历史记录了。再过一个月,你可能完全忘记自己聊过这个话题,再遇到类似的需求,你又得从零开始,重新和 AI 聊一遍。 上下文工程的外循环就是要打破这个循环。 具体怎么做呢?也是三个动作。 第一个动作是提炼。你要从对话里挑出真正值得保存的部分。不是所有对话内容都要存,那些试错的废话、改了又改的草稿、临时起意的闲聊,这些都不用留。 你只留那些可以复用的精华,可能是200字的方法论,可能是一个特别好的案例,也可能是一段特别贴切的表达。 第二个动作是存储。你把提炼出来的内容整理成文档,通常是 Markdown 格式,然后存进一个知识库系统。 这个系统会把你的文档「向量化」,也就是把文字转换成计算机能理解的数字编码。这样以后需要的时候,系统就能通过计算相似度,快速找到相关内容。 第三个动作是召回。下次你再和 AI 聊天的时候,系统会自动去知识库里搜索和你当前话题相关的内容,找到最匹配的几段,然后把这些内容和你的问题一起发给大模型。 这样 AI 回答的时候,就能基于你之前积累的知识,而不是每次都从零开始,这相当于 AI 此刻就有了你的一部分「记忆」 这就是为什么它叫「外循环」,因为它跳出了单次对话的范围,让你的知识可以在不同的对话之间流动和复用。 举个例子,假设你是一个内容创作者,最近在和 AI 协作写一系列关于职场的文章。 第一篇文章写完了,过程中你和 AI 反复讨论,最终确定了一套写作风格:口语化、信息密度高、不说废话。你让 AI 把这些要点总结成一份文档,这是「提炼」。 然后你把这份文档保存到知识库里,这是「存储」。 两周后你要写第三篇文章,新开了一个对话窗口。你开始描述选题,系统自动从知识库里检索到之前那份写作风格文档,把它和你的问题一起发给 AI。 AI 从第一轮开始就知道你要口语化、信息密度高、不说废话,不用你再解释一遍,这是「召回」。 内外循环是怎么配合的? 你可以这样理解:内循环解决的是「这一次怎么聊好」,外循环解决的是「这一次的成果怎么下次再用」。 一个完整的流程是这样的。 你开始一次新对话,可能是写文案,可能是分析问题,随便什么任务。 在这个对话过程中,你用内循环的方法管理上下文:投喂需要的信息,清理用完的垃圾,保留核心的背景。 这样你能高效地得到一个满意的任务结果。 任务完成后,你把这次对话里最有价值的部分提炼出来,整理成文档,存进知识库。这是外循环的起点。 过几天,你又要处理一个类似的任务。你开始新对话,但这次不同了。 当你输入问题的时候,系统会自动从知识库里找到上次你存的那份内容,把它调出来作为背景信息。 这样 AI 的起点就比上次高了,因为它已经「知道」你上次总结的方法论了。 这,就是外循环的终点。 然后你继续用内循环的方法处理这次任务,完成后又把新的成果存进知识库,就这样不断循环,你的知识库越来越丰富,每次任务的起点越来越高。 这就形成了一个飞轮:做任务 → 存知识 → 下次起点更高 → 做任务 → 存知识 → 起点再提高。 五、为什么需要 Cherry Studio? 理解了内外循环的概念,你就会发现,要实现这套工作流,我们的 AI 工具必须支持几个关键能力。 第一个能力是删除单条对话。这是做内循环的基础,你得能精确地删掉某一条消息,把它从上下文窗口里清理出去,而不是只能整个对话删除或者全部保留。 第二个能力是支持多种模型。在前文中我用的是 Google AI Studio,它确实可以删除对话,但问题是它只能用 Gemini 系列。 如果你想用 Claude、GPT,或者国内的 DeepSeek、Kimi,AI Studio 就没办法了。 第三个能力是本地 RAG 知识库。这是做外循环的基础,你需要能导入自己的文档,让系统自动向量化,然后在对话时根据话题自动召回相关内容。 第四个能力是编辑已发送的消息。有时候你粘贴了一段内容,发送后才发现有些部分是多余的,这时候能直接点击编辑修改,比删了重发方便太多,有了这个功能还能延伸出几个上下文工程的小技巧。 还有一个是导出对话记录,你需要能把对话内容快速导出成文档(md 格式/pdf 格式),方便整理后存入知识库。 我把市面上的主流工具都试了一遍,包括各家官方的 Web 端、手机 App,还有各种第三方客户端。 说实话,我现在已经完全不用 ChatGPT、Claude、Gemini 这些官网产品了,订阅早就停了,Monica、Poe 这些聚合平台也不用。 不是因为它们不好,而是它们没法满足上下文工程的需求。 目前只有 Cherry Studio 能同时满足这些需求,而且它是开源免费的,界面设计也很舒服,不像有些工具功能是有但用起来反人类。 Cherry Studio 其实很早就有了,今年2月份 DeepSeek 爆火那阵,官网挤得根本进不去,当时很多人就是用 Cherry Studio 配置 API 来使用的。 我自己用了几个月,稳定性很好,目前还没遇到什么明显的 b