managed-agent

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Managed Agent (Anthropic cloud runtime)

托管Agent(Anthropic云端运行时)

ruflo-agent
has two agent runtimes behind one mental model:
RuntimeToolsUse it when
WASM (local,
rvagent
)
wasm_agent_*
/
wasm_gallery_*
fast, free, ephemeral, offline, untrusted code in a sandbox
Managed (Anthropic cloud)
managed_agent_*
(this skill)
long-running / async work (minutes–hours), a real cloud container with pre-installed packages + network, persistent filesystem + transcript across turns
This skill drives the managed runtime — Anthropic's Claude Managed Agents (beta). The model: Agent (model + system + tools + MCP servers + skills) → Environment (container template) → Session (running instance) → Events (turns / tool-use / status, persisted server-side). See
docs/adr/0001-wasm-contract.md
and project ADR-115.
ruflo-agent
在统一的概念模型下包含两种Agent运行时:
RuntimeTools适用场景
WASM(本地,
rvagent
wasm_agent_*
/
wasm_gallery_*
快速、免费、临时、离线运行,可在沙箱中处理不可信代码
Managed(Anthropic云端)
managed_agent_*
(本技能)
长时间/异步任务(数分钟至数小时),具备预装软件包与网络能力的真实云端容器,跨轮次持久化文件系统与对话记录
本技能用于驱动托管运行时——Anthropic的Claude托管Agent(测试版)。模型架构:Agent(模型+系统配置+工具+MCP服务器+技能)→ Environment(容器模板)→ Session(运行实例)→ Events(对话轮次/工具调用/状态,服务器端持久化)。详见
docs/adr/0001-wasm-contract.md
与项目ADR-115。

Prerequisites

前置条件

  • ANTHROPIC_API_KEY
    (or
    CLAUDE_API_KEY
    ) in the environment, with Claude Managed Agents beta access.
  • If absent, every
    managed_agent_*
    tool returns a structured "use
    wasm_agent_create
    for a local no-key runtime" error — fall back to the WASM skill.
  • 环境中需配置
    ANTHROPIC_API_KEY
    (或
    CLAUDE_API_KEY
    ),且拥有Claude托管Agent测试版访问权限。
  • 若未配置,所有
    managed_agent_*
    工具将返回结构化错误提示“使用
    wasm_agent_create
    启动无需密钥的本地运行时”,并自动回退至WASM技能。

Steps

操作步骤

  1. Create
    mcp__claude-flow__managed_agent_create
    { model?, system?, name?, networking?, packages?, initScript?, mcpServers?, skills? }
    { sessionId, agentId, environmentId, status }
    . Provisions Agent + Environment + Session. Save the three ids.
    • mcpServers
      :
      [{type:"url", url, name, authorization_token?}]
      — the cloud agent must be able to reach the URL. A local
      ruflo mcp start
      is not reachable from Anthropic's cloud; deploy/tunnel an HTTP ruflo MCP server first if you want the cloud agent to have ruflo's tools.
    • packages
      :
      {pip?:[], npm?:[], apt?:[], cargo?:[], gem?:[], go?:[]}
      — installed in the container.
  2. Prompt
    mcp__claude-flow__managed_agent_prompt
    { sessionId, message, maxWaitMs? }
    → sends a user turn, polls the event log until the session goes idle (default 180s, capped 600s) →
    { finished, status, stopReason, assistantText, toolUses[], eventCount }
    . For very long tasks, raise
    maxWaitMs
    or follow up with
    managed_agent_events
    .
  3. Inspect
    mcp__claude-flow__managed_agent_status
    { sessionId }
    (idle/running/error) ·
    mcp__claude-flow__managed_agent_events
    { sessionId, raw? }
    (full transcript: user turns, agent thinking, tool_use, tool_result, status — the cloud counterpart of
    wasm_agent_files
    ).
  4. List
    mcp__claude-flow__managed_agent_list
    { limit? }
    — every session on the org (so you can see which are still running / billing).
  5. Terminate
    mcp__claude-flow__managed_agent_terminate
    { sessionId, environmentId? }
    always do this when done: a cloud session keeps billing container time + tokens until deleted. Pass
    environmentId
    to also delete the environment ruflo created.
  1. 创建
    mcp__claude-flow__managed_agent_create
    { model?, system?, name?, networking?, packages?, initScript?, mcpServers?, skills? }
    { sessionId, agentId, environmentId, status }
    。完成Agent、Environment与Session的部署。请保存这三个ID。
    • mcpServers
      :
      [{type:"url", url, name, authorization_token?}]
      — 云端Agent必须能够访问该URL。本地启动的
      ruflo mcp start
      无法被Anthropic云端访问;若需让云端Agent使用ruflo工具,请先部署或通过隧道暴露HTTP版ruflo MCP服务器。
    • packages
      :
      {pip?:[], npm?:[], apt?:[], cargo?:[], gem?:[], go?:[]}
      — 将在容器中安装的软件包。
  2. 发起提示
    mcp__claude-flow__managed_agent_prompt
    { sessionId, message, maxWaitMs? }
    → 发送用户对话轮次,轮询事件日志直至Session进入空闲状态(默认180秒,上限600秒)→
    { finished, status, stopReason, assistantText, toolUses[], eventCount }
    。对于超长任务,可提高
    maxWaitMs
    或后续使用
    managed_agent_events
    跟进。
  3. 检查状态
    mcp__claude-flow__managed_agent_status
    { sessionId }
    (返回idle/running/error状态)·
    mcp__claude-flow__managed_agent_events
    { sessionId, raw? }
    (完整对话记录:用户轮次、Agent思考过程、tool_use、tool_result、状态——对应本地
    wasm_agent_files
    的云端版本)。
  4. 列出会话
    mcp__claude-flow__managed_agent_list
    { limit? }
    — 列出组织下所有会话(可查看哪些会话仍在运行/计费)。
  5. 终止会话
    mcp__claude-flow__managed_agent_terminate
    { sessionId, environmentId? }
    完成任务后务必执行此操作:云端会话会持续产生容器时长与令牌费用,直至删除。传入
    environmentId
    可同时删除ruflo创建的环境。

Cost & safety

成本与安全

  • Managed Agents bill per session (LM tokens + container time) and are rate-limited per org. Estimate before a long run; record completed sessions to the
    cost-tracking
    namespace.
  • Treat orphaned sessions like leaked resources —
    managed_agent_list
    then
    managed_agent_terminate
    anything stale.
  • Beta API (
    managed-agents-2026-04-01
    );
    multiagent
    /
    define-outcomes
    on the agent config are research preview.
  • 托管Agent按会话计费(包含大模型令牌费用+容器时长),且按组织设置速率限制。执行长任务前请估算成本;将已完成会话记录至
    cost-tracking
    命名空间。
  • 孤立会话视为资源泄漏——使用
    managed_agent_list
    列出会话,再用
    managed_agent_terminate
    清理过期会话。
  • 测试版API(
    managed-agents-2026-04-01
    );Agent配置中的
    multiagent
    /
    define-outcomes
    为研究预览功能。

Quick example

快速示例

managed_agent_create  { "model": "claude-haiku-4-5-20251001", "system": "Terse. Do exactly what is asked.", "name": "scratch" }
  → { sessionId: "sesn_…", agentId: "agent_…", environmentId: "env_…", status: "idle" }
managed_agent_prompt  { "sessionId": "sesn_…", "message": "echo hello > /tmp/x && cat /tmp/x — then stop." , "maxWaitMs": 60000 }
  → { finished: true, status: "idle", stopReason: "end_turn", assistantText: "Done.", toolUses: [{name:"bash", input:{command:"echo hello > /tmp/x && cat /tmp/x"}}] }
managed_agent_terminate { "sessionId": "sesn_…", "environmentId": "env_…" }
  → { sessionDeleted: true, environmentDeleted: true }
managed_agent_create  { "model": "claude-haiku-4-5-20251001", "system": "Terse. Do exactly what is asked.", "name": "scratch" }
  → { sessionId: "sesn_…", agentId: "agent_…", environmentId: "env_…", status: "idle" }
managed_agent_prompt  { "sessionId": "sesn_…", "message": "echo hello > /tmp/x && cat /tmp/x — then stop." , "maxWaitMs": 60000 }
  → { finished: true, status: "idle", stopReason: "end_turn", assistantText: "Done.", toolUses: [{name:"bash", input:{command:"echo hello > /tmp/x && cat /tmp/x"}}] }
managed_agent_terminate { "sessionId": "sesn_…", "environmentId": "env_…" }
  → { sessionDeleted: true, environmentDeleted: true }