news 2026/6/4 22:10:17

我用Karpathy的Autoresearch跑通Agent harness调优,任务通过率从60%飙到80%。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
我用Karpathy的Autoresearch跑通Agent harness调优,任务通过率从60%飙到80%。

我做了一个很好玩的事情,让模型给自己迭代一个上下文管理的plugin插件,看能给swe-bench刷成什么样子?

结果还挺意外的:任务通过率从60%飙到80%。 最后最佳的方案,仅仅是一行不到50个字符的prompthooks注入,完整过程让我对“模型变,harness也要变”这句话认识更深刻了。

模型+Harness=Agent。

而Harness一般有4大职责: 上下文管理(构建,压缩模型看到的信息)、安全与信任(权限,沙箱等,确保操作安全)、执行与回复(工具调用、错误处理,重试)、持久化与进化(会话保存、跨会话学习等)。对于大多数的朋友来说,上下文管理应该是玩的最熟练的了。

有这个想法,是我看到MiniMax M3的官方博客有个case传播的很热: 12小时让M3复刻一篇顶会论文, 但是我对这种论文复现的难度感知不是特别强烈,而且博客里也没有细节。

所以,我选择用一个更熟悉的场景,来深度感受一下,最新国产大模型的长程工作能力。

做一个claude code上下文管理的插件,整个过程 ,M3自己写了插件、自己准备了评测环境,跑评测、自己分析了数据、自己迭代了 20 个方案变体、自己跑了25轮10-case 串联评测,最后自己写了一份完整的研究报告。

20 轮实验,每一轮都基于上一轮的数据调整方向,几乎完美复刻了官方博客的那种长程任务case。当然结果不重要,观察模型的所有过程反而更有意思。

准备工作与实验细节

开始有几个准备工作,介绍一下:

MiniMax M3这次使用了全新的MSA注意力机制,最长可以支持1M上下文,但是推理速度极快,比开源的 Flash-Sparse-Attention、FlashMoBA 快4倍以上。。

对于这种上下文1M的模型,在替换进claude code的时候,模型id需要加上[1M],claude code才会识别成1M上下文。

可以通过 /context 来确认。

配置好claude code后,下一步就是实验case,我选的是swebench-lite,按照难度分层,选了10个任务。

考虑到M3已经不是常规的200k上下文了,为了极限的给模型压力。 我将这10个任务串在同一个session 中连续执行。Agent 做完第 1 个任务后,带着前面任务产生的上下文,继续执行第 2 个、第 3 个……直到完成全部任务。

这样应该会更难,因为 Agent 必须在上下文不断膨胀的条件下维持任务理解能力。

baseline版本,M3在这10个case上的通过率是60%,总的token消耗是641K。

为了更方便观察,模型的生成结果和代码,我在cursor里边配置M3模型,进行方案迭代。 昨天文章,有朋友评论留言问:怎么给cursor设置自己的模型。

在settings -> models,添加一个custom模型,配置MiniMax-M3,然后打开底下的override openai base url,把MiniMax的url替换进去,就可以直接用了。

如果喜欢codex、cowork这类产品的,还可以直接用MiniMax Code 来做驱动Agent,官方coding agent, 跟M3的契合度更高。 还内置了跟Claude Code刚发的Dynamic Workflows方向类似的能力,可以把复杂任务拆成多阶段并发执行,多个Agent协作推进。

M3的起步阶段很符合直觉

Coding Agent每次工具调用后,会有比较长的工具结果,模型只需要关键信息。 所以,第一版plugin,M3选择做了大段工具输出拦截,压缩成摘要,并追加到上下文里。

同时为了追踪整体的任务状态(原生claude code有一个后台ctx agent来干这个事情),M3还选择利用 Mermaid 来去追踪Agent的任务转移,方便全局观察和快速导航。

测试发现,Case通过率直接就可以提高到80%,但是token不减反增,涨了11.7%。

M3 在自己的报告里分析了原因:Claude Code 的 PostToolUse hook 架构上无法替换工具输出,只能在之后追加 systemMessage。

模型同时看到完整原文加上摘要。这不是压缩,是纯增量开销。

同时还发现了,Mermaid来做状态转移也有问题,结果很容易变成一张没信息量的转移图。 通过第一轮,M3总结出了核心教训:必须用数据说话,不能拍脑袋。压缩这个直觉是错的。

也不是100%的完美

上面的报告截图,看起来真的非常完美。 有清晰的判断逻辑,会根据数据去思考下一步的迭代,消融方案。 这个逻辑特别像官方的这个cuda算子优化case。

但其实也并不是100%的完美,也有我介入的时候。

模型一开始跑了最初几轮后,通过率在波动,时高时低。M3 自己认为是正常调参中的随机性。我觉得不对劲,去手动检查了一下.agent_memory目录。 是空的。。。

说明插件根本没在工作,原因是plugin里重复声明了hooks路径导致加载失败,脚本读的字段名跟实际传入的也对不上。

之前几轮所有插件效果,完全来自启动时注入的一句 system message,跟记忆压缩没有半毛钱关系。 这之后 M3 自己加了一条原则,Agent说做了不算,磁盘必须看到日志才行。

这是整个实验里唯一一次我直接干预方向。其余 20 轮迭代,包括方向调整、消融实验设计、最终方案突破,全是 M3 自己基于数据做的判断。

第19次迭代:一行代码

怎么做出来最优方案的呢?

因为在一些实验后, M3 自己设计了消融实验, 并行跑了 6 个方案变体,精确拆分每个组件的独立贡献。去掉 A 保留 B、去掉 B 保留 A、两个都去掉。

消融结果里有个发现:systemMessage 追加反而帮模型省了 token。短摘要让模型不需要重新 Read 整个文件来回忆内容。摘要的 token 成本 < 重复读取完整文件的 token 成本。

但 M3 遇到了一个两难:

路径 A:systemMessage 提供即时反馈,省 token 但通过率停在 70%。

路径 B:recall 注入历史摘要,通过率能到 80% 但 token 涨了 17%。

所有后续的很多轮,M3一直在尝试结合二条路径的优势,一点点的细粒度调优。

到第19轮,M3 在报告里写了一段话:

recall 一定要注入内容吗?如果只注入有记忆可用这个信息呢?

v19 的 recall 逻辑就一行:

ctx = f"Task #{n+1}. Memory: {mem_count} tool outputs saved."

告诉模型两件事:当前是第几个任务,有多少条记忆可用。不塞任何摘要进message,也不需要什么全局导航。

结果:通过率 80%,token 643K(基准 641K),额外开销 0.3%。

而之前达到同样 80% 通过率的 v9 方案,注入了500字符历史摘要,token 多了 17.6%。同样的通过率,v19 的代价几乎为零。

M3在报告里给出了解释:

记忆系统的价值不在于“主动塞多少信息给模型”,而在于“让模型知道有什么可用”。

Agent 不缺记忆,缺的是知道自己有记忆。

写在最后

模型变,Harness 也要变,这句话更像是说:模型每强一次,上一代的最优 Harness 方案可能就不再最优了。

就像前面MiniMax M3做的实验, v9 和 v19 的对比。v9 注入 500 字符历史摘要,通过率 80%,token 涨 17.6%。v19 只给一行提示,通过率一样 80%,token 几乎不变。

如果用一个更弱的模型,v9 可能是必须的, 模型自己记不住,你得把历史塞给它看。

但 M3 的理解力足够强,不需要看完整摘要,只需要知道“有东西可以回去翻”就够了。

更关键的是,整个实验只用到了M3的编码能力和1M长上下文,但它其实还有原生多模态的能力。 编码、长上下文、多模态,之前能同时做到的只有几个闭源旗舰,而M3是第一个集齐这三项的开源模型。

在实际的case中,如果把多模态的能力也考虑进整个harness中。 让Agent还可以看UI设计,看报错截图,那可能整体的设计又会完全不一样。

所以,Harness 不是一次性工程,它是一个跟着模型能力持续重标定的过程。

当然,更有意思的是。 M3自己完成了这个给自己调优Harness的任务,模型可以自己改进自己的 Harness。这是一个飞轮。

模型越强,越能理解Harness的设计空间 -> 自己找到更好的 Harness -> 更好的 Harness 又让它表现更强。

Agent 的上限,不只取决于模型本身的智能,也取决于模型改进自身工作环境的速度。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

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

epoll 底层原理 —— 从 PCB 到就绪链表的完整路径

epoll 底层原理 —— 从 PCB 到就绪链表的完整路径 前置阅读&#xff1a;手写 epoll 版 TCP echo 服务器&#xff08;了解上层 API 后再读这篇&#xff0c;体验最佳&#xff09; 一个问题&#xff1a;epoll_wait 为什么不用遍历全部 fd&#xff1f; select/poll 每次都要扫描全…

作者头像 李华
网站建设 2026/6/4 22:03:03

终极M3U8下载器完整指南:快速下载加密视频流的免费工具

终极M3U8下载器完整指南&#xff1a;快速下载加密视频流的免费工具 【免费下载链接】m3u8-downloader 一个M3U8 视频下载(M3U8 downloader)工具。跨平台: 提供windows、linux、mac三大平台可执行文件,方便直接使用。 项目地址: https://gitcode.com/gh_mirrors/m3u8d/m3u8-d…

作者头像 李华