资讯动态

context-mode:AI工具上下文管理的设计与落地实践

发布时间:2026/9/11 10:36:52 来源:尧图企业网站定制
做工具类项目这些年我慢慢发现一个尴尬的事实大家不缺功能缺的是“懂你的人”。“context-mode”这个词是我在给一个内部命令行工具加功能时正式立项的它解决的就是那个最刺痛的问题——会话里塞了一大堆上下文结果模型还是答非所问代码文件都摆在面前AI却只盯着一行看。简单讲context-mode是一种上下文管理模式让工具主动感知当前工作场景、动态筛选有效信息、把最有价值的那部分上下文喂给下游模型或处理逻辑。这篇文章我会从设计思路、方案选型、核心实现到踩坑实录完整拆解这个模式怎么落地尤其适合正在做AI工具、命令行应用、编辑器插件或者智能助手的开发者参考。1. context-mode 到底解决什么问题1.1 先讲清楚“上下文”这件事“上下文”这个词搞技术的人天天挂在嘴边但落到实际系统里它其实是个很重的东西。以我做的命令行工具为例用户会打开一个项目目录目录里可能有几百个文件包含代码、配置文件、日志、说明文档。用户此时想做的可能是“帮我看看为什么这个接口报错”也可能只是“帮我重构一下某个模块”。如果没有上下文意识工具该怎么回答最常见的情况是把当前目录文件列表、最近几行终端日志、外加一份系统提示词一股脑塞给模型。看起来信息齐全但本质上就是让模型在一个装满杂物的仓库里找一枚针。context-mode要解决的第一件事就是把“信息”变成“上下文”。信息是全部可用的原始数据而上下文是对当前任务真正有影响的那一小部分。这个区分听起来简单实际做起来非常考验工具的设计功力。因为在绝大多数场景下用户自己都不知道哪些信息是关键的甚至用户给出的自然语言描述本身也是模糊的。比如说“优化一下登录模块”登录模块涉及前端页面、后端接口、session管理、token校验、数据库表结构到底哪一块需要模型重点关注如果工具能把这个问题自动拆解开再针对性组装上下文效果和“一刀切”式地全量塞入差距是天上地下。1.2 没有 context-mode 的常见尴尬没有上下文模式的工具行为模式通常有三种每一种我都踩过。第一种是“零上下文模式”。模型完全不感知用户所处的场景你问它问题它只能基于常识回答。比如你在一个Python项目里问“这个报错怎么解决”模型给你输出一个通用的try-except方案而实际上你的项目是FastAPI框架报错发生在中间件层通用方案根本不适用。这种模式下的工具体验类似于和一个失忆的人合作每句话都得从头解释。第二种是“全量上下文模式”。工具为了不让模型漏掉信息把能收集的东西全部塞进去。项目文件全文、git提交历史、终端所有输出、系统配置全都拼进提示词。这个模式的问题是成本爆炸且效果反而下降。我实测过一个中等规模Java项目全量塞入约50万token单次请求光传输就要几十秒费用高得离谱。更麻烦的是模型会被无关信息干扰注意力被大量噪音稀释关键信息反而淹没了。第三种是“静态上下文模式”。工具根据预设规则固定塞入某些内容比如总是加上“你是一个资深程序员”的提示词总是把当前文件贴进去。它忽略了一个基本事实不同类型的任务需要截然不同的上下文结构。你让模型看一个接口报错可能只需要日志和最近改动的代码你让模型写一套完整的数据迁移脚本需要的是数据库表结构、实体类定义、迁移历史你让模型解释一个业务逻辑需要的是时序图或调用链信息。用一套静态模板打天下结果就是大部分场景下都不精准。1.3 context-mode 的设计目标我做context-mode这个模块时给自己立的flag很简单动态、精准、可控。动态意思是上下文的内容不是写死的而是根据当前任务状态自动变化。用户敲下命令的那一刻工具要快速判断“此刻什么信息最重要”。精准意思是塞进上下文的信息要有明确的用途每一条都要回答“为什么需要它”。可控意思是用户能够干预和调整可以手动追加信息、删除噪声、锁定关键上下文。打个比方传统模式是一个导游举着大喇叭把所有景点历史都背一遍而context-mode是一个懂你的私人导游你看一眼建筑他就知道你想听结构还是历史然后只讲重点。AI工具要想让人觉得“聪明”这个“懂你”的能力比模型本身的能力还重要。2. 方案设计与技术选型2.1 上下文模式的两条路线显式与隐式设计context-mode时我首先面对的问题是上下文怎么获取有两条路线一条是显式获取一条是隐式推断。显式获取很好理解工具主动向用户提问或者依靠用户的命令参数获得上下文。比如用户运行一个“修复报错”的命令工具就去抓取最新的错误日志用户运行“解释当前代码”工具就读取当前打开的文件。这种方式的优点是准确度高缺点是交互成本高用户必须明确表达意图工具的“智能感”就弱了。隐式推断是让工具自己去感知环境监控文件变更、分析git分支和最近commit、解析终端当前目录结构、读取编辑器光标位置。工具通过一组信号综合判断用户在做的事情。这种模式体验好但难度也大最大的难点在于信号的融合文件变更记录、git操作历史、命令行历史、打开的文件列表这些信号相互之间可能是矛盾的。用户在git分支上切换了代码版本但编辑器里打开的还是旧文件这时候以哪个为准我的经验是以“最近操作的动作”为准时间权重最高。最终我的方案是“显式为主、隐式为辅”的混合路提供一个基础上下文状态机默认通过环境感知自动组装上下文但用户可以通过参数或对话随时覆盖和修正。比如工具默认认为用户在做“修复bug”模式但用户补充一句“不我要看这段逻辑的单元测试怎么设计”模式立刻切换。2.2 上下文窗口与token预算管理做context-mode必然要面对大模型时代的那个老问题token是钱token是时间token是注意力。在经典程序里内存是稀缺资源在AI应用里token就是内存。上下文模式本质上是在帮你做内存管理。token预算管理的核心原则是分级保障核心上下文系统指令任务定义当前要处理的代码区域占用大头辅助上下文相关文件片段、历史对话摘要、环境信息分配中量可丢弃上下文冗长日志、不相关模块代码、历史完整对话坚决不占预算。我在项目里设计了三层预算结构。第一层是固定预算约占总token的20%用来放系统提示词和任务说明这部分一般不超过2000 token。第二层是动态预算约占总token的60%用来放从项目中搜集到的有效代码和关键上下文这部分会根据任务动态调整。第三层是预留预算约占总token的20%防止模型输出超长导致截断。举个例子一个模型的上下文窗口是32k我的实际可用token大概只有25k剩下7k要留给模型输出。然后这25k里固定预算占5k动态预算占15k预留5k。如果你把全部32k都塞满输入大概率模型回答到一半就断了这个问题很多人踩过。我建议所有做这类工具的开发者第一件事就是给你的上下文窗口画一张“预算饼图”并且写进代码里强制生效。没有预算管理的context-mode走不了几步就会失控。2.3 工具链与基础组件的选型逻辑技术选型上我踩过的坑比较多总结下来有几个原则值得分享。第一上下文采集组件要选“半衰期短”的工具。什么意思就是采集到的信息要新鲜。文件监听我用的是类inotify机制日志采集用的是tail -f风格而不是全量读文件git状态检查用的是增量diff。这三个选择都是为了保证采集到的上下文是当前时刻的而不是几分钟前的快照。第二上下文存储要区分“临时记忆”和“长期记忆”。临时记忆指当前会话中的上下文我用内存数据结构保存会话结束就清理。长期记忆指跨会话的偏好和知识积累比如用户的项目规范、常用术语、历史决策这个我用嵌入式向量数据库保存按相似度召回。第三对模型接口做一层抽象不要绑死某一家。因为不同模型对上下文的处理方式差异很大有的模型擅长长文检索有的模型对指令理解更强。context-mode的目标是管理好上下文至于把上下文交给哪个模型去理解应该是可插拔的。我在这层抽象上花了两天时间后来模型换了好几版都没再改过代码这笔投资很值。3. 核心实现一个可落地的上下文管理器3.1 整体结构四段流水线context-mode在代码层面的核心是一条四段流水线采集Collect—筛选Filter—组装Assemble—刷新Refresh。采集阶段负责从各个源头获取原始材料包括当前工作目录文件列表、最近修改记录、git状态、终端输出、打开文件内容、环境变量、系统信息等。筛选阶段负责判断哪些材料真正有用这一步是核心中的核心。组装阶段把筛选出的上下文按照一定结构拼装成提示词或数据包。刷新阶段负责监控上下文是否过期如果用户有新的操作需要自动触发重新采集。这四段是串行执行的但并不是从头到尾跑一遍就结束。我在实现时做了一个事件驱动的设计当文件发生变化、git分支切换、命令执行完成这些事件发生时自动触发级联刷新。比如用户刚在终端里跑了一条pytest命令工具立刻感知到“测试事件”重新筛选上下文时就会倾向保留测试文件、最近的测试报告和被测模块的代码。这个事件驱动的设计是context-mode的灵魂没有它上下文就只是“一次性快照”而不是“持续理解的流”。3.2 筛选算法怎么判断“这条信息有用”筛选是整个context-mode里最考察功力的部分我试过很多种方案从简单的关键词匹配到复杂的重排序模型各有取舍。第一版我用的是规则筛选设置一些决策树比如“如果报错关键词出现就收集日志如果函数名被提及就收集该函数定义”。好处是速度快、结果可解释坏处是规则写不完真实场景千奇百怪规则一旦冲突上下文就会错乱。第二版我换成了Embedding相关度排序把用户当前的任务描述、最近的上下文、每个候选文件的内容分别做向量化然后计算相似度取Top N。这个方案效果好了很多但也有新问题文件之间可能有重复代码相似度高但信息冗余另外计算量也比较大做个向量化就要一秒钟交互体验打折。最终的方案是“规则语义”的混合模式第一轮先用规则缩小候选范围把明显无用的信息过滤掉第二轮再用语义排序对候选内容精排。规则负责画一个合理的框语义负责在框内挑最优。比如任务中提到“测试失败”规则过滤后只剩test目录、日志文件和被测模块的入口文件大概10个文件然后语义排序把这10个文件按相关度排个序取前3到5个。这样既控制了计算量也保证了精准度。核心筛选算法的伪代码大致长这样def filter_context(candidates, task_desc): # 第一轮规则过滤过滤掉明显无用的内容 scoped [] for candidate in candidates: if rule_match(candidate, task_desc): scoped.append(candidate) if len(scoped) TOP_K: # 第二轮语义排序取相关度最高的前K个 embeddings embed(scoped) scores cosine_similarity(embeddings, embed(task_desc)) top_indices np.argsort(scores)[-TOP_K:] scoped [scoped[i] for i in top_indices] return scoped这里TOP_K的取值需要根据token预算调整我在项目里设置为5同时限制每个文件只截取最关键的部分而不是全文。这个“截取关键片段”又涉及另一个算法代码块的索引与定位。我按AST抽象语法树来切分代码文件提取函数、类、import区而不是穷举每一行。这么做的原因很简单模型的注意力是有限的把一个500行的文件全文塞进上下文不如只塞那个报错所在的函数。3.3 组装策略让模型“看得懂”上下文筛选只是第一步怎么把筛选出的内容组装成模型能高效理解的格式同样重要。组装阶段我遵循一个原则让模型看到事实而不是看到被加工后的观点。什么意思很多人喜欢在上下文里加一些引导性的话比如“用户希望得到一个详尽的解决方案请务必输出代码”。这种话其实用处不大反而占预算。更有价值的做法是把原始事实清晰地呈现出来比如当前报错消息、相关代码段、最近变更的文件列表让模型自己从事实中得出结论。组装顺序也很有讲究。我按照“任务指令—环境信息—代码片段—日志/错误信息—变更记录”的顺序排列。任务指令永远放在最前面让模型第一时间知道要做什么环境信息其次比如操作系统、语言版本、框架版本让模型知道约束条件代码片段紧随其后按“当前聚焦代码—相关函数—相关调用链”排列日志和错误信息放在代码后面变更记录放最后作为补充。这里有一个反直觉的经验很多人喜欢把git diff放在最前面认为“程序员最关心改了什么”但实测下来模型对“当前代码长什么样”的敏感度远高于“代码怎么演变的”。git diff适合作为辅助上下文不适合作为主要上下文。这是我在实际对比中发现的背后逻辑可能是模型对完整代码块的理解能力更强而diff碎片容易造成误解。3.4 刷新机制别让上下文“过期”上下文是活的这一点很多人会忽略。用户调整了一个文件但上下文还是几分钟前的旧版本模型基于旧数据回答结果自然不准。刷新机制要解决的就是“过期”问题。我的做法是为每一条上下文记录打上时间戳和信任等级。时间戳解决“新鲜度”问题信任等级解决“可靠性”问题。比如从文件系统直接读取的代码信任等级高时间戳更新频繁通过日志提取的信息信任等级中等通过模型自己推断出的信息信任等级最低在组装时要明确标注“这是模型推断的”。当用户产生新的操作刷新机制不是无脑重跑整条流水线而是做增量刷新只更新被影响的部分。比如用户切换了分支受影响的上下文是已变更文件列表、当前分支信息、与分支相关的测试结果而未受影响的上下比如用户事先导入的基准文档、项目整体结构可以继续保留。增量刷新能大幅降低延迟我实测下来全量刷新平均需要1.8秒增量刷新只需要200毫秒左右。增量刷新的核心是依赖追踪系统需要维护一张“上下文依赖图”记录每条上下文依赖哪些原始事件。比如“当前函数定义”这条上下文依赖“文件内容”事件和“编辑器光标位置”事件“git分支信息”依赖“git status”事件。当某个事件发生时只有依赖它的上下文才会被标记为过期并重新生成。4. 踩坑实录与排查技巧4.1 问题一上下文“污染”导致回答质量崩盘上线第一周我就遇到了一个非常头疼的问题模型偶尔会输出一些看起来一本正经但完全错误的内容。排查下来问题出在上下文污染上。什么叫上下文污染就是一些低质量、不准确的信息混进了上下文被模型当作了事实依据。最典型的两个来源是历史对话的噪音累积以及日志文件里的误导性信息。历史对话里用户之前可能说了句“这个方案太复杂了”后面模型就把“复杂”理解成了对某个具体代码模块的评价日志里一条弃用警告被模型当成了关键错误回答时抓着这个警告大做文章。我的解决方案是给上下文加“来源标注”和“置信度评分”。每条上下文都会标注来源类型比如file:path、terminal:command、git:diff、user:input同时根据来源的可靠性给置信度评分。在组装提示词时如果某些信息置信度低我会明确告诉模型“以下信息可能不准确仅作参考请以代码实际内容为准”。这一手做下来回答质量立刻稳了不少。4.2 问题二token超限和性能瓶颈token超限是另一个高频问题。问题是这样的筛选算法虽然保证了单个文件的裁剪但架不住相关文件数量多。有一次用户在一个大型微服务仓库里排查问题项目依赖链特别长筛选出来相关文件有十几个拼起来就超限了。解决这个问题我引入了“层级上下文”机制。核心的思想是先给模型一个粗略的项目地图让模型指出需要看哪个子区域然后工具再去细读那个子区域的文件。类似于医生先做全身扫描看到异常部位再针对性地做CT。第一轮组装时只放文件清单、函数调用链的骨架、关键注释不做详细展示模型基于骨架信息判断下一步需要哪个文件工具再加载对应文件的详细内容。性能瓶颈也值得单独说。上下文筛选的耗时大头在向量化和重排序我用上了层级缓存对项目文件做一次embedding后缓存到本地磁盘文件不变就不重复计算用户的每次会话按“项目路径分支名”做键值缓存。这套优化下来项目冷启动需要两秒初始化但后续操作平均延迟能控制在300毫秒以内可接受。4.3 问题三用户干预与自动化之间的冲突还有一个特别微妙的坑自动化采集到的上下文和用户手动指定的上下文冲突。举个例子工具自动检测到用户在写一个Flask接口就自动把Flask相关的上下文塞了进去。但用户手动补充说“和这个Flask接口无关重点是看数据库迁移脚本”。如果系统不够聪明可能依然拿着Flask上下文去回答用户就会觉得“这工具怎么不听人话”。我的最终策略是用户显式指令拥有最高优先级。只要用户指定了某个方向自动化的上下文采集就立即降级为辅助信号。用代码表达就是优先级比较user_manual_context active_event_context historical_context default_context。另外系统还要感知冲突并提醒用户“检测到您手动指定了数据库脚本已自动禁用Web框架相关上下文。”有反馈、可干预用户对工具的信任度才会建立起来。4.4 常见问题速查表现象可能原因排查思路解决建议模型回答与项目无关上下文采集范围过窄未覆盖关键模块检查筛选阶段是否把核心文件过滤掉了调整规则过滤的候选范围增大TOP_K回答基于过期代码刷新机制未触发查看依赖图里“文件内容”事件是否绑定为关键文件监听增加force_refresh标记token超限动态预算失控打印组装阶段的token分配日志启用层级上下文限制单个文件最大截取长度模型输出被截断预留输出token不足检查上下文窗口预算饼图降低动态预算占比预留更多输出空间同一个问题重复答错上下文里存在互相矛盾的信息检查是否有旧日志混入提高来源标注的透明度标明信息获取时间工具响应太慢采集或向量化耗时过长检查各阶段耗时分布启用增量刷新和embedding磁盘缓存5. 使用效果与适用边界5.1 实测数据有 context-mode 和没有的对比项目上线后我在内部做了一组对比测试场景是同一个仓库里的三个典型任务定位一个接口报错、为一个新功能设计实现方案、重构一个旧模块。测试指标包括回答准确率、调试轮次和平均响应延迟。结果非常直观。定位接口报错方面没有context-mode时工具基于通用知识回答准确率大概只有三成而且经常因为上下文不足来回拉扯开了context-mode后工具能自动把报错堆栈、相关接口代码、最近修改记录组装进上下文准确率直接拉到七成五以上。新功能设计方面context-mode的价值主要体现在“对项目约束的感知”上比如工具会自动带入项目现有的框架、目录规范、依赖版本约束给出的方案贴合度明显提高基本不需要大幅度推翻重做。重构旧模块方面模型能基于调用链信息判断影响面而不是只盯着单个文件猛写。响应延迟方面加入context-mode后首轮响应增加了大概五百毫秒主要用于采集和筛选但总耗时反而下降了。原来的多次低效交互被一次精准回答替代用户满意度提升了一大截。用户体验是个综合账本不要只看单次请求延迟。5.2 适用场景与不适用场景context-mode不是银弹它有自己的适用边界。经过几个月的打磨和测试我把适用场景归结为三类强场景依赖型任务、强上下文相关性任务、多步骤复杂任务。强场景依赖比如“根据当前报错修bug”强上下文相关比如“帮我看看为什么某个接口突然变慢”多步骤复杂任务比如“要把这个服务从单体迁移成微服务给出方案”。这几类任务有没有上下文模式效果差别非常大。不太适用的场景也有一是开放式头脑风暴用户自己都不知道要做什么工具感知上下文反而会限制想象空间二是纯通用知识点问答比如“解释一下归并排序”这跟项目上下文毫无关系开着context-mode反而增加噪音三是对实时性要求极高的场景上下文采集本身有时间开销如果用户只需要快速跑通一个简单命令context-mode带来的收益可能不如开销。5.3 技术实现的边界与扩展方向目前这个实现还有不少值得扩展的空间。最想改进的方向有三个一是多模态上下文的支持现在只能处理文本未来可以接入截屏图像、UI界面结构、代码运行时的可视化信息二是跨会话的记忆能力现在的长期记忆比较粗糙只能保存向量化片段未来希望实现“记忆的自动整合与遗忘”让工具自己判断哪些旧记忆该保留、哪些该淡化三是多agent协作时的上下文共享当多个agent分头处理一个复杂任务时它们之间的上下文如何高效同步、避免互相覆盖这是个很有意思的课题。另外一个实际观察是context-mode和模型能力是叠加关系不是替代关系。模型本身更强时context-mode的价值甚至会更凸显因为强模型对上下文的利用率更高喂给它精准的上下文输出质量会成倍提升。所以我给同行的建议是别等模型更强了再补上下文能力现在就把上下文管理做好等模型进步之后你的工具会跟着受益。6. 经验总结与调参建议6.1 上下文调优的五个关键参数实战下来有五个参数对context-mode效果的影响最大值得反复调试我把它们整理出来供大家参考。第一个是采集深度max_scan_depth。它决定工具会向多深的目录扫描比如depth1只扫当前目录depth3能扫到三级子目录。过浅容易漏信息过深则噪声剧增。我的经验是先设3观察日志里筛选阶段的有效命中率如果低于50%就减小深度。第二个是候选数量top_k_candidates。这直接影响后续语义排序的质量和性能。太大拖慢速度太小漏掉关键信息。建议以3到8为基准根据项目规模动态调整。第三个是文件截取阈值file_snippet_limit。单个文件最多截取多少行或多少token。设大了一份文件可能占满动态预算设小了核心函数可能没被截到。我的做法是跟AST配合优先截取函数级代码段而不是按行数硬切。第四个是置信度阈值confidence_threshold。如果一条上下文的置信度低于这个值它就会被降级或剔除。阈值设太高有效信息会被误杀设太低噪声混入。建议从0.6起步根据误判率微调。第五个是刷新灵敏度refresh_sensitivity。它控制事件触发后多快启动重采集以及哪些事件类别需要触发全量刷新。灵敏度过高会导致频繁重建上下文响应延迟飙升过低则上下文容易过期。我最终用了“分级刷新”策略文件保存秒级刷新分支切换立即全量刷新普通命令输出在完成后再刷新。6.2 不同场景的参数推荐6.2 不同场景的参数推荐具体调参没有放之四海皆准的值但我可以分享一组实测比较靠谱的基准配置。故障排查场景核心矛盾是快速精准定位我建议采集深度调到3重点关注终端日志和git diff过滤掉大量与报错无关的业务代码候选数量取4文件快照优先截取出错区域的函数级片段。代码生成场景上下文的关键是设计约束要偏重项目结构、接口定义和现有代码风格采集深度可以到4候选数量放到6给模型更多参考素材同时把“代码风格规范”抽成一块固定预算常驻上下文。文档总结类任务上下文里塞太多代码反而干扰模型理解建议采集深度降到2过滤掉实现细节只要模块说明和目录结构就够了。上面这些值都是参考线真实情况还要结合token预算一起定。有个小技巧先把动态预算固定再反推候选数量和文件截取阈值这样才不会出现“候选数量定了8结果一个文件片段就把预算吃光了”的情况。6.3 线上监控与效果评估context-mode上线后绝对不能“放养”。一定要有监控指标否则出了问题都不知道是哪一层的锅。我在项目里加了三类监控指标。第一类是上下文健康度。统计每次请求中不同来源上下文的占比、过期上下文的比例、低置信度上下文被使用的比例。这个指标能直观反映筛选和刷新机制是否正常工作。某次我就发现过期上下文占比上升到30%排查后定位到文件监听事件丢失问题修复后回答准确率立刻回升。第二类是下游效果指标。针对不同任务类型统计一次会话中需要多少次交互才能解决用户问题。这个问题我们在内部叫“多轮率”多轮率越低说明上下文组装得越精准模型一次就能理解到位。配合用户主动反馈的“赞”和“踩”标记形成闭环。第三类是成本指标。注意统计单次会话token消耗、平均缓存命中率、向量化计算量。context-mode做得好这些成本指标应该呈下降趋势因为筛选越来越准不需要反复重试和补发上下文。这里还有一个经验想提醒大家不要把模型输出质量直接等同于context-mode的质量。模型输出的影响因素太多了prompt写法、模型版本、采样参数都能干扰。要评估context-mode建议控制其他变量不变在相同模型和相同问题下对比开关context-mode的效果这样得到的数据才干净。6.4 下一步演进从“被动感知”到“主动引导”目前这套context-mode还处在“被动感知”的阶段工具感知环境但目标是响应用户的当前命令。下一步我计划的演进方向是“主动引导”让工具不完全被动而是在用户还没有明确表达时就能预判用户接下来需要什么上下文。举个例子工具检测到用户刚运行了一套测试且测试失败集中在某个模块那么即使下一轮用户还没输入工具也可以预加载那个模块的代码和最近改动记录把上下文预热好。用户一旦提问回答速度会快很多体验也更丝滑。这个预加载的思路本质上就是缓存思想在AI交互层的延伸。另外长期记忆这块我也会重点加强。现在只是简单地把历史对话做过 embedding 存入向量库下次相关时直接召回。但这会导致一个问题记忆会无限增长检索会越来越慢而且大量低价值记忆会干扰判断。未来可以考虑引入记忆的“衰减”机制被反复调用的记忆增强权重长期不用的记忆自动降级或归档。这跟人脑的记忆曲线很像不一定所有历史都重要重要的是能快速找到对当下有用的那部分。这样一方面能保证召回质量另一方面也能控制存储成本。不过话说回来功能做得再花哨也不如先用起来重要。当前这套 context-mode 已经在我自己的工具里稳定跑了几万次调用经受住了不同项目、不同模型的实战考验。我能给同行的最真诚建议就是不要等一个完美的上下文方案先把 V1 跑起来在真实场景里踩过坑比读一百篇文章都管用。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价