news 2026/10/22 21:52:05

Claude Skills实战:用渐进式加载突破上下文窗口瓶颈

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Claude Skills实战:用渐进式加载突破上下文窗口瓶颈

1. 从一次崩溃的会话说起:为什么需要Skills

先讲一个我的真实经历。有次我在做一个跨平台数据同步工具,代码量不大,但涉及的模块特别散:Python爬虫、Node.js后端、SQLite迁移脚本、还有一堆刷新频率很低的业务规则文档。那时候我习惯把所有东西怼进同一个提示词,让助手一次性把所有规则记住。结果呢?上下文窗口越塞越满,助手在后续对话里开始"记忆漂移"——前面刚确认过的技术栈,后面就忘了,甚至给出了彼此冲突的改法。最糟糕的一次,它把数据库字段名改错了,我排查半小时才发现是它在上下文里自相矛盾。

这个问题的本质是:我们把AI助手当成了一个"一次性塞满所有知识的容器",但实际上,上下文窗口是它唯一的工作记忆,里面装的东西越多,信噪比越低。直到我看到Claude Skills这套机制的设计,才意识到方向错了。正确的思路应该是按需加载、逐层调用——平时只给助手最精简的系统指令,等真正需要某块专业能力时,再临时把对应的技能包"挂载"进来。这种设计很像操作系统里的动态链接库:进程启动时只加载必要模块,调用到某个功能才去磁盘上找对应的.so或.dll,而不是把所有代码一股脑编译进内核。

这篇文章就是我对这套机制的理解和实践总结,适合两类人看:一类是重度使用AI辅助开发、被长对话崩溃折磨的工程师;另一类是想在自己项目里给LLM应用做"知识组织"的开发者。全文我会按设计思路、架构层级、实现细节、经验教训几个部分来展开,尽量说清楚每个设计背后的"为什么"。

2. Skills的整体设计思路拆解

2.1 两类Skills:常驻与按需

Claude Skills在设计上分成了两个层级,对应两种完全不同的加载时机。

第一类是系统级(System Level)Skills。这类技能数量极少,但能力覆盖面广,负责基础设施类的工作,比如文件读写、代码运行、网络请求这些通用操作。它们会在每次对话开始时随系统提示词一起加载,常驻上下文,随时可用。第二类是Agent级(Agent Level)Skills,这才是真正体现"渐进式加载"精髓的部分。Agent级技能数量可以很多,但默认全部处于未加载状态,只有当用户的请求命中某个技能的描述文件(也就是SKILL.md)时,运行时才会把它完整加载进上下文。

打个比方,系统级Skills像你桌上常年摆着的钢笔和便签纸,随手就能拿;Agent级Skills像仓库里的工具柜,平时锁着,只有接到具体任务(比如"帮我做一份报表")才去开对应的抽屉,把里面的计算器、模板取出来。

这种分级设计最直接的好处是:把上下文空间花在刀刃上。系统级Skills虽然每轮对话都要占一些配额,但换来的是全流程的流畅操作能力;Agent级Skills则是纯粹的"用多少,占多少"。你不会为了让助手偶尔算个均值,就让一份完整的统计分析技能文档在每一轮对话里都占着几千个token——那等于在大房子里给一个八百年用一次的工具专门划了个衣帽间。

2.2 SKILL.md:一切都从说明书开始

每个技能的本质是一个独立的目录,目录里最核心的文件是SKILL.md。这个文件不能简单理解为"一段提示词",它更像是一份标准化的技能元数据清单。

从我拆过的多个Skill实现来看,SKILL.md一般包含这几块内容:技能的名称(name)、用途描述(description)、触发条件(triggers)、工作流程(workflow)、以及可选的示例(examples)。其中,name和description是必须在开头就写清楚的,因为运行时机制只能用它们来判断"什么时候该加载这个技能"。

description字段有个值得注意的设计:它不仅要描述"这个技能能做什么",还要强调"这个技能不能做什么"以及"在什么情况下不要加载我"。原因后面讲"最少惊讶原则"的时候会详细说,简单先记住一句话:在自动加载机制里,拒绝加载的能力和允许加载的能力同样重要。如果描述写得太宽泛,比如"处理数据分析",那么用户随口一句"统计一下这周花了多少钱"就可能误触发它,把数据分析的整套流程硬套到一个本不该用它的小任务上。

2.3 available_skills:技能注册表

所有Agent级技能的清单集中在根目录的available_skills文件中。这相当于一份索引,记录了有哪些技能包、各自对应的目录路径、以及一句话简介。

我理解这个文件的价值在于:它给了Progressive Loading一个"总览入口"。系统在每次对话开始时,并不遍历所有SKILL.md的完整内容,而是先读available_skills这份精简索引,把"技能地图"加载到轻量工作区里。等真正需要某个技能时,再顺着索引去读完整的SKILL.md。这样设计的好处是显而易见的——索引的长度和技能数量呈线性关系,但每项索引只占几十个token,几百个技能也就几千token的开销,完全在可控范围内。如果反过来,把所有SKILL.md从头到尾都读一遍,那不等用户开口,上下文已经烧掉大半。

2.4 渐进式加载的策略

渐进式加载(Progressive Loading)的核心并非"加载"本身,而是加载时机的判定策略。它有一套完整的决策链:

  1. 对话启动,系统把系统级Skills和available_skills索引载入常驻区;
  2. 每一轮用户输入进来,系统先把输入和"索引里每个技能的description"做一次匹配打分;
  3. 如果某个技能的得分超过阈值,就把该技能对应的SKILL.md完整加载进上下文;
  4. 加载完成后,助手结合技能内容生成回复。

这个匹配过程不是简单关键词比对。从实际表现反推可以判断,它是基于语义相关度的匹配:同义词、意图近义句都能触发。比如某个技能注册的触发条件是"excel文件合并",你写"帮我汇总两个表格里的工资数据",也可能命中。所以,看似不起眼的description和triggers,其实直接决定了技能的召回准确率,这块写得好不好,影响巨大。

3. 三层上下文架构深度拆解

3.1 三层到底分了什么

我之前把上下文理解成一个平面空间,Skills这套机制则告诉我要把它看成三个预算池。

第一层是常驻层。存放系统指令、对话历史摘要、用户偏好,以及系统级Skills。它的特征是每轮对话都在增长(对话历史像滚雪球),需要严格控制基础体积。第二层是性能层。这是最容易和常驻层混淆的。性能层放的是对响应耗时极敏感的资源和索引,比如available_skills的轻量索引、常用的工具清单、快捷操作的命令别名。它的存在让系统能够快速响应,不用每次请求都去文件系统里做全量扫描。第三层是可加载层。这是一大片"空地",随时准备接受某个Agent级技能的完整挂载。这一层的特点是:未加载时不占上下文,加载时占用,用完可以卸载。

我画不出架构图,但可以给一组我在模拟项目X里实测的token用量数据,帮助理解这三层的体感差异:常驻层的系统指令加系统级Skills,我控制在约4000个token;性能层的索引和工具清单约2500个token;而一个典型的数据操作技能的完整SKILL.md加示例文档,大约是9000到12000个token。这意味着,如果不用渐进式加载,三个技能就能完全撑爆一个8K的上下文窗口;用了之后,平时的基础开销只有6500左右,给对话历史留下了充足空间。

3.2 为什么不能让所有技能常驻

有人可能会想:既然技能全加载能让助手什么都会,为什么不干脆都塞进上下文?答案在于上下文窗口是共享的高速缓存,它不仅仅是给技能用的,更是给对话本身用的。

如果我们让5个Agent级技能常驻,每个平均10000 token,基础开销就是50000。留给用户历史对话的token只剩下一小半。这时候助手读技能说明书确实读得很全,但用户前面20轮说过什么、改过哪些文件,它反而记不住了。用户最直观的感受是:助手"金鱼记忆",说过的话转头就忘。这是性价比极低的资源分配方式。

另一个更隐蔽的问题是上下文稀释导致的注意力退化。即便上下文窗口还没满,当一堆无关信息占据大量token时,助手对关键指令的注意力会被分散。我在实践中感觉,把无关技能文档删掉后,同一段对话的回复质量有肉眼可见的提升——它好像更"专注"了。

3.3 预算分配,如何量化决策

三层架构在实际落地时,需要一个人为设定的预算方案。我自己在调一个跨平台数据同步系统时用的经验公式是:上下文总预算 = 基础常驻区(系统指令 + 系统级Skills)+ 对话历史(最近N轮摘要)+ 技能加载动态区(当前命中的Agent级技能)。

给定一个窗口上限(比如一次性输入的token上限),那么技能动态区的可用量就是总值减去另外两项的预估。这意味着:如果对话历史很长,技能区的预算就会被压缩到装不下一个完整的SKILL.md。这时候就需要退化策略——要么让助手读取更精简的技能摘要,要么返回"该技能内容过多,建议清理历史摘要后重新触发"。

这个公式非常直观。在设计自己的Skill系统时,你应该先统计出每个技能的典型体积和平均触发频率,然后计算"如果最热的三个技能同时命中,总预算是否妥"。我见过一个某团队的项目,他们的技能平均只有三四千token,但对话摘要很长,配合起来很容易超限。最后他们的解决办法是限制历史摘要轮数,强行给技能区让路,效果立竿见影。

3.4 卸载机制:用完即走

渐进式加载还有一块容易被忽略的设计:技能用完后的卸载。在Claude Skills的机制里,技能不是加载了就一直待着,而是会在一定时机被释放回可加载层。这有点像内存中的LRU:如果一个技能在连续几轮对话中都没有被再次命中,它的完整内容就会被移出上下文,只保留它在available_skills索引中的一行记录。

我在实际使用中发现,这个卸载不是纯粹按轮数判断,更像结合了"当前任务是否仍在进行"的判断。比如你正在让助手连续操作某个报表技能,这个技能就会持续挂载;一旦你说"报表做完了,我们聊点别的",下一轮技能就消失了。这个设计对于省钱场景非常关键——因为大模型API是按输入token计费的,技能挂载得越久,每一轮都要重复计费。实测下来,合理利用卸载机制的情况下,多技能任务的成本能比"全常驻"模式节省40%到60%。

4. 最少惊讶原则:如何写出专业且安全的Skill配置

4.1 原则的本质

最少惊讶原则(Principle of Least Surprise)这个词本身来自软件工程界面设计,它说的是:一个操作的用户体验应当符合用户的预期,不搞突然袭击。在Skills系统里,这个原则被应用得更深远:每一个技能被自动加载的时候,用户的预期、助手的预期、系统资源的预期都不能被打破。

一个具体的例子:你是一个数据工程师,你写了一个"数据库死锁检测"的技能。这个技能的SKILL.md里,触发条件写的是"database""lock""deadlock"。然后在一次讨论后端代码的对话中,用户提到"这个接口的锁粒度是不是太大了"。系统判断"锁"关键词命中,加载了你的死锁检测技能。但用户其实是在聊业务逻辑的锁粒度设计,而不是数据库死锁——这就是一个典型的违反最少惊讶原则的场景,用户莫名其妙地被加载了一个与当前语境关系不大的技能,白白消耗了几千token。

4.2 触发条件的防御性设计

要落地最少惊讶原则,触发条件的写法必须从宽泛的关键词升级为收紧的意图片段。我有几个经验。

第一个教训是:不要在triggers里写太短的词。像"config""merge"这种词,谁都会用,命中率高得离谱。尽量写至少包含两个以上信息位的短语,比如"merge excel files with duplicate headers"或者"extract tables from pdf with custom margins"。第二个教训是:要给自己写"反向排除"。SKILL.md的description里明确加上"只能处理X格式的Y数据;对于Z场景不要触发本技能"。这个反向排除在匹配时可以减少大量误触发。

下面是我自己在实践里整理的触发区配置样例,可以参考这个风格组织:

--- name: excel-sheet-merger description: Merge multiple Excel files into one workbook by matching column names. Do not trigger when a user asks to merge CSV text or to clean data. triggers: - merge excel files - combine multiple xlsx sheets into one - unify spreadsheets with same header workflow: 1. list target files... 2. validate headers... 3. merge... ---

这种写法的特点是:触发条件覆盖了同义句,同时反向排除了密切相关的误用场景(CSV剪贴内容、数据清洗),降低误触发概率。description里的"不要触发"是真的有用,语义匹配合相似意图时,模型会把它当作一条约束。

4.3 SKILL.md中的副作用声明

除了触发条件,最少惊讶原则还要求SKILL.md中对副作用的描述足够清晰。用户在做数据分析时加载一个"图表生成"技能,就应该明确知道这个技能会读取哪些文件、生成哪些新文件、会不会修改原始数据。我在实践中的做法是:每个技能文档里固定一个"Side Effects"字段,列出所有外部操作,包括读取路径、写入路径、运行时长预计、以及是否有网络请求。有次某团队写了一个"自动清空临时目录"的技能,SKILL.md只写了"清理临时文件",没写过会递归删除子目录。结果有一次误触发了,把用户的一个临时缓存全清了。副作用声明不只是一条好习惯,它直接关系到你的数据安全。

4.4 设计时的"人设一致性"

最少惊讶原则还有一个隐蔽应用场景:技能加载之后,助手说话的语气和能力边界也应该平滑过渡,不要给人"换了一个人"的感觉。比如一个"SQL优化"技能加载后,助手不应该突然开始用极其激进的语气说"你把这张表删了重建",而应该继续保持和之前一致的解释风格,只是专业知识变深了。据我体验,部分复杂的技能包会在SKILL.md中额外设置"Tone"字段,做着让加载后的反应保持一致。这个字字段即使原版机制里没有强制,自我实践后也值得加上,效果确实更好。

5. 手写一个Skill的完整流程与实现细节

5.1 从零搭建一个可用的技能包

接下来我带你完整走一遍"从零写一个Skill"的流程。以我在一个模拟项目X里做过的"log-merger"为例,这个技能的作用是:合并多个日志文件,提取时间戳,按时间线排序,并生成一份HTML报告。

刚开始,我先创建一个项目目录,结构如下:

log-merger/ SKILL.md scripts/merge.py templates/report_template.html assets/sample_log.txt

为了验证渐进式加载,我特意在available_skills索引里删掉这个技能,然后重新注册一次。索引文件内容大致如下:

log-merger: Log merging and HTML report generation. Trigger when user provides multiple log files and asks for a chronological report.

注意,索引里的这行描述和SKILL.md里的description尽量保持一致,否则就会出现"索引说东,加载后技能说西"的割裂感。我踩过一次这种坑,索引写得很专业,SKILL.md里的开头却写得很含糊,结果助手加载技能后,愣了好几秒才开始干活,明显是在重新理解技能用途。

5.2 SKILL.md的编码规范与细节

下面是我最终写入SKILL.md的正文骨架,加了一些比较关键的设计:

--- name: log-merger description: Merge multiple log files by extracting timestamps, sorting chronologically, and generating an HTML report. Use this skill ONLY when the user explicitly mentions merging log files OR provides multiple *.log files. Do not trigger for CSV or JSON data conversion tasks. triggers: - merge logs into a report - combine these log files - sort multiple logs chronologically and generate html workflow: 1. locate all .log files in the working directory or from user-provided paths. 2. parse each line with a regex for timestamp extraction. 3. sort all parsed entries by timestamp. 4. render the HTML report to the output directory. 5. report the output path and file size to the user. side_effects: - Reads files matching *.log or explicit user paths. - Writes report file under /output. - Does NOT modify original log files. tone: maintain a neutral analytical tone and explain every sort decision. ---

这个SKILL.md有几个细节值得多说几句。

第一,description中我特意强调"ONLY when"和"source settings",这就是前面讲的反向排除。实测下来,这个设计能显著减少误触发。我把这个技能和另一个"csv-transformer"技能放在同一个工作区,之前两个技能的触发条件是都是"merge files"这种宽泛词,结果用户说"merge these two csv files"时,两个技能疯狂抢触发。改成上述写法后,匹配基本稳定,一年没抢过。第二,workflow分步骤写,而且每一步都是"可执行的动作",不是"判断性的理解"。第三步直接写"sort by timestamp"而不是"understand the chronological order"——前者是可执行的指令,后者模糊不清。

5.3 渐进式加载的实测观察

技能写好后,我用了一批日志文件做实测。第一次触发时的对话是:用户丢出三个.log文件路径,说"把这三个日志合并成一个按时间排序的HTML报告"。系统在available_skills索引里匹配到了log-merger,加载了SKILL.md和scripts/merge.py。实测从此开始,助手自动调用了脚本解析日志,输出了报告路径。

我额外观察了一个细节:在索引命中后、完整技能加载前,助手会先给一句简短回应,内容大致是"我找到了日志合并技能,现在为你处理"。这句预回应的价值在于:它给用户一个确认机会。如果用户发现自己刚抛出的问题其实不需要技能,完全可以打断,避免后续的token开销。

5.4 可控性:手动禁用与灰度加载

在实际项目中,有时候我们希望某个技能不要自动加载,但要保留手动触发的可能性。我在实践中的总结是:把技能的trigger条件留空,但在description末尾写"手动触发方式:请说调用log-merger技能"。这样自动匹配永远不会命中,但用户主动要求时,系统能直接定位到技能。这个模式特别适合那些体积大、使用频率低的"重型技能"。

我有一个踩过的坑是这个模式的风险:如果索引里写了这个技能的一句话简介,用户就算没说"调用"两个字,只要语义接近,系统也可能自动反映。所以,在available_skills索引中,这类手动模式的技能最好连描述都写得很窄,或者干脆不写。留一行空索引就行。

6. 常见问题与排查技巧实录

6.1 加载失败:技能未被识别

先看一个最典型的问题:available_skills索引里有技能,SKILL.md格式也正常,但用户请求发散时,技能就是不被加载。

我从实测中总结的排查路线是:

  • 第一步,检查available_skills描述是否和SKILL.md的description语义一致。如果不一致,系统在索引层就找不到准确信息,自然也不会去读完整SKILL.md。
  • 第二步,检查SKILL.md的triggers是否过于宽泛。这里有个暗坑:triggers太宽泛不等于更容易触发,反而可能因为和别的技能范围重叠,导致匹配结果被另一个技能抢走。
  • 第三步,检查是否被"反向排除"误伤。如果你在description里写了"sent to excel sheet"但"sheet"在用户语句中根本没出现,则不会触发。可如果你写了"do not trigger for PDF"而这个技能本来主攻PDF转换,那整个技能等于废了——反向排除措辞要精准对应误触发场景,不要殃及正常场景。

我在某一次实际调试中就曾经因为反向排除写得太狠,导致技能全程哑火。现在每次调完都会用一组正负样例跑一轮冒烟测试:正样例(肯定需要技能的场景)必须命中,负样例(近似但不需要的场景)必须被排除掉。

6.2 上下文溢出:技能太大,装不动

另一个高频问题是:技能本身写得很详细,SKILL.md加脚本示例文档一起几万token,结果加载一次,上下文直接逼近窗口上限,回复开始变得迟钝,甚至会截断。

我遇到的案例是某团队把一个"OCR批量识别"技能写成了一站式百科全书——连OCR算法的背景论文摘要都放进去了。加载后,模型确实懂了很多,但也确实被塞爆了。

针对这个问题的经验有两条。第一条是瘦身:SKILL.md只保留技能真正需要的操作指令和关键参数,把详细说明移到技能目录下单独的docs子文件,等需要更深的细节时再让助手去读。这等于把"一层技能"拆成"技能入口 + 深度文档"两层,实现二次渐进加载。第二条是拆分技能:一个大技能拆成多个子技能,比如把"OCR批量识别"拆成"OCR图片处理"和"OCR结果清洗"两个技能,每个技能都很小,按阶段加载。这两种方案,瘦身更常用,因为改结构风险小,收益立刻可见。

6.3 触发混乱:同时命中多个技能

前面提过"merge files"抢触发的场景,这在多技能工作区中很常见。我处理过几种具体情况。

第一种是逻辑重叠型,比如"数据合并"和"数据清洗"两个技能都含有"处理数据"的触发词。解法是给每个技能的description补全一句话边界:「本技能处理A,不处理B」。语义匹配是全局的,这句话能有效引导判定结果。第二种是上下文型,比如一个技能在对话前期命中并加载了,但中期出现另一个话题,上一个技能没被卸载,新技能也加载了,上下文里同时存在两个技能。很多时候这不是故障,反而符合需求;但如果两个技能的工作场景冲突(一个要求删除原始数据,一个要求保留原始数据),就会造成冲突。我建议在SKILL.md的design阶段就要声明"本技能运行时建议同时挂载X技能"或"本技能与Y技能互斥",减少叠加后的混乱。

6.4 成本优化:每个技能的挂载轮数控制

最后分享一个关于成本的排查技巧。即便有卸载机制,如果你的技能在很浅层的对话中就被加载,且对话时长很长,那token支出依然可观。我统计过几次长会话,发现点主要在这两处:一是用户每一轮回复都会重新计入技能挂载的token,所以技能挂载的轮数越久约费;二是技能挂在上下文里,就算没有实际被调用,也在参与每次注意力计算,随时可能"插嘴"或者说错话。

常用的优化手段是:把技能拆出"操作"和"阅读"两个模块,操作模块小(主SKILL.md),阅读模块大(docs),技能一加载只带操作模块,需要时才阅读文档。这样一个技能从5轮对话的挂载成本来看,能压掉至少一半的重复计费,实测下来成本节省明显。

7. 写在最后的经验

做过几个完整技能的实操之后,我回头再看Claude Skills这套机制,最深的体会是:它表面上是在解决"怎么加载技能文件"的问题,实际上是在解决**"怎么让AI在有限的上下文里保持专注"**的问题。三层上下文架构是把"记忆"和"能力"分离;渐进式加载是让"能力"随需求浮现;最少惊讶原则是在约束"能力"不越界。这三者拼在一起,才让一个技能系统既高效又安全。

我踩过不少坑,但最大的一条经验是:别在SKILL.md里堆砌"让助手无所不能"的宏大描述,而是专注写好"让助手在特定任务上不犯傻"的迷你说明书。技能的加载是一次成本,但技能写不好导致的误触发、上下文浪费、agent行为混乱,是持续叠加的成本。

你现在如果正被长对话质量退化、技能误触发、token开销失控这几个问题困扰,值得花几天时间把Skills这套机制亲手跑一遍。从最简单的两个技能开始,比如一个做文件合并、一个做格式转换,观察它们怎么被渐进加载,怎么互相抢占,怎么因为描述不够精确而乱触发。跑通之后,你再看"AI应用的上下文架构",整个视野就不一样了。无论是对你手上正在做的工具链,还是对以后设计自己的Agent系统,这套思路都值得长期复用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/22 21:47:13

降AI率实操手册:6款免费工具与完整处理流程

临近毕业季,又到了各位被论文折磨得焦头烂额的时候。这阵子我后台私信里,十个有八个都是在问“降AI率到底怎么搞”“为啥我明明自己写的还被标成AI”“有没有好用又免费的降AI工具”。说实话,这个问题的确是当下写论文绕不开的一道坎。很多同…

作者头像 李华
网站建设 2026/10/22 21:33:20

OpenClaw 任务自动化编排实战:从设计思路到落地排查

1. 从零认识 OpenClaw:它到底是什么,能解决什么问题第一次听到 OpenClaw 这个名字,很多人会以为它又是一个"某某自动化框架"的换皮项目。我最初也是这个反应,直到在一个内部工具链整合的场景里被朋友安利,才…

作者头像 李华
网站建设 2026/10/22 21:29:27

生成式AI商业落地实战:从原理到应用,打造你的未来合伙人

近几年,生成式AI的热度一眼望不到头,朋友圈里人人都在聊“AI革命”,今天这家说发布了新模型,明天那家说AI能写代码、做设计、拍视频。但我身边真正把它当成商业工具用起来的人,其实不多。多数人要么把生成式AI当成一个…

作者头像 李华
网站建设 2026/10/22 21:27:48

AI管理体系落地指南:ISO/IEC 42001控制项与认证实践

1. 为什么我们需要一个AI管理体系:从一场AI事故说起先讲个例子。某公司上线了一套智能客服系统,最初一切顺利,用户满意度数据很好看。结果大促期间,系统出现了几次“胡说八道”,把不存在的优惠券信息推荐给了用户&…

作者头像 李华
网站建设 2026/10/22 21:26:36

STP、RSTP与MSTP本质差异解析:从环路防护到多VLAN逻辑分治

1. 项目概述:为什么STP系列协议至今仍是网络工程师绕不开的“必修课” 你刚拿到一台新交换机,接上几根网线,连通几个终端,网络看似跑起来了——但只要拓扑稍一复杂,比如两台核心交换机之间用两条链路互连,或…

作者头像 李华
网站建设 2026/10/22 21:23:56

Space Bunny匿名模型实测:百万上下文与原生多模态的真实表现

这几天,AI工具圈里传得最热闹的一件事,就是 WorkBuddy 宣布接入了一个叫 Space Bunny 的匿名模型。官方给出的三组数字确实唬人:100 万 token 上下文窗口、原生多模态、价格倍数只有常规旗舰大模型的 0.03x。说实话,第一眼看到这条…

作者头像 李华