Anthropic 官方:做对这3件事就够了(非常详细),Harness 架构从入门到精通,收藏这一篇就够了!

张开发
2026/4/5 22:46:07 15 分钟阅读

分享文章

Anthropic 官方:做对这3件事就够了(非常详细),Harness 架构从入门到精通,收藏这一篇就够了!
昨天Anthropic又发了一篇Harness相关的博客算是第二课了这一篇其实更重要这一次的核心问题变了。不再是“要不要做Harness”而是你的Harness里在今天的模型面前有多少东西可以扔掉了第二课里边给了三个模式但串起来看最重要的一个问题只有五个字What can I stop doing?用Claude已经会的东西第一个模式很直觉用Claude本来就熟悉的工具来构建应用。2024年底Claude 3.5 Sonnet在SWE-bench Verified上拿了49%。 当时的SOTA——只靠了两个工具bash和text editor。Claude Code也是基于同样的工具。bash不是为构建agent而设计的但它是Claude真正会用的工具而且每一代模型都在变得更会用。更有意思的是Anthropic发现Claude会把这些通用工具组合出专用模式。Agent Skills、Programmatic Tool Calling、Memory Tool——全部都是bash和text editor的组合。不是给Claude造新工具而是让它用已经会的工具自己组合出解法。让模型自己编排上一篇博客里已经有过一个caseOpus 4.5有“上下文焦虑”快到窗口上限时会提前收工团队设计了sprintcontext reset来应对。Opus 4.6出来后行为消失了sprint直接被砍。这篇把这个思路系统化了。传统agent harness有一个默认假设每次工具调用的结果都要回到模型的上下文窗口模型看完再决定下一步。但很多时候这是浪费。读一张大表只为了分析一列整张表的token都花在不需要的行上。以前的解法是在工具层加硬编码过滤器。但Anthropic说这其实是harness在替模型做一个编排决策而模型自己更适合做这个决策。给Claude一个代码执行工具bash或REPL让它自己写代码来调用工具、过滤结果、串联逻辑。只有最终输出回到上下文窗口。编排权从harness转移到了模型。而且因为代码本身就是一种通用的编排语言强coding模型也天然是强通用agent。BrowseComp是一个测试Agent网页搜索能力的基准。给Opus 4.6自过滤tool output的能力准确率从45.3%跳到了61.6%。这不是一个编程任务足以说明代码编排在非编程场景上一样有效。让模型自己管上下文任务相关的上下文引导Claude使用通用工具。传统做法是把任务指令全写进system prompt预加载。问题是指令越多上下文窗口里的注意力预算越紧。而且大部分指令在大部分时候用不到。解法就是Skills啦。每个skill的YAML frontmatter是一段简短描述预加载进上下文提供概览。完整内容只在需要时通过read file工具展开。Skills给了Claude自己组装上下文窗口的自由。Context editing是反面——选择性删除已经过时的上下文比如旧的工具返回结果或thinking blocks。Subagent则让Claude知道什么时候应该分叉一个干净的上下文窗口把子任务隔离出去。Opus 4.6的subagent能力在BrowseComp上比最佳单agent运行提升了2.8%。让模型自己管记忆长任务会超出单个上下文窗口。传统做法是围绕模型搭检索基础设施。Anthropic一直在做的事情是给Claude简单的方式让它自己选择保存什么。Compaction让Claude总结历史上下文以维持长任务的连续性。但是从结果他们发现同样的一套compaction机制。Sonnet 4.5始终卡在43%Opus 4.5跑到68%Opus 4.6到了84%。说明模型自己直到什么该记、什么该忘。Memory folder是另一种很好的方式给Claude一个可以读写文件的文件夹让它自己决定持久化什么。给Sonnet 4.5一个memory folderBrowseComp-Plus从60.4%升到67.2%。博客用宝可梦做了一个记忆进化的对比。Sonnet 3.5跑了14000步还在第二个镇memory文件夹里31个文件两个是关于毛虫宝可梦的重复笔记。Opus 4.6同样步数10个文件按目录组织三个道馆徽章外加一个从自己的失败里提炼出的learnings文件从“记下NPC说了什么”到“记下自己哪里打输了”。相同的一套机制模型变聪明了同样适用。该加的还是得加“做减法” 不等于什么都不管。最后很大的篇幅还在分享什么时候应该保留harness的约束。缓存设计。Messages API无状态每轮对话都要把完整历史打包发过去。缓存token的成本只有基础输入的10%所以最大化缓存命中率直接影响成本。博客中给了五条原则应该把动态的放在提示词最后有新的消息应该直接追加messages而不要改prompt当成单轮处理不要在会话过程中随便切换模型模型换了缓存就失效了。如果想切便宜模型用subagent去实现。谨慎管理工具工具添加删除都会让缓存失效。对于agents这种多轮应用要把把breakpoint移到最新消息。声明式工具做边界。如果Claude所有操作都走bash那从harness的角度看每个动作长得一模一样都是一串命令字符串。删一个文件和调一个外部APIharness看到的形状没区别。但这两个操作的风险完全不同。所以Anthropic的建议是把需要安全管控、用户交互或审计追踪的动作从bash里提出来做成独立工具。举个例子。Claude Code里的edit工具就不是bash命令而是一个独立工具。这样harness可以在编辑前检查文件有没有被别人改过staleness check避免覆盖。如果编辑走的是bash里的sedharness根本不知道哪个文件被改了。同样的道理需要用户确认的操作比如调用外部API做成独立工具后可以弹确认框。需要展示给用户看的信息比如向用户提问做成工具后可以渲染成专门的UI组件。判断标准之一是可逆性越难撤销的操作越值得做成独立工具。Claude Code的auto-mode提供了另一种思路不做独立工具而是用第二个Claude来审查bash命令是否安全。这可以减少对独立工具的需求但只适用于用户信任整体方向的场景。是否提升为独立工具这个决策本身也要持续重新评估。写在最后上一篇Harness文章里Anthropic给了一个判断harness的可能性空间不会随模型进步而缩小它只是在不断变化。这篇博客其实是那句话的实操版。Sprint被砍了。硬编码过滤器不需要了。预加载的长指令换成了按需读取的skills。模型能自己编排、自己管上下文、自己管记忆了。但新的空间打开了。模型能自己管记忆了那memory folder怎么设计模型能自己编排工具调用了那安全边界画在哪缓存打断了成本翻倍工具加减要不要做所以最后很重要的一点是别跟模型的进化赌跑。你的harness里每一个组件都要定期问一遍这个模型自己能做了吗能做了就扔掉把。学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%免费】

更多文章