[ PROMPT_NODE_23818 ]
Managed Agents 说明文档
[ SKILL_DOCUMENTATION ]
# 托管智能体 (Managed Agents) — Go
> **此处未显示绑定:** 本 README 涵盖了 Go 中最常见的托管智能体流程。如果您需要此处未显示的类、方法、命名空间、字段或行为,请查阅 Go SDK 仓库或 `shared/live-sources.md` 中的相关文档页面,而不是进行猜测。请勿根据 cURL 格式或其他语言的 SDK 进行推断。
> **智能体是持久化的 — 创建一次,通过 ID 引用。** 存储 `agents.New` 返回的智能体 ID,并将其传递给后续的每一个 `sessions.New`;不要在请求路径中调用 `agents.New`。Anthropic CLI 是从版本控制的 YAML 创建智能体和环境的一种便捷方式 — 其 URL 位于 `shared/live-sources.md` 中。以下示例为了完整性展示了代码内创建方式;在生产环境中,创建调用应属于设置阶段,而不是请求路径。
## 安装
bash
go get github.com/anthropics/anthropic-sdk-go
## 客户端初始化
go
import (
"context"
"github.com/anthropics/anthropic-sdk-go"
"github.com/anthropics/anthropic-sdk-go/option"
)
// 默认(使用 ANTHROPIC_API_KEY 环境变量)
client := anthropic.NewClient()
// 显式指定 API 密钥
client := anthropic.NewClient(
option.WithAPIKey("your-api-key"),
)
ctx := context.Background()
---
## 创建环境
go
environment, err := client.Beta.Environments.New(ctx, anthropic.BetaEnvironmentNewParams{
Name: "my-dev-env",
Config: anthropic.BetaCloudConfigParams{
Networking: anthropic.BetaCloudConfigParamsNetworkingUnion{
OfUnrestricted: &anthropic.UnrestrictedNetworkParam{},
},
},
})
if err != nil {
panic(err)
}
fmt.Println(environment.ID) // env_...
---
## 创建智能体 (必需的第一步)
> ⚠️ **没有内联智能体配置。** `Model`、`System` 和 `Tools` 位于智能体对象上,而不是会话上。请务必从 `Beta.Agents.New()` 开始 — 会话仅接受 `Agent: anthropic.BetaSessionNewParamsAgentUnion{OfString: anthropic.String(agent.ID)}`(或者在需要特定版本时使用类型化的 `OfBetaManagedAgentsAgents` 变体)。
### 最小化配置
go
// 1. 创建智能体(可重用,带版本)
agent, err := client.Beta.Agents.New(ctx, anthropic.BetaAgentNewParams{
Name: "Coding Assistant",
Model: anthropic.BetaManagedAgentsModelConfigParams{
ID: "claude-opus-4-7",
Type: anthropic.BetaManagedAgentsModelConfigParamsTypeModelConfig,
},
System: anthropic.String("You are a helpful coding assistant.