平台 · 第 2026-08-10

微软 Agent Framework Harness 正式发布智能体的运行成了产品

微软把 Agent Framework 从 SDK 推进到受支持的生产运行时:Harness 是单个二进制文件,函数调用、历史持久化、上下文压缩、待办清单、文件记忆、工具审批与 OpenTelemetry 全部默认开启,Foundry Hosted Agents 按用量计费。真正值得记住的是随发布一起出现的两个数字——Claude Code 有 98.4% 的代码属于 Harness 基础设施,AI 决策逻辑只占 1.6%;以及一次固定模型参数的对比中,一个运行时在 40 次往返后自停,另一个跑到 300 次不停。

InfoQ 中文2026-08-10值得跟踪

基础信息较完整,适合持续跟踪并等待更多验证。

AI 智能体工作流可观测性

记录

信号正文

发布了什么

微软把 Agent Framework 从 SDK 推进到受支持的生产运行时。1.0 版本在 2026-04-02 发布;6 月 2 至 3 日的 Build 2026 上,Agent Harness、GitHub Copilot SDK 与 Claude Agent SDK 连接器、以及多智能体编排模式进入稳定版;此次 Harness 与 Foundry Hosted Agents 正式发布。Harness 是单个二进制文件,本地开发环境、容器和托管部署跑的是同一个东西。

默认开启、且可逐项关闭的能力:函数调用、每次调用历史的持久化、上下文压缩、带计划与执行两种模式的待办清单、文件记忆、技能、网络搜索、工具审批,以及内置 OpenTelemetry。Shell 工具、文件访问、后台子智能体和自动循环仍是可选,而且启用时会发出警告。开发者只提供聊天客户端、指令和工具,其余由一次 create_harness_agent 调用接管;Foundry Hosted Agents 作为托管部署目标按用量计费。

为什么一个运行时值得单独看

微软首席软件工程师 Wes Steyn 的说法是:模型本身只能生成文本;要让它调用工具、处理多步任务并持续运行到完成,必须把它包在一个运行时里,而那个运行时就是 Harness。

支撑这句话的是一个具体数字。MBZUAI 旗下 VILA 实验室 2026 年 4 月的论文《深入解析 Claude Code》分析了 v2.1.88——该版本完整 TypeScript 源码曾在 3 月 31 日因一次带 source map 的 npm 发布短暂曝光——统计得出 1884 个文件、约 512,000 行代码,其中约 98.4% 属于 Harness 基础设施:权限管理、上下文管理、沙箱、工具路由与恢复机制;AI 决策逻辑约占 1.6%

这个数字带着星号,而且是作者自己标的:它是对泄露包的行数分类,包含生成代码与压缩代码,不是一次完整审计。但趋势另有旁证——Codex CLI 与 Aider 各自独立演化出了相同的 Harness 结构。三个团队分别走到同一个形状,更像是问题施加的约束,而不是某一家的设计偏好。

那个 40 对 300

微软 AI 首席架构师 Aqib Sherwani 做的对比测试比多数厂商基准克制:固定模型参数,并先跑一个确定性的模拟测试,确保差异可以追溯到 Harness 而不是模型。结论是「推理相同,工程实现不同」——两个运行时在相同步数内给出了相同答案。

差异出现在护栏失控这一项:Agent Framework 在 40 次往返后自行终止循环并返回「达到限制」;而在关闭宿主端停止控制机制的情况下,Copilot SDK 一直跑到 300 次仍不自停。

一个把刹车放在循环内部,另一个默认由宿主提供。这不是性能差异,是责任归属的差异——而它只在宿主那一侧恰好没做的时候才会暴露出来。这正是《人在回路的审查》里那条判据的机器版本:一个从不触发的限制,和没有限制无法区分

治理的问题换了一个

编码智能体连接器不需要自定义适配器就能把任务委派给 GitHub Copilot SDK 或 Claude Agent SDK,每个智能体跑自己的自主循环;但连接器严格遵循为整个集群设置的身份、内容安全与可观测性策略——编码智能体的流量进入同一批 OpenTelemetry 跟踪和 Foundry 仪表板,而不是成为一个有独立访问模型的孤立集成。

于是治理的核心问题从「智能体能做什么」变成了三问:谁运行了它、依据什么策略、跟踪信息最终流向哪里。同样的控制层关注点也出现在亚马逊云科技的 Loom 参考平台里。编排模式与测试框架同步进入稳定版,覆盖顺序管道、并行协作,以及源自微软研究院 Magentic-One 的 Magentic 模式。

放在这条线上看

这是同一种收拢的第四种形态。MCP 2.0 把协议改成无状态,好让任意实例承接任意请求;Gemini API 用一个 background:true 把执行、状态与工具接入收到服务端;LLM 0.32 让供应商在单次请求内替你执行远程 MCP 调用——而这一条把运行时本身做成了按用量计费的产品。

一次 create_harness_agent 调用换来的是不必自己实现审批、压缩、持久化和遥测。它同时买走的是控制权,而这正是《系统设计的权衡》里那句话:默认值是别人替你做完的权衡。40 与 300 的差别说明这笔交易值得逐项看清楚——你要的是循环内部就有刹车的运行时,还是一个假设你会自己装刹车的运行时。

为什么是现在

为什么重要

智能体的运行时正在从「每个团队自己拼的一层胶水」变成有厂商支持、按用量计费的产品。这件事的分量不在功能表,而在随它一起出现的一个数字:Claude Code 有 98.4% 的代码是 Harness 基础设施,AI 决策逻辑只占 1.6%。如果这个比例大致成立,那么「用哪个 Harness」比「用哪个模型」影响面更大——而多数团队目前只认真评估后者。

背景

技术背景

Harness 指把模型包起来、使它能调用工具并持续运行到任务完成的那一层运行时:函数调用、历史持久化、上下文压缩、待办清单、审批、遥测都长在这里。此前它是每个团队自己实现的部分,Agent Framework 1.0 解决的是「用哪个框架构建」,这次发布回答的是「构建出来的东西在哪里执行、能访问什么、行为如何体现在既有的可观测性与策略系统里」。Agent Framework 本身是对 Semantic Kernel 与 AutoGen 的整合,两个前身项目已转入维护模式。

按你的水平解读

让 AI 按你的水平解读这个信号

选择你的经验水平,AI 会现场生成一份为这个水平定制的解读。

关注人群

谁该关注

要把智能体放进生产环境、正在决定运行时自建还是采购的平台团队负责智能体身份、权限、审批与审计策略的安全与治理角色在 Agent Framework / GitHub Copilot SDK / Claude Agent SDK 之间做取舍的工程负责人已经有一套 OpenTelemetry 体系、需要让智能体流量并进去而不是另起一摊的可观测性团队
可能影响的领域
智能体运行时的自建与采购边界护栏与审批机制究竟由循环还是由宿主提供智能体流量的可观测性与治理策略多智能体编排与跨厂商编码智能体的委派

下一步

学习路径

  1. 先读 40 对 300 那一段,把「护栏在循环里还是在宿主里」变成你自己评估任何智能体框架时的第一个问题
  2. 对照 98.4% / 1.6% 这个比例,回头看自己项目里模型调用之外的代码占比——如果远低于它,多半是有一批职责还没被显式实现
  3. 把默认开启的那批能力逐项对到自己已有的实现上,判断哪些是重复建设、哪些是你有意做得不一样
  4. 读《工具集成模式》,确认工具层的职责在采购运行时之后仍然归你
  5. 读《智能体可观测性与评测运维》,把「谁运行了它、依据什么策略、跟踪流向哪里」三问落到具体的仪表板上

怎么学起

让 AI 生成一条学习路径

基于本页的相关知识和相关技能,AI 会现场生成一条从基础到应用的学习路径。

关系网络

在技术网络中的位置

当前技术与相邻技术、技能和背景知识的连接,点击节点可继续探索。

技术对比

对比另一项技术

选择另一项已发布技术,让 AI 现场生成一份相似点、差异点和适用场景的对比。

延伸思考

后续问题

  • 40 次往返这个默认上限对你的任务是太紧还是太松?改动它需要哪一层的权限?
  • 如果运行时由厂商提供,出现一次越权行为时,你还能不能自己复原完整的动作序列?
  • 把编码智能体的流量并进统一的遥测体系,会不会反过来让某些团队为了绕开策略而改用未受管的路径?
  • 98.4% 这个数字来自一次泄露包的行数分类,换一种统计口径(例如按执行路径或按缺陷分布)还成立吗?

来源参考

InfoQ 中文

Microsoft大型科技公司2026-08-10
打开原始来源https://www.infoq.cn/article/aDEJegvNSKwvue2JZ0yI?utm_source=rss&utm_medium=article