[ PROMPT_NODE_23846 ]
Managed Agents 说明文档
[ SKILL_DOCUMENTATION ]
# 托管智能体 — Ruby
> **此处未展示绑定:** 本 README 涵盖了 Ruby 中最常见的托管智能体流程。如果您需要此处未展示的类、方法、命名空间、字段或行为,请使用 WebFetch 获取 Ruby SDK 仓库 **或相关文档页面**(来自 `shared/live-sources.md`),而不是进行猜测。不要根据 cURL 格式或其他语言的 SDK 进行推断。
> **智能体是持久的 — 创建一次,通过 ID 引用。** 存储 `client.beta.agents.create` 返回的智能体 ID,并将其传递给后续的每一个 `client.beta.sessions.create`;不要在请求路径中调用 `agents.create`。Anthropic CLI 是从版本控制的 YAML 创建智能体和环境的一种便捷方式 — 其 URL 位于 `shared/live-sources.md` 中。以下示例仅为完整性展示了代码内创建;在生产环境中,创建调用应属于设置阶段,而非请求路径。
## 安装
bash
gem install anthropic
## 客户端初始化
ruby
require "anthropic"
# 默认(使用 ANTHROPIC_API_KEY 环境变量)
client = Anthropic::Client.new
# 显式指定 API 密钥
client = Anthropic::Client.new(api_key: "your-api-key")
> ⚠️ **尾随下划线:** Ruby SDK 使用 `system_:` 和 `send_(`(尾随下划线)来避免遮蔽 `Kernel#system` 和 `Kernel#send`。在托管智能体代码中请始终使用这些形式。
---
## 创建环境
ruby
environment = client.beta.environments.create(
name: "my-dev-env",
config: {
type: "cloud",
networking: {type: "unrestricted"}
}
)
puts "Environment ID: #{environment.id}" # env_...
---
## 创建智能体(首要步骤)
> ⚠️ **没有内联智能体配置。** `model`/`system_`/`tools` 位于智能体对象上,而不是会话上。始终从 `client.beta.agents.create()` 开始 — 会话接受 `agent: agent.id` 或类型化哈希形式 `agent: {type: "agent", id: agent.id, version: agent.version}`。
### 极简示例
ruby
# 1. 创建智能体(可重用,带版本控制)
agent = client.beta.agents.create(
name: "Coding Assistant",
model: :"claude-opus-4-7",
system_: "You are a helpful coding assistant.",
tools: [{type: "agent_toolset_20260401"}]
)
# 2. 启动会话
session = client.beta.sessions.create(
agent: {type: "agent", id: agent.id, version: agent.version},
environment_id: environment.id,
title: "Quickstart session"
)
puts "Session ID: #{session.id}"
### 更新智能体
更新会创建新版本;智能体对象在每个版本中是不可变的。
ruby