Microsoft Agent Framework 正式迈入 GA:从 Agent SDK 到受治理运行平台

2026-08-03 33 预计阅读时间: 1 分钟
来源: infoq.com AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:9 分钟

Microsoft Agent Framework 的变化不只是多了几个连接器。随着 Agent Harness 与 Foundry Hosted Agents 进入正式可用阶段,重点已经从“如何写出一个 Agent”转向“如何稳定、受控地运行 Agent”。GitHub Copilot 和 Claude Agent SDK 连接器、编排模式及受支持运行时共同构成了这次平台化升级。

Agent Harness 补上了生产运行层

SDK 通常解决模型调用、工具定义和消息传递,却不会自动解决生产环境中的身份、权限、审计、超时、故障恢复和资源隔离。团队可以很快做出 Agent 原型,但要把它接入企业系统,仍需自行搭建大量运行基础设施。

Agent Harness 的意义在于把这部分能力提升为明确的运行层。开发者仍然负责 Agent 的目标、提示词、工具和业务规则;平台则负责约束 Agent 如何执行、能够访问什么,以及运行过程如何被观察和治理。

这也改变了架构边界:

  • Agent SDK 描述 Agent 的能力,包括模型、工具和对话逻辑。
  • Harness 管理一次执行,包括上下文、策略、生命周期和遥测。
  • Hosted Agents 提供托管运行环境,降低团队自行部署和维护运行时的成本。
  • Copilot 与 Claude Agent SDK 连接器让现有 Agent 能力进入统一编排流程。

GA 在这里很关键。它意味着这些组件不再只是用于验证想法的预览能力,而是进入有正式支持预期的稳定发布阶段。不过,GA 不等于业务逻辑天然可靠:工具权限、数据边界和人工审批仍需由应用团队设计。

多 Agent 编排真正难在边界,而不是数量

稳定版编排模式让团队可以组合专门化 Agent,例如让一个 Agent 分析工单,另一个查询资产,第三个生成处理建议。但生产系统不应让多个 Agent 随意互相调用。更稳妥的做法是为每个角色定义输入、输出和权限,并由编排器控制状态流转。

例如,一个运维工单流程可以拆成三步:

  1. triage 只读取工单并输出结构化分类。
  2. investigator 只能调用只读监控和资产工具。
  3. executor 涉及变更时必须等待人工批准。

这样的拆分可以缩小单个 Agent 的权限,也能在审计日志中回答“哪个角色基于什么输入作出了什么决定”。反过来,如果所有 Agent 共享同一组高权限凭据,即使编排图看起来很清晰,治理仍然只是表面工作。

可以这样实践:先把运行策略写成配置

下面是一个可直接改造的最小示例。这是基于摘要所体现的平台方向设计的通用配置,并非 Microsoft 产品配置格式。 它适合在接入实际 Harness API 前验证权限、超时、重试和人工审批边界。

将以下内容保存为 agent-policy.yaml

version: 1
workflow: incident-response

runtime:
  timeout_seconds: 120
  max_steps: 8
  retries: 1

agents:
  triage:
    connector: github-copilot
    tools:
      allow:
        - ticket.read
    output_schema: incident_classification

  investigator:
    connector: claude-agent-sdk
    tools:
      allow:
        - metrics.read
        - assets.read
    output_schema: investigation_report

  executor:
    connector: internal-change-agent
    tools:
      allow:
        - change.create
    approval:
      required: true
      approver_group: sre-oncall

telemetry:
  trace_inputs: true
  trace_tool_calls: true
  redact:
    - authorization
    - customer_email

接着可以用下面的 Python 脚本检查关键治理规则。脚本只依赖 PyYAML,不调用任何未在摘要中说明的 Microsoft API,因此可以直接运行:

python -m venv .venv
. .venv/bin/activate
python -m pip install pyyaml

Windows PowerShell 使用:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install pyyaml

将检查器保存为 validate_policy.py

from pathlib import Path
import sys
import yaml

policy = yaml.safe_load(Path("agent-policy.yaml").read_text(encoding="utf-8"))
errors = []

runtime = policy.get("runtime", {})
if runtime.get("timeout_seconds", 0) <= 0:
    errors.append("runtime.timeout_seconds must be greater than zero")
if runtime.get("max_steps", 0) > 20:
    errors.append("runtime.max_steps must not exceed 20")

for name, agent in policy.get("agents", {}).items():
    allowed = set(agent.get("tools", {}).get("allow", []))
    mutating = {tool for tool in allowed if tool.endswith((".create", ".update", ".delete"))}
    approval_required = agent.get("approval", {}).get("required", False)
    if mutating and not approval_required:
        errors.append(f"{name}: mutating tools require explicit approval")

redacted = set(policy.get("telemetry", {}).get("redact", []))
if "authorization" not in redacted:
    errors.append("telemetry.redact must include authorization")

if errors:
    print("Policy validation failed:")
    for error in errors:
        print(f"- {error}")
    sys.exit(1)

print("Policy validation passed")

运行检查:

python validate_policy.py

接入真实 Agent Harness 时,可以保留这类平台无关策略,再编写适配层将 connector、工具白名单、审批要求和遥测设置映射到实际 SDK 或托管服务。这样做的价值是,治理规则不会散落在提示词、Agent 代码和部署脚本之中。

上线前应验证的四件事

权限是否按 Agent 分离。 不要因为多个 Agent 属于同一工作流,就让它们共享高权限身份。读取数据、提出建议和执行变更应使用不同授权范围。

失败是否可恢复。 编排流程需要明确哪些步骤可重试,哪些步骤必须保持幂等,哪些外部操作需要补偿。模型调用可以重试,并不代表支付、发信或基础设施变更也可以盲目重放。

追踪是否泄露敏感数据。 Harness 级遥测有助于定位工具调用和上下文传递问题,但提示词、工具参数及模型输出可能包含令牌、个人信息或业务机密。上线前应测试脱敏规则,而不是只检查日志是否生成。

连接器是否可以替换。 Copilot 和 Claude Agent SDK 连接器扩展了可用生态,但业务状态与供应商专属消息格式耦合过深,会提高迁移和降级成本。内部工作流最好使用稳定的结构化输入输出契约。

从小范围、可审计的工作流开始

Microsoft Agent Framework 进入 GA 后,团队评估它时不应只比较模型效果或 SDK 易用性。更重要的问题是:运行时能否执行统一策略,托管环境是否符合数据与网络要求,连接器能否纳入现有身份体系,以及每次 Agent 决策能否被追踪和复核。

适合率先迁移的是低风险、只读、结果可验证的流程,例如工单分类、知识检索和调查报告生成。涉及删除、付款、生产变更或对外通信的流程,应加入人工批准、幂等键和独立审计。Agent Harness 提供了平台基础,但可靠性仍来自清晰的权限边界、结构化契约和经过演练的失败处理。


相关推荐