微信扫码
添加专属顾问
我要投稿
AI编码智能体迎来重大突破,8KB文件改动让准确率翻倍!探索两种方案对决背后的技术细节。核心内容: 1. AI编码智能体面临的核心困境:训练数据滞后于框架更新 2. Skills与AGENTS.md两种解决方案的对比测试与意外结果 3. 明确指令的脆弱性揭示当前AI系统的关键局限
Anthropic 为什么推出 Skills?它会革谁的命!当大家还沉醉在Skills的独特魅力时,由Jude Gao主导新研究再次给上下文工程带来新的发现。仅仅通过一个8KB的AgentS.md文件改动,就让AI编码智能体的表现从53%跃升至100%。
AI编码智能体面临一个尴尬的现实:它们的训练数据总是落后于框架的更新速度。Next.js 16引入的'use cache'、connection()、forbidden()等API,在当前的模型训练数据中根本不存在。当智能体遇到这些新API时,要么生成错误代码,要么回退到过时的模式。
反过来也成立。如果你运行的是旧版Next.js,模型可能建议尚不存在的新API。Vercel团队希望通过为智能体提供版本匹配的文档来解决这个问题。
团队测试了两种方法:
技能(Skills)开放标准,将领域知识打包供编码智能体使用。技能捆绑提示、工具和文档,智能体可以按需调用。理想情况下,智能体识别出需要框架特定帮助时,调用技能并获取相关文档。
AGENTS.md是项目根目录下的markdown文件,为编码智能体提供持续上下文。无论你在AGENTS.md中放什么,智能体在每个回合都能访问,无需决定是否加载。
Vercel团队最初押注在技能上。将框架文档打包成技能,智能体在需要时调用,既保持上下文简洁,又实现按需加载。听起来完美。
评估结果让人意外:在56%的情况下,智能体根本不会调用可用的技能。即使技能存在且可用,智能体也选择忽略。添加技能后的表现与基线完全相同,都是53%的通过率。
这不是个例。智能体不可靠地使用可用工具是当前模型的已知限制。
团队尝试在AGENTS.md中加入明确指令,要求智能体使用技能:
"在编写代码之前,首先探索项目结构,然后调用nextjs-doc技能获取文档。"
这确实将触发率提升到95%以上,通过率达到79%。但问题在于,指令的微妙变化会导致智能体行为大幅波动。
不同措辞产生截然不同的结果:
在一个'use cache'指令测试中,"先调用"方法写出了正确的page.tsx,但完全遗漏了必需的next.config.ts更改。"先探索"方法两者都做对了。
这种脆弱性令人担忧。如果细微的措辞调整产生巨大的行为差异,这种方法在生产中就显得很脆弱。
在得出结论之前,团队需要可信的评估。最初的测试套件有模糊的提示、验证实现细节而非可观察行为的测试,以及对模型训练数据中已有API的关注。
他们通过以下方式强化了评估套件:
重点评估的API包括:
connection() 用于动态渲染'use cache' 指令cacheLife() 和 cacheTag()forbidden() 和 unauthorized()proxy.ts 用于API代理cookies() 和 headers()after()、updateTag()、refresh()这时团队有了个简单想法:如果移除决策环节会怎样?与其指望智能体主动调用技能,不如直接将文档索引嵌入AGENTS.md。不是完整文档,而是告诉智能体在哪里找到与项目Next.js版本匹配的特定文档文件的索引。
他们在注入的内容中添加了关键指令:
"重要提示:对于任何Next.js任务,优先使用检索主导的推理而非预训练主导的推理。"
这告诉智能体要查阅文档,而不是依赖可能过时的训练数据。
最终的评估结果显示,AGENTS.md方法在构建、代码检查和测试三个维度都达到了100%通过率,而技能方法即使在最佳情况下也止步于79%。
最终通过率对比:
这种"笨拙"的静态markdown文件,居然胜过了更精巧的技能检索系统。
团队的分析指向三个关键因素:
将文档嵌入AGENTS.md确实有上下文膨胀的风险。团队通过压缩解决了这个问题——从最初的40KB压缩到8KB,减少了80%,同时保持100%的通过率。
压缩后的格式使用管道分隔的结构:
[Next.js Docs Index]|root: ./.next-docs|IMPORTANT: Prefer retrieval-led reasoning over pre-training-led reasoning|01-app/01-getting-started:{01-installation.mdx,02-project-structure.mdx,...}
智能体知道去哪里找文档,而不需要将所有内容都放在上下文中。当需要特定信息时,它从.next-docs/目录读取相关文件。
现在可以通过一个命令为Next.js项目设置:
npx @next/codemod@canary agents-md
这个命令会:
.next-docs/目录如果你使用尊重AGENTS.md的智能体(如Cursor或其他工具),同样的方法也有效。
技能并非无用。AGENTS.md方法提供的是横向改进,让智能体在所有Next.js任务中表现更好。技能更适合用户明确触发的垂直工作流,比如版本升级、迁移到App Router或应用框架最佳实践。
但对于一般的框架知识,被动上下文目前胜过按需检索。如果你维护一个框架并希望编码智能体生成正确代码,考虑提供用户可以添加到项目中的AGENTS.md片段。
实用建议:
目标是将智能体从预训练主导的推理转向检索主导的推理。AGENTS.md证明是实现这一目标最可靠的方法。
评估框架:https://github.com/vercel/next-evals-oss
参考:https://vercel.com/blog/agents-md-outperforms-skills-in-our-agent-evals
关注公众号回复“进群”入群讨论。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-01-29
不需要Mac mini,花一杯咖啡的钱几分钟开箱即用玩转 Clawdbot
2026-01-29
Google 王炸更新 Gemini 和 Chrome 合体 绞杀一切竞争对手...
2026-01-29
别问原理,直接喂饭:11 个生产级 Skill 仓库,拿走不谢
2026-01-29
燃尽、重启、爆火:Clawdbot 创始人的 35 分钟访谈实录
2026-01-28
Agent原生架构:Claude Code 后时代该如何构建智能体应用
2026-01-28
Agent Skill:让AI拥有"随身携带的专业操作手册"
2026-01-28
刚刚,阿里云上线Clawdbot全套云服务!
2026-01-28
Gemini 3「开眼」像素级操控!谷歌回应DeepSeek-OCR2
2026-01-10
2025-11-19
2026-01-24
2025-11-13
2025-11-03
2026-01-01
2025-12-09
2025-11-12
2026-01-26
2025-11-15
2026-01-28
2026-01-28
2026-01-28
2026-01-26
2026-01-26
2026-01-23
2026-01-23
2026-01-22