Skip to content

Claude Managed Agents发布:让Agentic AI工作流成为现实

2026年4月28日

Claude Managed Agents发布:让Agentic AI工作流成为现实

你在逻辑上花的时间比产品还多——Agent循环、工具执行、上下文管理、沙箱隔离和会话处理,所有这些只能从头开始连接。Claude Managed Agents承诺解决这个问题:不再是需要包装的API,而是直接提供一个运行时。

两个产品

Claude Managed Agents

一个完全托管的Agent运行环境,运行在Anthropic的基础设施上。你定义Agent,发送任务,Anthropic的云处理其他一切:容器、工具、执行和会话。

Claude Agent SDK

一个Python和TypeScript库,将驱动Claude Code的相同Agent循环嵌入到你自己的应用中。你自己托管它,但所有困难的部分都是预构建的。

产品Agent运行位置
SDK你自己的基础设施内
Managed AgentsAnthropic的云上,完全托管

四个构建块

构建块说明
Agent配置:模型、系统提示、工具、MCP服务器和技能。定义一次,通过ID重用
Environment云容器:预安装包(Python、Node.js、Go等)、网络访问规则、挂载文件
SessionAgent在环境中的一个运行实例,执行特定任务
Events应用和Agent之间流动的消息:用户轮次、工具结果、状态更新、流式响应

代码示例

创建Agent(做一次)

python
import anthropic

client = anthropic.Anthropic()

# 创建Agent — 做一次,通过ID重用
agent = client.beta.agents.create(
    model="claude-sonnet-4-6",
    system="你是一个软件工程师。修复bug,运行测试,并报告结果。",
    tools=[{"type": "bash"}, {"type": "file_operations"}, {"type": "web_search"}],
    name="bug-fixer"
)

print(agent.id)  # 保存这个 — 你将在会话中引用它

启动会话并发送任务

python
# 创建一个包含Agent所需包的环境
environment = client.beta.environments.create(
    packages=["pytest", "requests"]
)

# 启动一个使用你的Agent和环境的会话
session = client.beta.sessions.create(
    agent_id=agent.id,
    environment_id=environment.id
)

# 将你的任务作为事件发送
response = client.beta.sessions.events.create(
    session_id=session.id,
    content="找出并修复auth.py中失败的测试"
)

Agent循环是如何工作的

Claude不会响应一次然后等待。它运行一个持续的循环:接收提示、评估任务、调用工具、处理结果、重复——直到任务完成。

实际任务示例

任务:「找出并修复auth.py中失败的测试」

轮次动作
第1轮Claude通过Bash运行测试套件,返回三个失败
第2轮Claude读取测试文件以理解问题
第3轮Claude编辑文件并重新运行测试,三个全部通过
最后一轮Claude返回没有工具调用的文本响应,任务完成

流式代码示例

python
import anthropic

client = anthropic.Anthropic()

async for event in client.beta.sessions.stream(
    session_id=session.id,
    event={
        "type": "user",
        "content": "找出并修复auth.py中失败的测试"
    }
):
    # 看看每轮Claude在做什么
    if event.type == "assistant_message":
        print(event.content)

    # 捕获最终结果
    if event.type == "result":
        print(f"完成: {event.result}")
        print(f"使用的轮数: {event.num_turns}")
        print(f"成本: ${event.total_cost_usd:.4f}")

上下文管理:自动压缩

每轮都会添加到上下文窗口:提示、工具定义、文件读取、命令输出和对话历史。一旦达到限制,会话就会死亡。

Managed Agents自动处理:当上下文窗口接近限制时,系统通过总结较旧的历史来压缩对话以释放空间,同时保持最近的交换和关键决策完整。

三个控制

1. Effort Level

控制每轮Claude推理的深度。要深思熟虑地设置,因为它会影响Token使用和成本。

2. Max Turns and Budget

在循环失控之前设置上限:

python
session = client.beta.sessions.create(
    agent_id=agent.id,
    environment_id=environment.id,
    max_turns=20,          # 20轮后停止
    max_budget_usd=0.50    # 或者当花费达到$0.50
)

当任一限制达到时,会话返回一个明确的子类型结果,如果需要可以用会话ID恢复。

3. Permission Mode

控制Claude在不询问的情况下能做什么:

模式说明
default通过回调gates任何未预先批准的内容
acceptEdits自动批准文件编辑,仍然gates shell命令
bypassPermissions在隔离容器和CI中无提示地运行一切

中途引导会话

当会话运行时,可以发送额外的事件来重定向、添加上下文或停止:

python
# 发送会话中途的纠正
client.beta.sessions.events.create(
    session_id=session.id,
    content="实际上,只修复auth_token测试 — 不要管login测试"
)

会话持久:捕获会话ID,可以在中断的地方继续:

python
# 恢复之前的会话
async for event in client.beta.sessions.stream(
    session_id="sess_abc123",   # 来自之前的运行
    event={"type": "user", "content": "继续 — 现在也修复payment模块"}
):
    if event.type == "result":
        print(event.result)

完整工具集

文件操作

工具说明
Read读取容器中的任何文件
Write创建新文件
Edit修改现有文件

搜索

工具说明
Glob按模式查找文件
Grep用正则表达式搜索内容

执行

工具说明
Bash运行shell命令、脚本、git操作、安装包、运行测试

Web

工具说明
WebSearch搜索互联网
WebFetch从任何URL获取和解析完整页面内容

编排

工具说明
Task生成用于隔离工作的子代理
Skill调用可重用的工作流
AskUserQuestion暂停并请求人工输入
TodoWrite在会话中跟踪多步骤工作

除了内置工具,还可以通过MCP服务器连接外部服务并定义自定义工具。

入门

前置条件

  • 来自platform.claude.com的Claude API密钥
  • 所有请求上的managed-agents-2026-04-01测试版header
  • Python或TypeScript SDK(SDK自动设置header)

安装SDK

bash
pip install anthropic

设置API密钥

bash
export ANTHROPIC_API_KEY=your-api-key

第一个工作Agent(不到20行)

python
import anthropic
import asyncio

client = anthropic.Anthropic()

async def main():
    agent = client.beta.agents.create(
        model="claude-sonnet-4-6",
        system="你是一个有用的工程助手。",
        tools=[{"type": "bash"}, {"type": "file_operations"}],
        name="my-first-agent"
    )

    environment = client.beta.environments.create(
        packages=["pytest"]
    )

    session = client.beta.sessions.create(
        agent_id=agent.id,
        environment_id=environment.id,
        max_turns=10,
        max_budget_usd=0.25
    )

    async for event in client.beta.sessions.stream(
        session_id=session.id,
        event={"type": "user", "content": "列出这个目录中的所有Python文件"}
    ):
        if event.type == "result":
            print(event.result)
            print(f"成本: ${event.total_cost_usd:.4f}")

asyncio.run(main())

总结

要点说明
托管运行时不再拼接脚本,直接发送任务
四大构建块Agent + Environment + Session + Events
自动上下文管理接近限制时自动压缩
三控制Effort + Budget + Permissions
完整工具集文件/搜索/执行/Web/编排

过去几周的基础设施工作现在变成了配置文件和API调用。这是快速构建生产级Agent的一大步。


关键词:Claude Managed Agents, Anthropic, Agent运行时, 托管Agent, Agent循环, 上下文管理

不要孤军奋战啦!

加入微信群一起学习交流 AI

与大神一起使用 OpenClaw、Hermes、Claude Code、Seedance 2.0、GPT-Image-2 等

微信公众号

扫码关注微信公众号
私信 "加群",将自动获取微信群二维码

探索 AI 世界,掌握智能未来