Microsoft Agent Framework 正式 GA:智能体开发进入受治理运行时阶段

2026-08-03 39 预计阅读时间: 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 进入正式可用阶段,微软正在把关注点从“如何编写智能体”推进到“如何稳定、可控地运行智能体”。在 Build 2026 发布并逐步稳定的能力中,还包括 GitHub Copilot、Claude Agent SDK 连接器以及多种编排模式。

这意味着团队评估智能体框架时,不能只看模型调用是否方便、工具接口是否简洁,还要回答运行隔离、权限审批、执行追踪、失败恢复和版本治理等工程问题。

Agent Harness 改变了运行边界

传统 Agent SDK 通常解决三个核心问题:构造提示词、调用模型、注册工具。应用进程本身仍然承担调度、状态管理、凭据注入和错误处理。一旦智能体能够修改代码、访问工单或执行外部命令,这种做法会迅速放大风险。

Agent Harness 的价值在于为智能体执行提供受支持的运行边界。结合来源摘要,可以把它理解为平台层的一次前移:开发者仍然编写智能体逻辑,但运行时开始承担更多标准化职责。

这种变化会影响系统设计:

  • 智能体定义与执行环境需要解耦,避免把业务逻辑、密钥和模型会话塞进同一个常驻进程。
  • 工具调用应被视为具有权限和副作用的操作,而不是普通函数调用。
  • GitHub Copilot 与 Claude Agent SDK 等连接器应位于明确的适配层后面,业务工作流不应依赖某个连接器的私有消息格式。
  • 编排流程需要记录任务、步骤、审批和输出,以便故障排查与审计。

GA 并不代表所有治理问题都会自动解决。它表示相关运行能力已经进入可获得正式支持的阶段;具体提供哪些隔离、身份、网络和审计控制,仍需按照实际产品文档及部署环境逐项验证。

从单个 Agent 转向可治理的工作流

智能体原型往往只有一条直线:接收请求、调用模型、执行工具、返回结果。生产工作流更像一个带状态的任务系统。例如,代码维护智能体可能需要经过以下步骤:

  1. 读取仓库和问题描述。
  2. 生成修改计划,但暂不写入代码。
  3. 在权限允许的工作区内实施修改。
  4. 运行测试并收集结果。
  5. 对发布、合并或生产变更请求人工审批。

这里的关键不是使用多少个 Agent,而是每一步是否有明确的输入、输出、权限和终止条件。所谓编排模式进入稳定版本,真正值得关注的是团队能否把上述流程表达为可观察、可恢复的执行图,而不是堆叠更多自主循环。

连接器同样应该被当成基础设施依赖管理。可以为每种连接器定义统一契约,例如 prepareexecutecancelcollect_result,再由适配器处理不同 SDK 的会话与事件格式。这样更换模型提供方或增加新的执行后端时,不必重写整个业务流程。

可以这样实践:在部署前验证 Agent 策略

下面是一个独立于具体微软 API 的最小治理示例。它不是 Agent Framework 或 Foundry 的官方配置格式,而是团队可以放进仓库和 CI 的部署前策略。运行前需要安装 Python 3.10 以上版本和 PyYAML。

创建 agent-policy.yaml

version: 1
agent:
  name: repo-maintainer
  environment: staging

connectors:
  allowed:
    - github-copilot
    - claude-agent-sdk

tools:
  allowed:
    - repository.read
    - repository.write
    - tests.run
  denied:
    - production.deploy
    - secrets.export

limits:
  max_steps: 20
  timeout_seconds: 900

approval:
  required_for:
    - pull_request.merge
    - production.deploy

再创建 validate_policy.py

from pathlib import Path
import sys
import yaml

REQUIRED_APPROVALS = {"pull_request.merge", "production.deploy"}
FORBIDDEN_TOOLS = {"secrets.export"}


def main() -> int:
    path = Path(sys.argv[1] if len(sys.argv) > 1 else "agent-policy.yaml")
    policy = yaml.safe_load(path.read_text(encoding="utf-8"))

    errors = []
    agent = policy.get("agent", {})
    allowed = set(policy.get("tools", {}).get("allowed", []))
    approvals = set(policy.get("approval", {}).get("required_for", []))
    limits = policy.get("limits", {})

    if not agent.get("name"):
        errors.append("agent.name is required")
    if allowed & FORBIDDEN_TOOLS:
        errors.append("forbidden tools cannot appear in tools.allowed")
    if not REQUIRED_APPROVALS.issubset(approvals):
        errors.append("merge and production deployment must require approval")
    if not 1 <= limits.get("max_steps", 0) <= 50:
        errors.append("limits.max_steps must be between 1 and 50")
    if not 1 <= limits.get("timeout_seconds", 0) <= 3600:
        errors.append("limits.timeout_seconds must be between 1 and 3600")

    if errors:
        for error in errors:
            print(f"ERROR: {error}")
        return 1

    print(f"Policy accepted for agent: {agent['name']}")
    return 0


if __name__ == "__main__":
    raise SystemExit(main())

执行验证:

python -m venv .venv
. .venv/bin/activate
python -m pip install PyYAML
python validate_policy.py agent-policy.yaml

在 Windows PowerShell 中,将激活命令替换为:

.venv\Scripts\Activate.ps1

这个例子没有假设 Agent Harness 的具体 API,而是展示一条可落地的治理路径:将连接器白名单、工具权限、执行上限和人工审批写成版本化配置,再由 CI 在部署 Hosted Agent 之前进行验证。接入真实平台时,可以把验证通过的配置转换为平台支持的部署参数。

采用 GA 平台前应检查什么

从 SDK 转向托管运行时,团队会减少部分运行维护工作,但也会引入平台依赖。正式采用前,建议完成以下检查:

  • 确认 Harness、Hosted Agents、连接器和编排组件各自的支持范围,不要把其中一个组件的 GA 状态推断为整套依赖全部 GA。
  • 验证身份传播方式,明确 Agent、最终用户与工具服务分别使用什么身份。
  • 检查网络出口、密钥存储、数据驻留、日志保留和敏感字段脱敏能力。
  • 为工具调用设置默认拒绝策略,对写入、合并、部署和删除操作增加审批。
  • 测试超时、重复事件、部分执行成功、连接器不可用和模型拒答等异常路径。
  • 保存 Agent 定义、提示词、工具版本和策略版本,使一次执行能够被解释和复现。

Agent Harness 和 Foundry Hosted Agents 的 GA,标志着 Microsoft Agent Framework 开始具备更明确的生产运行定位。真正的收益不会来自把现有聊天循环原样搬进托管环境,而是来自重新划分责任:SDK负责表达智能体行为,连接器负责适配执行后端,编排层负责推进任务,而运行平台负责承载受约束、可观察的执行。团队越早把权限、审批和故障边界写进系统设计,越容易把智能体从演示功能变成可运营的软件能力。


相关推荐